*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.max-w-md{max-width:28rem}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.justify-center{justify-content:center}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:.5}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}:root{--primary-color:#3498db;--primary-rgb:52, 152, 219;--primary-dark:#2980b9;--secondary-color:#2ecc71;--secondary-rgb:46, 204, 113;--secondary-dark:#27ae60;--accent-color:#9b59b6;--accent-rgb:155, 89, 182;--warning-color:#f39c12;--warning-rgb:243, 156, 18;--danger-color:#e74c3c;--danger-rgb:231, 76, 60;--success-color:#27ae60;--success-rgb:39, 174, 96;--success-dark:#229954;--info-color:#3498db;--info-rgb:52, 152, 219;--info-dark:#2980b9;--dark-color:#34495e;--dark-rgb:52, 73, 94;--dark-dark:#2c3e50;--light-color:#ecf0f1;--light-rgb:236, 240, 241;--light-dark:#bdc3c7;--muted-color:#95a5a6;--muted-rgb:149, 165, 166;--muted-dark:#7f8c8d;--light-gray:#f5f5f5;--medium-gray:#e0e0e0;--dark-gray:#777;--text-color:#333;--text-light:#666;--white:#fff;--shadow:0 2px 10px #0000001a;--shadow-strong:0 5px 15px #00000026;--radius:8px;--transition:all .3s ease;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--sidebar-width:250px;--header-height:60px;--font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{font-family:var(--font-family);color:var(--text-color);background-color:var(--light-gray);max-width:100vw;line-height:1.5;overflow-x:hidden}.app{min-height:100vh;display:flex;position:relative;overflow-x:hidden}.main-content{transition:var(--transition);flex:1;min-width:0;max-width:100%;margin-left:0}@media (width>=992px){.main-content{margin-left:var(--sidebar-width)}}.content{padding:var(--spacing-md);padding-top:calc(var(--header-height) + var(--spacing-md));min-height:100vh}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);font-weight:600;line-height:1.2}h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}p{margin-bottom:var(--spacing-md)}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.btn,.btn-outline,.btn-secondary,.btn-danger,.btn-sm,.btn-lg{opacity:1!important}.btn *,.btn-outline *,.btn-secondary *,.btn-danger *{color:inherit!important;opacity:1!important}input,select,textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);width:100%;transition:var(--transition);font-family:inherit;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3498db33}.card{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);margin-bottom:var(--spacing-md);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-strong)}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);transition:var(--transition);background-color:var(--primary-color);color:var(--white);border:1px solid var(--primary-color);justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);color:var(--white)!important}.btn-secondary:hover{background-color:var(--secondary-dark);border-color:var(--secondary-dark);color:var(--white)!important}.btn-outline{border:1px solid var(--primary-color)!important;color:var(--primary-color)!important;background-color:#0000!important}.btn-outline:hover{background-color:var(--primary-color)!important;color:var(--white)!important;border-color:var(--primary-color)!important}.btn-danger{background-color:var(--danger-color);color:var(--white);border:1px solid var(--danger-color)}.btn-danger:hover{background-color:#c82333;border-color:#c82333;color:var(--white)!important}.btn-lg{padding:12px 20px;font-size:18px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid{grid-gap:var(--spacing-md);display:grid}.grid-cols-1{grid-template-columns:1fr}@media (width>=768px){.grid-cols-2-md{grid-template-columns:repeat(2,1fr)}}@media (width>=992px){.grid-cols-3-lg{grid-template-columns:repeat(3,1fr)}.grid-cols-4-lg{grid-template-columns:repeat(4,1fr)}}.text-center{text-align:center}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--secondary-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}.overflow-y-auto,.overflow-auto,.scrollable,[style*="overflow-y: auto"],[style*="overflow: auto"]{scrollbar-width:none;-ms-overflow-style:none}.overflow-y-auto::-webkit-scrollbar{display:none}.overflow-auto::-webkit-scrollbar{display:none}.scrollable::-webkit-scrollbar{display:none}[style*="overflow-y: auto"]::-webkit-scrollbar{display:none}[style*="overflow: auto"]::-webkit-scrollbar{display:none}.modal-content,.modal-body{scrollbar-width:none;-ms-overflow-style:none}.modal-content::-webkit-scrollbar{display:none}.modal-body::-webkit-scrollbar{display:none}.sidebar,.sidebar-content{scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-content::-webkit-scrollbar{display:none}.appointment-calendar,.calendar-container,.day-appointments,.week-appointments,.month-appointments{scrollbar-width:none;-ms-overflow-style:none}.appointment-calendar::-webkit-scrollbar{display:none}.calendar-container::-webkit-scrollbar{display:none}.day-appointments::-webkit-scrollbar{display:none}.week-appointments::-webkit-scrollbar{display:none}.month-appointments::-webkit-scrollbar{display:none}.table-container,.data-table,.table-wrapper{scrollbar-width:none;-ms-overflow-style:none}.table-container::-webkit-scrollbar{display:none}.data-table::-webkit-scrollbar{display:none}.table-wrapper::-webkit-scrollbar{display:none}textarea,select[size],input[type=file]{scrollbar-width:none;-ms-overflow-style:none}textarea::-webkit-scrollbar{display:none}select[size]::-webkit-scrollbar{display:none}input[type=file]::-webkit-scrollbar{display:none}.chat-container,.chat-sidebar,.chat-main,.messages-list,.message-container{scrollbar-width:none;-ms-overflow-style:none}.chat-container::-webkit-scrollbar{display:none}.chat-sidebar::-webkit-scrollbar{display:none}.chat-main::-webkit-scrollbar{display:none}.messages-list::-webkit-scrollbar{display:none}.message-container::-webkit-scrollbar{display:none}.patients-list,.patient-list{scrollbar-width:none;-ms-overflow-style:none}.patients-list::-webkit-scrollbar{display:none}.patient-list::-webkit-scrollbar{display:none}.dashboard,.dashboard-content,.stats-container{scrollbar-width:none;-ms-overflow-style:none}.dashboard::-webkit-scrollbar{display:none}.dashboard-content::-webkit-scrollbar{display:none}.stats-container::-webkit-scrollbar{display:none}.header{height:var(--header-height);background-color:var(--white);box-shadow:var(--shadow);padding:0 var(--spacing-md);z-index:500;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-left{align-items:center;display:flex}.header-left h1{margin-bottom:0;margin-left:var(--spacing-md);font-size:18px}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;padding:0;display:flex}.menu-toggle span{background-color:var(--text-color);width:100%;height:2px;transition:var(--transition);display:block}.header-right{align-items:center;display:flex}.search-container{margin-right:var(--spacing-md);display:none;position:relative}.search-input{width:250px;padding-right:40px}.search-button{color:var(--dark-gray);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.notification-button{color:var(--text-color);margin-right:var(--spacing-md);cursor:pointer;padding:var(--spacing-sm);background:0 0;border:none;position:relative}.notification-badge{background-color:var(--danger-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:flex;position:absolute;top:0;right:0}.user-profile{cursor:pointer;align-items:center;display:flex;position:relative}.avatar{width:36px;height:36px;margin-right:var(--spacing-sm);border-radius:50%;overflow:hidden}.avatar-placeholder{background-color:var(--primary-color);width:100%;height:100%;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.user-info{display:none}.user-name{font-size:14px;font-weight:600;display:block}.user-role{color:var(--text-light);font-size:12px}.logout-button{color:var(--text-light);cursor:pointer;padding:var(--spacing-sm);margin-left:var(--spacing-sm);border-radius:var(--radius);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.edit-profile-button{color:var(--text-light);cursor:pointer;padding:var(--spacing-sm);margin-left:var(--spacing-sm);border-radius:var(--radius);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.edit-profile-button:hover{color:var(--primary-color);background-color:#3498db1a}@media (width<=768px){.modal-content{width:100%;min-width:auto;max-height:95vh;padding:var(--spacing-md)}.modal-container{width:100%;max-width:95vw;margin:10px}}@media (width<=480px){.modal-content{width:100%;min-width:auto;max-height:98vh;padding:var(--spacing-sm)}.modal-container{width:100%;max-width:98vw;margin:5px}}@media (width>=768px){.header-left h1{font-size:20px}.search-container,.user-info{display:block}}@media (width>=992px){.menu-toggle{display:none}.header-left h1{margin-left:0}}@media (width<=640px){.header{padding:0 8px}.cf-label{display:none}.call-frontdesk-button{margin-right:4px!important;padding:7px!important}}@media (width<=480px){.edit-profile-button{display:none}.header-left h1{font-size:16px}}.notif-toast{z-index:9999;cursor:pointer;background:#fff;border-left:4px solid #3b82f6;border-radius:12px;align-items:center;gap:12px;min-width:300px;max-width:420px;padding:14px 16px 14px 14px;animation:.25s cubic-bezier(.34,1.56,.64,1) toast-in;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-16px)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.notif-toast:hover{box-shadow:0 12px 40px #0003}.notif-toast-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notif-toast-body{flex:1;min-width:0}.notif-toast-title{color:#111827;margin-bottom:2px;font-size:.875rem;font-weight:700}.notif-toast-message{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.notif-toast-more{color:#3b82f6;margin-top:2px;font-size:.72rem;font-weight:600}.notif-toast-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:4px;transition:color .15s;display:flex}.notif-toast-close:hover{color:#374151}.notif-bell-wrap{align-items:center;display:flex;position:relative}.notif-bell-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background .15s,color .15s;display:flex;position:relative}.notif-bell-btn:hover{color:#111827;background:#f3f4f6}.notif-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.65rem;font-weight:700;line-height:1;animation:.2s ease-out notif-pop;display:flex;position:absolute;top:2px;right:2px}@keyframes notif-pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.notif-dropdown{z-index:9000;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:360px;animation:.18s ease-out notif-slide-in;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000026,0 2px 8px #00000014}@keyframes notif-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.notif-header-title{color:#111827;font-size:.875rem;font-weight:700}.notif-clear-all{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:500;transition:background .15s,color .15s}.notif-clear-all:hover{color:#dc2626;background:#fee2e2}.notif-list{max-height:420px;overflow-y:auto}.notif-list::-webkit-scrollbar{width:4px}.notif-list::-webkit-scrollbar-track{background:0 0}.notif-list::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.notif-item{cursor:pointer;border-bottom:1px solid #f9fafb;align-items:flex-start;gap:12px;padding:12px 16px;transition:background .12s;display:flex;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#f9fafb}.notif-item-high{border-left:3px solid #ef4444}.notif-item-medium{border-left:3px solid #f59e0b}.notif-item-low{border-left:3px solid #6b7280}.notif-icon-wrap{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-top:1px;display:flex}.notif-blue{color:#2563eb;background:#dbeafe}.notif-orange{color:#d97706;background:#fef3c7}.notif-purple{color:#7c3aed;background:#ede9fe}.notif-yellow{color:#b45309;background:#fef9c3}.notif-red{color:#dc2626;background:#fee2e2}.notif-green{color:#16a34a;background:#dcfce7}.notif-toast:has(.notif-blue){border-left-color:#2563eb}.notif-toast:has(.notif-green){border-left-color:#16a34a}.notif-toast:has(.notif-red){border-left-color:#dc2626}.notif-toast:has(.notif-orange){border-left-color:#d97706}.notif-toast:has(.notif-purple){border-left-color:#7c3aed}.notif-content{flex:1;min-width:0}.notif-title{color:#111827;margin-bottom:2px;font-size:.82rem;font-weight:600}.notif-message{color:#6b7280;margin-bottom:4px;font-size:.78rem;line-height:1.4}.notif-module-tag{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:600;display:inline-block}.notif-dismiss-btn{cursor:pointer;color:#d1d5db;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;margin-top:2px;padding:4px;transition:background .12s,color .12s;display:flex}.notif-dismiss-btn:hover{color:#dc2626;background:#fee2e2}.notif-empty{color:#9ca3af;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;display:flex}.notif-empty svg{opacity:.4}.notif-empty p{margin:0;font-size:.85rem}@media (width<=480px){.notif-dropdown{width:calc(100vw - 24px);right:-8px}}.sidebar{width:var(--sidebar-width);background-color:var(--white);box-shadow:var(--shadow);z-index:200;flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:199;background-color:#00000080;position:fixed;inset:0}.sidebar-header{height:var(--header-height);padding:0 var(--spacing-md);border-bottom:1px solid var(--medium-gray);justify-content:center;align-items:center;display:flex}.logo{color:var(--primary-color);align-items:center;font-size:18px;font-weight:700;display:flex}.logo svg{margin-right:var(--spacing-sm)}.logo-image{width:130px;margin-right:var(--spacing-sm);-o-object-fit:contain;object-fit:contain}.close-sidebar{color:var(--dark-gray);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-nav{padding:var(--spacing-md) 0;flex:1;overflow-y:auto}.sidebar-nav ul{margin:0;padding:0;list-style:none}.sidebar-nav li{margin-bottom:2px}.sidebar-nav li button{width:100%;padding:var(--spacing-md) var(--spacing-lg);color:var(--text-color);transition:var(--transition);text-align:left;background:0 0;border:none;align-items:center;text-decoration:none;display:flex}.sidebar-nav li button svg{margin-right:var(--spacing-md);color:var(--text-light);transition:var(--transition)}.sidebar-nav li button:hover{color:var(--primary-color);background-color:#3498db1a}.sidebar-nav li button:hover svg{color:var(--primary-color)}.sidebar-nav li.active button{color:var(--primary-color);border-left:3px solid var(--primary-color);background-color:#3498db1a}.sidebar-nav li.active button svg{color:var(--primary-color)}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--medium-gray)}.settings-button,.logout-button,.support-button{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--text-color);cursor:pointer;transition:var(--transition);border-radius:var(--radius);background:0 0;border:none;align-items:center;display:flex}.settings-button svg,.logout-button svg,.support-button svg{margin-right:var(--spacing-md)}.settings-button:hover,.logout-button:hover,.support-button:hover{color:var(--primary-color);background-color:#3498db1a}.support-button{color:var(--info-color)}.support-button:hover{color:var(--info-color);background-color:#3498db1a}.logout-button{color:var(--danger-color);margin-left:0}.logout-button:hover{color:var(--danger-color);background-color:#e74c3c1a}@media (width<=768px){.modal-content{width:100%;min-width:auto;max-height:95vh;padding:var(--spacing-md)}.modal-container{width:100%;max-width:95vw;margin:10px}}@media (width<=480px){.modal-content{width:100%;min-width:auto;max-height:98vh;padding:var(--spacing-sm)}.modal-container{width:100%;max-width:98vw;margin:5px}}@media (width>=992px){.sidebar{transform:translate(0)}.close-sidebar,.sidebar-backdrop{display:none}}.support-panel-backdrop{z-index:998;opacity:0;background-color:#0000004d;transition:opacity .3s;position:fixed;inset:0}.support-panel-backdrop.show{opacity:1}.support-panel{background:var(--white);z-index:999;flex-direction:column;width:450px;max-width:90vw;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-5px 0 15px #0000001a}.support-panel.open{transform:translate(0)}.support-panel-header{padding:var(--spacing-lg);border-bottom:1px solid var(--medium-gray);background:var(--light-gray);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.support-panel-title{align-items:center;gap:var(--spacing-md);display:flex}.support-panel-title svg{color:var(--primary-color);flex-shrink:0}.support-panel-title h2{color:var(--primary-color);margin:0;font-size:20px;font-weight:600}.support-panel-close{width:32px;height:32px;color:var(--text-light);cursor:pointer;border-radius:var(--radius);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.support-panel-close:hover{color:var(--danger-color);background-color:#e74c3c1a}.support-panel-content{padding:var(--spacing-lg);flex:1;overflow-y:auto}.support-form{flex-direction:column;height:100%;display:flex}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);transition:var(--transition);background-color:var(--white);font-size:14px}.form-group select{cursor:pointer}.form-group input::-moz-placeholder{color:var(--text-light);opacity:.7}.form-group textarea::-moz-placeholder{color:var(--text-light);opacity:.7}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light);opacity:.7}.alert{padding:var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md);align-items:center;font-size:14px;font-weight:500;display:flex}.alert svg{margin-right:var(--spacing-sm);flex-shrink:0}.alert-success{color:var(--success-color);background-color:#27ae601a;border:1px solid #27ae6033}.alert-error{color:var(--danger-color);background-color:#e74c3c1a;border:1px solid #e74c3c33}.form-actions{gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--medium-gray);justify-content:flex-end;margin-top:auto;display:flex}.form-actions .btn{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);transition:var(--transition);cursor:pointer;border:none;font-size:14px;font-weight:500;display:flex}.form-actions .btn-primary{background-color:var(--primary-color);color:var(--white)}.form-actions .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.form-actions .btn-outline{color:var(--text-color);border:1px solid var(--medium-gray);background-color:#0000}.form-actions .btn-outline:hover:not(:disabled){background-color:var(--light-gray);border-color:var(--text-light)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.support-panel{width:100vw;max-width:100vw}.support-panel-header,.support-panel-content{padding:var(--spacing-md)}.support-panel-title h2{font-size:18px}.form-actions{flex-direction:column}.form-actions .btn{justify-content:center;width:100%}}@media (width<=480px){.support-panel-header,.support-panel-content{padding:var(--spacing-sm)}.support-panel-title h2{font-size:16px}.support-panel-title svg{width:20px;height:20px}}.file-input{width:100%;padding:var(--spacing-sm);border:2px dashed var(--medium-gray);border-radius:var(--radius);background-color:var(--light-gray);cursor:pointer;transition:border-color .2s,background-color .2s}.file-input:hover{border-color:var(--primary-color);background-color:rgba(var(--primary-rgb), .05)}.file-help{margin-top:var(--spacing-xs);color:var(--muted-color);font-size:14px;display:block}.attachments-list{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--light-gray);border-radius:var(--radius);border:1px solid var(--medium-gray)}.attachments-list h4{margin:0 0 var(--spacing-sm) 0;color:var(--text-color);font-size:16px}.attachment-item{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background-color:var(--white);border:1px solid var(--medium-gray);border-radius:var(--radius);justify-content:space-between;align-items:center;display:flex}.attachment-item:last-child{margin-bottom:0}.file-name{color:var(--text-color);margin-right:var(--spacing-sm);flex:1;font-weight:500}.file-size{color:var(--muted-color);margin-right:var(--spacing-sm);font-size:14px}.remove-attachment{background:var(--danger-color);color:var(--white);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;transition:background-color .2s;display:flex}.remove-attachment:hover{background-color:var(--danger-dark)}.modal-backdrop{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-container{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-strong);width:auto;min-width:300px;max-width:90vw;max-height:90vh;animation:.3s ease-out slideIn;position:relative;overflow-y:auto}@media (width>=900px){.modal-container{width:auto;max-width:95vw}}.modal-close{color:var(--dark-gray);cursor:pointer;z-index:10;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:8px;position:absolute;top:5px;right:5px}@media (width<=768px){.modal-container{border-radius:8px;width:95vw;max-width:95vw;max-height:95vh;margin:10px}.modal-close{background-color:#ffffffe6;border-radius:50%;padding:10px;top:8px;right:8px;box-shadow:0 2px 4px #0000001a}.modal-close svg{width:20px;height:20px}.modal-content{width:100%;min-width:auto;max-height:calc(95vh - 60px);padding:15px;overflow-y:auto}}@media (width<=480px){.modal-container{border-radius:6px;width:98vw;max-width:98vw;max-height:98vh;margin:5px}.modal-close{padding:8px;top:6px;right:6px}.modal-close svg{width:18px;height:18px}.modal-content{width:100%;min-width:auto;max-height:calc(98vh - 50px);padding:10px}}@media (width<=768px) and (orientation:landscape){.modal-container{max-height:85vh}.modal-content{width:100%;min-width:auto;max-height:calc(85vh - 60px);padding:var(--spacing-sm)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media print{@page{margin:.5cm;size:letter}html,body{page-break-after:avoid!important;page-break-before:avoid!important;background:#fff!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}.modal-backdrop{z-index:9999!important;page-break-after:avoid!important;page-break-inside:avoid!important;page-break-before:avoid!important;background:#fff!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;inset:0 0 auto!important;overflow:hidden!important}.modal-container{max-width:100%!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border-radius:0!important;width:100%!important;margin:0!important;display:block!important;position:static!important;overflow:visible!important}.modal-close{visibility:hidden!important;display:none!important}.modal-content{max-height:none!important;padding:0!important;display:block!important;overflow:visible!important}}.clinic-profile{max-width:920px;margin:0 auto}.clinic-profile-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.clinic-profile-title{align-items:center;gap:12px;display:flex}.clinic-profile-title h2{margin:0}.clinic-overview,.clinic-manager-card{margin-bottom:20px}.clinic-manager-card h3{margin:0 0 8px}.cm-assign-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.cm-assign-row select{border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:200px;padding:8px 10px}.cm-assign-msg{color:#16a34a;margin-top:10px;font-size:.85rem}@media (width<=480px){.cm-assign-row select,.cm-assign-row .btn{flex:none;width:100%}}.clinic-overview h3,.clinic-modules-head h3{margin:0 0 12px}.clinic-overview-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.clinic-overview-grid>div{flex-direction:column;gap:2px;display:flex}.clinic-overview-grid strong{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-size:.75rem}.clinic-modules-head .muted,.muted{color:#6b7280;margin:0;font-size:.85rem}.cp-conflict{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin:14px 0;padding:10px 36px 10px 14px;font-size:.88rem;position:relative}.cp-x{cursor:pointer;color:inherit;background:0 0;border:none;font-size:1.1rem;line-height:1;position:absolute;top:6px;right:8px}.cp-group{margin-top:18px}.cp-group-title{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;border-bottom:1px solid #eef0f3;margin-bottom:8px;padding-bottom:4px;font-size:.78rem}.cp-row{border-bottom:1px solid #f3f4f6;align-items:center;gap:14px;padding:10px 4px;display:flex}.cp-row.off{opacity:.6}.cp-info{flex:1;min-width:0}.cp-name{font-weight:600}.cp-hint{color:#6b7280;margin-top:2px;font-size:.76rem}.cp-hint.cp-needed{color:#b45309}.cp-price{white-space:nowrap;align-items:center;gap:4px;display:flex}.cp-price input{text-align:right;border:1px solid #d1d5db;border-radius:6px;width:90px;padding:6px 8px}.cp-price input:disabled{color:#9ca3af;background:#f3f4f6}.cp-currency{color:#6b7280}.cp-per{color:#9ca3af;font-size:.8rem}.cp-switch{flex-shrink:0;width:42px;height:24px;display:inline-block;position:relative}.cp-switch input{opacity:0;width:0;height:0}.cp-slider{cursor:pointer;background:#cbd5e1;border-radius:999px;transition:background .15s;position:absolute;inset:0}.cp-slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.cp-switch input:checked+.cp-slider{background:#2563eb}.cp-switch input:checked+.cp-slider:before{transform:translate(18px)}.cp-core-list{flex-wrap:wrap;gap:8px;display:flex}.cp-core-chip{color:#4338ca;background:#eef2ff;border-radius:999px;padding:4px 12px;font-size:.8rem}.cp-footer{border-top:2px solid #eef0f3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:16px;display:flex}.cp-total{align-items:baseline;gap:10px;display:flex}.cp-total strong{font-size:1.4rem}.cp-actions{align-items:center;gap:12px;display:flex}.cp-saved{color:#16a34a;font-size:.85rem}@media (width<=768px){.cp-row{gap:10px}.cp-price input{width:76px}.cp-footer{align-items:stretch}.cp-actions{justify-content:space-between;width:100%}}@media (width<=480px){.cp-row{flex-wrap:wrap}.cp-info{flex-basis:calc(100% - 56px)}.cp-price{justify-content:flex-start;width:100%;padding-left:56px}.cp-price input{width:100px}}.clinic-management{max-width:900px;margin:0 auto}.clinic-management .module-header{margin-bottom:18px}.cm-users{flex-direction:column;gap:10px;display:flex}.cm-user-row{background:#fff;border:1px solid #eef0f3;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.cm-user-main{min-width:0}.cm-user-name{font-weight:600}.cm-you{color:#6b7280;font-size:.85rem;font-weight:400}.cm-user-meta{color:#6b7280;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:.85rem;display:flex}.cm-role{color:#374151;font-weight:600}.cm-user-actions{flex-wrap:wrap;gap:8px;display:flex}.cm-dialog{flex-direction:column;gap:8px;min-width:320px;display:flex}.cm-dialog-wide{min-width:460px;max-width:560px}.cm-dialog h3{margin:0}.cm-dialog label{color:#374151;margin-top:6px;font-size:.8rem;font-weight:600}.cm-dialog input[type=password]{border:1px solid #d1d5db;border-radius:6px;padding:8px 10px}.cm-dialog-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.cm-saved{color:#16a34a;margin-right:auto;font-size:.85rem}@media (width<=768px){.cm-dialog,.cm-dialog-wide{width:100%;min-width:auto}.cm-user-row{flex-direction:column;align-items:stretch;gap:10px}.cm-user-actions{width:100%}.cm-user-actions .btn{flex:1}}.appointments-module{padding:var(--spacing-md)}.module-header{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);z-index:auto;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;display:flex;position:static;box-shadow:0 2px 8px #0000001a}.module-header .btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000001a}.module-header .btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.module-header .btn svg{width:16px;height:16px}.appointments-list-view{background:#fff;border-radius:8px;grid-column:1/-1;height:600px;overflow:hidden auto;box-shadow:0 2px 8px #0000001a}.list-header{padding:var(--spacing-lg);background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;display:flex}.list-header h3{color:var(--text-color);margin:0;font-size:1.5rem;font-weight:700}.list-filters{gap:var(--spacing-md);align-items:center;display:flex}.search-input{border:1px solid #d1d5db;border-radius:6px;min-width:250px;padding:8px 12px;font-size:14px}.status-filter{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px}.status-filter:focus{border-color:var(--primary-color);outline:none}.appointments-grid{gap:var(--spacing-md);padding:var(--spacing-lg);flex-direction:column;height:100%;display:flex;overflow-y:auto}.appointments-list-view .appointment-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:16px;box-shadow:0 1px 3px #0000001a}.appointments-list-view .appointment-card.regular{border-left:4px solid #3b82f6}.appointments-list-view .appointment-card.visiting{border-left:4px solid #10b981}.appointments-list-view .appointment-card.consultation{border-left:4px solid #f59e0b}.appointments-list-view .appointment-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.appointments-list-view .appointment-type-badge{color:#fff;text-transform:uppercase;background:#3b82f6;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.appointments-list-view .appointment-card.visiting .appointment-type-badge{background:#10b981}.appointments-list-view .appointment-card.consultation .appointment-type-badge{background:#f59e0b}.appointments-list-view .appointment-actions{gap:8px;display:flex}.appointments-list-view .btn-edit,.appointments-list-view .btn-delete{cursor:pointer;background:0 0;border:none;padding:6px;font-size:16px}.appointments-list-view .btn-edit:hover{background:#f3f4f6;border-radius:4px}.appointments-list-view .btn-delete:hover{background:#fef2f2;border-radius:4px}.appointments-list-view .appointment-content{align-items:center;gap:16px;display:flex}.appointments-list-view .patient-info{flex:1;align-items:center;gap:12px;display:flex}.appointments-list-view .patient-avatar{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:flex}.appointments-list-view .patient-details h4{color:#111827;margin:0 0 4px;font-size:16px;font-weight:600}.appointments-list-view .patient-details p{color:#6b7280;margin:0;font-size:14px}.appointments-list-view .appointment-meta{align-items:center;gap:12px;display:flex}.appointments-list-view .status-badge{text-transform:capitalize;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.status-scheduled{color:#1e40af;background:#dbeafe}.status-confirmed{color:#166534;background:#dcfce7}.status-completed{color:#374151;background:#f3f4f6}.status-cancelled{color:#991b1b;background:#fee2e2}.appointments-list-view .appointment-notes{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;font-style:italic;overflow:hidden}.delete-confirmation-modal{padding:var(--spacing-lg);max-width:500px}.delete-header{text-align:center;margin-bottom:var(--spacing-lg)}.delete-header h3{margin:0 0 var(--spacing-sm) 0;color:var(--danger-color);font-size:1.5rem}.delete-header p{color:var(--text-light);margin:0;font-size:1rem}.appointment-summary{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background:#f8fafc;border-radius:8px}.delete-actions{gap:var(--spacing-md);justify-content:center;display:flex}.btn-danger{background:var(--danger-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-danger:hover{background:#c53030;transform:translateY(-1px)}.btn-danger:disabled{cursor:not-allowed;background:#9ca3af;transform:none}@media (width<=768px){.appointments-module{padding:var(--spacing-sm);overflow-x:hidden}.module-header{gap:var(--spacing-sm);z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:none;flex-direction:column;align-items:stretch;position:static}.module-header h2{text-align:center;font-size:1.5rem}.module-header .btn{padding:var(--spacing-sm);justify-content:center}.view-selector{justify-content:center;width:100%}.view-selector button{padding:var(--spacing-sm);flex:1;font-size:.9rem}.appointments-container{gap:var(--spacing-md);grid-template-columns:1fr;width:100%;display:grid;overflow-x:hidden}.appointment-calendar{width:100%;margin-bottom:var(--spacing-md);position:relative;overflow:hidden}.calendar-header{gap:var(--spacing-sm);padding:var(--spacing-sm);flex-direction:column;align-items:stretch}.calendar-title{text-align:center;font-size:16px}.calendar-nav{justify-content:center;gap:var(--spacing-xs);flex-wrap:wrap}.calendar-nav-btn{padding:var(--spacing-xs);flex:1;min-width:60px;font-size:.8rem}.calendar-nav-btn.today{padding:var(--spacing-xs) var(--spacing-sm)}.calendar-body{width:100%;position:relative;overflow:hidden}.week-view{-webkit-overflow-scrolling:touch;width:100%;height:auto;min-height:600px;overflow-x:auto}.week-header{min-width:600px}.week-body{min-width:600px;height:auto;min-height:800px}.day-column{min-width:85px;padding:0 2px}.day-column-header{padding:var(--spacing-xs);font-size:.8rem}.day-name{font-size:.7rem}.day-date{font-size:.6rem}.month-view{-webkit-overflow-scrolling:touch;width:100%;height:auto;min-height:400px;max-height:600px;overflow:hidden auto}.month-grid{width:100%;overflow-x:hidden}.month-day{min-height:60px;padding:2px;overflow:hidden}.month-day-number{font-size:.8rem}.month-appointment{text-overflow:ellipsis;padding:1px 2px;font-size:.7rem;overflow:hidden}.day-view{-webkit-overflow-scrolling:touch;width:100%;height:auto;min-height:400px;max-height:500px;overflow:hidden auto}.time-slots,.time-slot{width:100%;overflow-x:hidden}.time-label{width:60px;padding:var(--spacing-xs);flex-shrink:0;font-size:.8rem}.appointment-slot{padding:var(--spacing-xs);width:calc(100% - 60px);overflow-x:hidden}.upcoming-appointments{width:100%;margin-top:var(--spacing-md);z-index:1;order:2;position:relative}.calendar-appointment{width:100%!important;margin-left:0!important;margin-right:0!important;position:relative!important;left:0!important;right:0!important}.week-appointment{position:absolute;width:calc(100% - 4px)!important;left:2px!important;right:2px!important}}@media (width<=480px){.appointments-module{padding:var(--spacing-xs);overflow-x:hidden}.module-header h2{font-size:1.3rem}.view-selector button{padding:var(--spacing-xs);font-size:.8rem}.appointments-container,.appointment-calendar,.calendar-body{width:100%;overflow-x:hidden}.week-view{height:auto;min-height:500px;overflow-x:auto}.week-body{height:auto;min-height:700px}.day-column{min-width:70px}.day-column-header{padding:2px;font-size:.7rem}.month-view{height:auto;min-height:350px;max-height:500px;overflow:hidden auto}.day-view{height:auto;min-height:350px;max-height:450px;overflow:hidden auto}.time-label{width:50px;font-size:.7rem}.appointment-slot{width:calc(100% - 50px)}.upcoming-appointments{width:100%;margin-top:var(--spacing-sm)}.appointment-reminders{margin:var(--spacing-sm) 0}.appointment-reminders h3{margin-bottom:var(--spacing-sm);font-size:1.1rem}.reminders-list{gap:var(--spacing-xs)}.reminder-item{padding:var(--spacing-sm);align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.reminder-icon{width:28px;height:28px;margin-right:0;margin-bottom:var(--spacing-xs);align-self:flex-start}.reminder-content{width:100%}.reminder-text{margin-bottom:var(--spacing-xs);font-size:.9rem;line-height:1.3}.reminder-time{font-size:.75rem}.reminder-item .btn{width:100%;padding:var(--spacing-xs) var(--spacing-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;min-height:36px;font-size:.8rem}}.view-selector{background-color:var(--light-gray);border-radius:var(--radius);margin-bottom:var(--spacing-md);width:fit-content;display:flex;overflow:hidden}.view-selector button{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:var(--transition);background:0 0;border:none;font-weight:500}.view-selector button.active{background-color:var(--primary-color);color:var(--white)}.appointments-container{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}.appointment-calendar{margin-bottom:var(--spacing-md)}.calendar-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.calendar-title{font-size:18px;font-weight:600}.calendar-nav{align-items:center;gap:var(--spacing-sm);display:flex}.calendar-nav-btn{border:1px solid var(--medium-gray);border-radius:var(--radius);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:var(--transition);background:0 0;justify-content:center;align-items:center;display:flex}.calendar-nav-btn.today{padding:var(--spacing-xs) var(--spacing-md)}.calendar-nav-btn:hover{background-color:var(--light-gray)}.day-view{height:600px;overflow-y:auto}.time-slots{flex-direction:column;display:flex}.time-slot{border-bottom:1px solid var(--medium-gray);min-height:60px;display:flex}.time-label{width:80px;padding:var(--spacing-sm);color:var(--text-light);align-items:flex-start;font-size:14px;display:flex}.appointment-slot{padding:var(--spacing-xs);flex:1;position:relative}.calendar-appointment{border-left:3px solid var(--primary-color);margin:var(--spacing-xs);padding:var(--spacing-sm);border-radius:var(--radius);background-color:#3498db1a;flex-direction:column;justify-content:center;min-height:50px;display:flex;position:absolute;inset:0;overflow:hidden}.calendar-appointment .appointment-content{flex-direction:column;flex:1;justify-content:center;display:flex}.appointment-content{flex:1}.week-appointment .appointment-title{white-space:nowrap;text-overflow:clip;word-break:break-word;min-height:16px;color:var(--text-dark);flex:1;margin-top:3px;font-size:12px;font-weight:600;line-height:1.2;overflow:visible}.appointment-notes{color:var(--text-light);font-size:11px;font-style:italic}.appointment-indicator{top:var(--spacing-sm);right:var(--spacing-sm);border-radius:50%;width:8px;height:8px;position:absolute}.appointment-indicator.primary{background-color:var(--primary-color)}.appointment-indicator.warning{background-color:var(--warning-color)}.appointment-indicator.danger{background-color:var(--danger-color)}.appointment-indicator.success{background-color:var(--success-color)}.appointment-indicator.info{background-color:var(--info-color)}.appointment-indicator.secondary{background-color:var(--secondary-color)}.appointment-indicator.accent{background-color:var(--accent-color)}.appointment-indicator.dark{background-color:var(--dark-color)}.appointment-indicator.light{background-color:var(--light-color)}.appointment-indicator.muted{background-color:var(--muted-color)}.week-view{height:1100px;position:relative;overflow-y:auto}.week-header{border-bottom:2px solid var(--medium-gray);background-color:var(--white);z-index:1;grid-template-columns:repeat(7,1fr);display:grid;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.day-column-header{padding:var(--spacing-sm);text-align:center;border-right:1px solid var(--medium-gray);background-color:#f8fafccc;font-weight:600}.day-name{font-weight:500}.day-date{color:var(--text-light);font-size:12px}.week-body{grid-template-columns:repeat(7,1fr);height:1200px;display:grid;position:relative}.day-column{border-right:1px solid var(--medium-gray);z-index:1;background-color:#f8fafc80;min-width:125px;padding:0 3px;position:relative;overflow:visible}.week-appointment{border-left:4px solid var(--primary-color);box-sizing:border-box;z-index:10;cursor:pointer;background-color:#3498db14;border:1px solid #3498db1f;border-radius:6px;min-height:55px;max-height:none;margin:5px 0;padding:6px 10px;transition:all .3s;position:absolute;overflow:visible;box-shadow:0 2px 4px #00000014;width:96%!important;left:2%!important;right:2%!important}.week-appointment:hover{background-color:#3498db1f;border-color:#3498db40;border-left-width:5px;transform:translateY(-2px);box-shadow:0 4px 8px #0000001f}.week-appointment .appointment-content{flex-direction:column;flex:1;justify-content:center;gap:4px;height:100%;min-height:30px;padding:3px 0;display:flex;overflow:visible}.week-appointment .appointment-time{color:var(--text-dark);white-space:nowrap;text-overflow:clip;letter-spacing:.2px;flex-shrink:0;min-height:16px;margin-bottom:2px;font-size:11px;font-weight:700;line-height:1.1;overflow:visible}.month-view{height:600px;overflow-y:auto}.month-grid{grid-template-rows:auto repeat(6,1fr);grid-template-columns:repeat(7,1fr);height:100%;display:grid}.month-day-header{padding:var(--spacing-sm);text-align:center;border-bottom:1px solid var(--medium-gray);font-weight:500}.month-day{border-right:1px solid var(--medium-gray);border-bottom:1px solid var(--medium-gray);min-height:80px;padding:var(--spacing-xs);flex-direction:column;display:flex;position:relative}.month-day.empty{background-color:var(--light-gray)}.month-day.today{background-color:#3498db0d}.month-day-number{margin-bottom:var(--spacing-xs);flex-shrink:0;font-size:14px;font-weight:500}.month-appointments-container{scrollbar-width:thin;scrollbar-color:var(--medium-gray) transparent;flex:1;max-height:calc(100% - 20px);overflow-y:auto}.month-appointments-container::-webkit-scrollbar{width:4px}.month-appointments-container::-webkit-scrollbar-track{background:0 0}.month-appointments-container::-webkit-scrollbar-thumb{background-color:var(--medium-gray);border-radius:2px}.month-appointments-container::-webkit-scrollbar-thumb:hover{background-color:var(--text-light)}.month-appointment{border-left:2px solid var(--primary-color);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background-color:#3498db1a;border-radius:2px;margin-bottom:1px;padding:1px 3px;font-size:10px;line-height:1.1;transition:background-color .2s;overflow:hidden}.month-appointment:hover{background-color:#3498db33}.month-appointment span{font-weight:600}.month-appointment.primary{color:var(--primary-dark);background-color:#3498db33}.month-appointment.warning{color:#d35400;background-color:#f39c1233}.month-appointment.success{color:#27ae60;background-color:#27ae6033}.month-appointment.info{color:#2980b9;background-color:#3498db33}.month-appointment.secondary{color:#27ae60;background-color:#2ecc7133}.month-appointment.accent{color:#8e44ad;background-color:#9b59b633}.month-appointment.dark{color:#2c3e50;background-color:#34495e33}.month-appointment.light{color:#7f8c8d;background-color:#ecf0f133}.month-appointment.muted{color:#7f8c8d;background-color:#95a5a633}.upcoming-appointments{margin-bottom:var(--spacing-md);grid-column:1/-1}.reminders-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.reminder-item{padding:var(--spacing-sm);border-radius:var(--radius);background-color:var(--light-gray);transition:var(--transition);cursor:pointer;touch-action:manipulation;border:1px solid #0000;align-items:center;display:flex}.reminder-item:hover{background-color:var(--medium-gray);border-color:var(--medium-gray);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.reminder-icon{width:32px;height:32px;margin-right:var(--spacing-md);color:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.reminder-icon.confirm{background-color:var(--primary-color)}.reminder-icon.reschedule{background-color:var(--warning-color)}.reminder-icon.follow-up{background-color:var(--accent-color)}.reminder-content{flex:1}.reminder-text{font-weight:500}.reminder-time{color:var(--text-light);font-size:12px}.appointment-form{background:#fff;border-radius:8px;max-width:600px;margin:0 auto;padding:2rem;box-shadow:0 2px 10px #0000001a}.appointment-form h3{color:#333;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.appointment-form .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.appointment-form input,.appointment-form select,.appointment-form textarea{border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.appointment-form input:disabled,.appointment-form select:disabled{color:#6c757d;cursor:not-allowed;background-color:#f8f9fa}.appointment-form textarea{resize:vertical;min-height:80px}.appointment-form .error-message{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:1rem;padding:.75rem}.appointment-form .loading{text-align:center;color:#666;padding:2rem}.appointment-form .loading-slots{color:#666;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;padding:.75rem;font-style:italic}.appointment-form .time-slot-container{align-items:flex-start;gap:.75rem;display:flex}.appointment-form .time-slot-container select{flex:1}.appointment-form .btn-refresh-slots{color:#fff;cursor:pointer;background-color:#17a2b8;border:none;border-radius:4px;justify-content:center;align-self:stretch;align-items:center;width:44px;min-width:44px;height:auto;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.appointment-form .btn-refresh-slots:hover{background-color:#007bff;transform:translateY(-1px)}.appointment-form .btn-refresh-slots:disabled{opacity:.6;cursor:not-allowed;transform:none}.appointment-form .refresh-icon{font-size:2rem;font-weight:700;line-height:1;display:inline-block}.appointment-form .available-slots-info{color:#28a745;margin-top:.5rem;font-size:.875rem;font-weight:500}.appointment-form .form-actions{border-top:1px solid #eee;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex}.appointment-form .btn{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.appointment-form .btn:disabled{opacity:.6;cursor:not-allowed}.appointment-form .btn:not(:disabled):hover{transform:translateY(-1px)}.appointment-form .btn-outline{color:#6c757d;background-color:#0000;border:1px solid #6c757d}.appointment-form .btn-outline:hover{color:#fff;background-color:#6c757d}.appointment-form .btn{color:#fff;background-color:#007bff}.appointment-form .btn:hover{background-color:#0056b3}.appointment-form select option[disabled]{color:#dc3545;font-style:italic}.opd-availability-view{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.opd-availability-view h4{color:#333;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.opd-card{cursor:pointer;text-align:center;background:#fff;border:2px solid #0000;border-radius:6px;padding:1rem;transition:all .2s;box-shadow:0 2px 4px #0000001a}.opd-card:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.opd-card.selected{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.opd-card.disabled{cursor:not-allowed;opacity:.6}.opd-card.gray{border-left:4px solid #6c757d}.opd-card.green{border-left:4px solid #28a745}.opd-card.orange{border-left:4px solid #fd7e14}.opd-card.red{border-left:4px solid #dc3545}.opd-number{color:#333;margin-bottom:.5rem;font-size:1rem;font-weight:600}.opd-status{color:#666;font-size:.875rem}.opd-card.green .opd-status{color:#28a745}.opd-card.orange .opd-status{color:#fd7e14}.opd-card.red .opd-status{color:#dc3545}.opd-card.gray .opd-status{color:#6c757d}@media (width<=768px){.appointment-form{margin:1rem;padding:1rem}.appointment-form .form-row{grid-template-columns:1fr}.appointment-form .form-actions{flex-direction:column}.appointment-form .btn{width:100%}.opd-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.opd-card{padding:.75rem}.opd-number{font-size:.9rem}.opd-status{font-size:.8rem}}@media (width>=992px){.appointments-container{grid-template-columns:2fr 1fr}.appointment-calendar{grid-column:1/-1}}@media (width>=769px){.module-header{top:var(--header-height);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000000d;position:sticky}}.current-doctor{font-weight:500;border-left-width:3px!important}.other-doctor-1{background-color:#87ceeb1a!important;border-left-color:#87ceeb!important}.other-doctor-2{background-color:#90ee901a!important;border-left-color:#90ee90!important}.other-doctor-3{background-color:#ffb3471a!important;border-left-color:#ffb347!important}.other-doctor-4{background-color:#dda0dd1a!important;border-left-color:plum!important}.other-doctor-5{background-color:#ffb6c11a!important;border-left-color:#ffb6c1!important}.calendar-appointment.current-doctor{border-left-color:var(--primary-color);background-color:#3498db26}.appointment-indicator.current-doctor{background-color:var(--primary-color)}.appointment-indicator.other-doctor-1{background-color:#27ae60}.appointment-indicator.other-doctor-2{background-color:#f39c12}.appointment-indicator.other-doctor-3{background-color:#e74c3c}.appointment-indicator.other-doctor-4{background-color:#9b59b6}.appointment-indicator.other-doctor-5{background-color:#e67e22}.week-appointment.current-doctor{border-left-color:var(--primary-color);background-color:#3498db26}.week-appointment.other-doctor-1{background-color:#27ae6026;border-left-color:#27ae60}.week-appointment.other-doctor-2{background-color:#f39c1226;border-left-color:#f39c12}.week-appointment.other-doctor-3{background-color:#e74c3c26;border-left-color:#e74c3c}.week-appointment.other-doctor-4{background-color:#9b59b626;border-left-color:#9b59b6}.week-appointment.other-doctor-5{background-color:#e67e2226;border-left-color:#e67e22}.month-appointment.current-doctor{color:#2c3e50;background-color:#3498db40}.month-appointment.other-doctor-1{color:#2c3e50;background-color:#27ae6040}.month-appointment.other-doctor-2{color:#2c3e50;background-color:#f39c1240}.month-appointment.other-doctor-3{color:#2c3e50;background-color:#e74c3c40}.month-appointment.other-doctor-4{color:#2c3e50;background-color:#9b59b640}.month-appointment.other-doctor-5{color:#2c3e50;background-color:#e67e2240}.appointment-legend{background:#fff;border-radius:8px;margin-bottom:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.appointment-legend h4{color:#333;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.legend-section{margin-bottom:1rem}.legend-section:last-child{margin-bottom:0}.legend-section h5{color:#555;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.legend-items{flex-wrap:wrap;gap:1rem;display:flex}.legend-item{color:#666;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.legend-color{border:1px solid #ddd;border-radius:3px;width:16px;height:16px}.legend-color.current-doctor{background-color:var(--primary-color);border-color:var(--primary-color)}.legend-color.other-doctor-1{background-color:#87ceeb;border-color:#87ceeb}.legend-color.other-doctor-2{background-color:#90ee90;border-color:#90ee90}.legend-color.other-doctor-3{background-color:#ffb347;border-color:#ffb347}.legend-color.other-doctor-4{background-color:plum;border-color:plum}.legend-color.other-doctor-5{background-color:#ffb6c1;border-color:#ffb6c1}.legend-color.opd-1{background-color:var(--primary-color);border-color:var(--primary-color)}.legend-color.opd-2{background-color:var(--success-color);border-color:var(--success-color)}.legend-color.opd-3{background-color:var(--warning-color);border-color:var(--warning-color)}.legend-color.opd-4{background-color:var(--danger-color);border-color:var(--danger-color)}@media (width<=768px){.legend-items{flex-direction:column;gap:.5rem}.legend-item{font-size:.8rem}}.appointment-filters{background:#fff;border-radius:8px;margin-bottom:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.appointment-filters h4{color:#333;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.filter-group{flex-direction:column;display:flex}.filter-group select{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem;font-size:.9rem}.filter-group select:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.filter-actions{justify-content:flex-end;display:flex}.filter-actions .btn{padding:.5rem 1rem;font-size:.875rem}@media (width<=768px){.filters-grid{grid-template-columns:1fr;gap:.75rem}.filter-group select{padding:.75rem;font-size:1rem}}.appointment-start{border-radius:4px;margin-bottom:.25rem;padding:.5rem;box-shadow:0 1px 3px #0000001a;border-left-width:3px!important}.appointment-continuing{opacity:.7;box-shadow:none;border-left-width:2px;border-radius:0;background-color:inherit!important}.appointment-time-display{color:#666;margin-top:.25rem;margin-bottom:.25rem;font-size:.8rem;font-weight:500}.appointment-content{flex-direction:column;gap:.25rem;display:flex}.appointment-title{color:#333;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.appointment-subtitle{color:#666;margin-bottom:.25rem;font-size:.75rem}.appointment-notes{color:#888;margin-top:auto;font-size:.7rem;font-style:italic}.week-appointment{z-index:10;border-left:3px solid;border-radius:4px;margin:0 2px;padding:.25rem;font-size:.75rem;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 1px 3px #0000001a}.week-appointment .appointment-time{margin-bottom:.25rem;font-size:.7rem;font-weight:600}.week-appointment .appointment-content{line-height:1.2}.week-appointment .appointment-title{margin-bottom:.1rem;font-weight:500}.week-appointment .appointment-subtitle{opacity:.8;font-size:.65rem}.time-slot{border-bottom:1px solid #eee;align-items:flex-start;min-height:60px;display:flex;position:relative}.time-label{color:#666;flex-shrink:0;width:80px;padding:.5rem;font-size:.875rem;font-weight:600}.appointment-slot{flex:1;min-height:60px;padding:.25rem;position:relative}.calendar-appointment{border-left:3px solid;border-radius:4px;margin-bottom:.25rem;padding:.5rem;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.calendar-appointment:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}@media (width<=768px){.week-appointment{padding:.2rem;font-size:.7rem}.week-appointment .appointment-time{font-size:.65rem}.week-appointment .appointment-subtitle{font-size:.6rem}.appointment-time-display{font-size:.75rem}}.appointment-form select.error{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.validation-error{color:#dc3545;margin-top:.25rem;font-size:.875rem;font-weight:500}.available-slots-info{color:#28a745;margin-top:.25rem;font-size:.875rem;font-weight:500}.loading-slots{color:#6c757d;margin-top:.25rem;font-size:.875rem;font-style:italic}.appointment-form .form-group{position:relative}.appointment-form .form-group.error label{color:#dc3545}.appointment-form .form-group.success label{color:#28a745}.time-slot-validation{border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.875rem}.time-slot-validation.valid{color:#155724;background-color:#28a7451a;border:1px solid #28a74533}.time-slot-validation.invalid{color:#721c24;background-color:#dc35451a;border:1px solid #dc354533}.appointment-form .form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.appointment-form .form-group{margin-bottom:1.5rem}.appointment-form label{color:#333;margin-bottom:.5rem;font-weight:600;display:block}.appointment-form select,.appointment-form input,.appointment-form textarea{border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.appointment-form select:focus,.appointment-form input:focus,.appointment-form textarea:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.appointment-form select:disabled{cursor:not-allowed;background-color:#f8f9fa}.conflict-warning{color:#856404;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.conflict-warning .warning-icon{margin-right:.5rem;font-weight:700}.real-time-validation{font-size:1.2rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.real-time-validation.valid{color:#28a745}.real-time-validation.invalid{color:#dc3545}@media (width<=768px){.appointment-form .form-row{grid-template-columns:1fr;gap:.5rem}.validation-error,.available-slots-info,.loading-slots{font-size:.8rem}.appointment-form .time-slot-container{flex-direction:column;gap:.5rem}.appointment-form .btn-refresh-slots{align-self:stretch;width:44px;height:auto}}.day-view{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1;background:#fff;border-radius:8px;max-height:600px;overflow:hidden auto;box-shadow:0 2px 8px #0000001a}.time-slot:last-child{border-bottom:none}.calendar-appointment{cursor:pointer;border-left-width:4px;border-radius:4px;height:fit-content;min-height:60px;margin-bottom:.5rem;padding:.5rem;font-size:.8rem;line-height:1.3;box-shadow:0 1px 3px #0000001a}.calendar-appointment .appointment-content{padding:.25rem 0}@media (width<=768px){.day-view{max-height:500px}.time-label{width:60px;padding:.25rem;font-size:.75rem}.appointment-slot{padding:.125rem}.calendar-appointment{padding:.25rem;font-size:.7rem}.appointment-title{font-size:.8rem}.appointment-subtitle{font-size:.65rem}.appointment-time-display{font-size:.7rem}.appointment-notes{font-size:.6rem}.appointment-reminders{margin:var(--spacing-md) 0}.appointment-reminders h3{margin-bottom:var(--spacing-md);font-size:1.2rem}.reminders-list{gap:var(--spacing-sm)}.reminder-item{padding:var(--spacing-md);gap:var(--spacing-sm)}.reminder-icon{width:30px;height:30px;margin-right:var(--spacing-sm)}.reminder-text{font-size:.95rem;line-height:1.4}.reminder-time{font-size:.8rem}.reminder-item .btn{padding:var(--spacing-sm) var(--spacing-md);touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:80px;min-height:40px;font-size:.85rem}.reminder-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.reminder-item:active{transition:transform .1s;transform:scale(.98)}}@media (width>=769px) and (width<=1024px){.day-view{max-height:550px}}.appointment-slot:empty:after{content:"No appointments";color:#ccc;justify-content:center;align-items:center;height:60px;font-size:.8rem;font-style:italic;display:flex}.appointment-slot:not(:empty):after{display:none}.day-view{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;background:#fff;border-radius:8px;max-height:600px;overflow:hidden auto;box-shadow:0 2px 8px #0000001a}.day-view::-webkit-scrollbar{width:8px}.day-view::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.day-view::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.day-view::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.time-slots{flex-direction:column;min-height:100%;display:flex}.time-slot{background:#fff;border-bottom:1px solid #eee;align-items:flex-start;min-height:60px;display:flex;position:relative}.time-label{color:#666;z-index:5;background:#fff;flex-shrink:0;width:80px;padding:.5rem;font-size:.875rem;font-weight:600;position:sticky;left:0}.calendar-appointment.consultation-appointment{background-color:#fff5f5;border-left-width:6px;border-left-color:#ff6b6b}.calendar-appointment.consultation-appointment .appointment-title{color:#d63031;font-weight:600}.calendar-appointment.visiting-appointment{background-color:#f0f8ff;border-left-width:6px;border-left-color:#74b9ff}.calendar-appointment.visiting-appointment .appointment-title{color:#0984e3;font-weight:600}.calendar-appointment.current-doctor{background-color:#f0fff4;border-left-width:6px;border-left-color:#00b894}.calendar-appointment.current-doctor .appointment-title{color:#00a085;font-weight:600}.calendar-appointment.other-doctor-1{background-color:#f8f7ff;border-left-color:#a29bfe}.calendar-appointment.other-doctor-2{background-color:#fff5f8;border-left-color:#fd79a8}.calendar-appointment.other-doctor-3{background-color:#fffbf0;border-left-color:#fdcb6e}.calendar-appointment.other-doctor-4{background-color:#f7f6ff;border-left-color:#6c5ce7}.calendar-appointment.other-doctor-5{background-color:#fff0f5;border-left-color:#e84393}.week-appointment.consultation-appointment,.month-appointment.consultation-appointment{color:#fff;background-color:#ff6b6b;border-left:4px solid #d63031}.week-appointment.visiting-appointment,.month-appointment.visiting-appointment{color:#fff;background-color:#74b9ff;border-left:4px solid #0984e3}.week-appointment.current-doctor,.month-appointment.current-doctor{color:#fff;background-color:#00b894;border-left:4px solid #00a085}@media (width<=768px){.list-header{gap:var(--spacing-md);flex-direction:column;align-items:stretch}.list-filters{gap:var(--spacing-sm);flex-direction:column}.search-input{width:100%;min-width:auto}.appointments-grid{padding:var(--spacing-sm)}.appointment-card{margin-bottom:var(--spacing-sm)}.appointment-content{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.patient-info{width:100%}.appointment-meta{justify-content:space-between;width:100%}.appointment-notes{white-space:normal;max-width:none}}@media (width<=480px){.list-header{padding:var(--spacing-md)}.appointments-grid,.appointment-card{padding:var(--spacing-sm)}.btn-edit,.btn-delete{padding:6px;font-size:16px}}.past-appointment-label{color:#059669;cursor:not-allowed;background:#d1fae5;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.upcoming-appointments .appointment-item .appointment-status{flex-direction:column;align-items:flex-end;gap:4px;min-width:80px}@media (width<=480px){.upcoming-appointments .appointment-item{flex-wrap:wrap;gap:4px}.upcoming-appointments .appointment-item .appointment-status{width:100%;min-width:unset;flex-direction:row;justify-content:space-between;align-items:center}.upcoming-appointments .appointment-item .appointment-doctor{font-size:.65rem}}.searchable-dropdown{width:100%;position:relative}.dropdown-input{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:10px 35px 10px 12px;font-size:14px}.dropdown-input:disabled{cursor:not-allowed;background-color:#f5f5f5}.dropdown-arrow{cursor:pointer;color:#666;font-size:12px;transition:transform .2s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.dropdown-option.selected{color:#1976d2;background-color:#e3f2fd}.dropdown-loading{color:#007bff}.dropdown-no-results{color:#dc3545}.dropdown-options::-webkit-scrollbar-track{background:#f1f1f1}.teeth-modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.teeth-modal{background:#fff;border-radius:16px;width:100%;max-width:fit-content;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.teeth-modal-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #f3f4f6;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:10px 32px 16px;display:flex}.teeth-modal-header h3{color:#1e293b;margin:0;font-size:1.5rem;font-weight:700}.close-button{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .2s;display:flex}.close-button:hover{background:#dc2626;transform:scale(1.1)}.teeth-modal-content{padding:10px 32px}.teeth-grid{grid-template-columns:1fr;gap:28px;margin-bottom:32px;display:grid}.teeth-quadrant,.teeth-arch{text-align:center}.quadrant-title,.arch-title{color:#374151;text-transform:uppercase;letter-spacing:1px;margin:0 0 16px;font-size:1.1rem;font-weight:700}.dentition-toggle{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.dentition-toggle .btn{min-width:0;padding:8px 16px}.teeth-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tooth-button{cursor:pointer;background:linear-gradient(135deg,#fefefe,#f3f4f6);border:2px solid #e5e7eb;border-radius:8px 8px 12px 12px;flex-direction:column;justify-content:center;align-items:center;width:50px;height:60px;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a,inset 0 1px #fffc,inset 0 -1px #0000001a}.tooth-button:before{content:"";background:linear-gradient(135deg,#fefefe,#f8fafc);border-radius:6px 6px 0 0;height:30%;position:absolute;top:0;left:0;right:0}.tooth-button:after{content:"";background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:0 0 10px 10px;height:20%;position:absolute;bottom:0;left:0;right:0}.tooth-button:hover{border-color:#3b82f6;transform:translateY(-3px)scale(1.05);box-shadow:0 8px 25px #00000026,inset 0 1px #ffffffe6,inset 0 -1px #0000001a}.tooth-button.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 15px #3b82f64d,inset 0 1px #ffffffe6,inset 0 -1px #0000001a}.tooth-button.selected:before{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.tooth-button.selected:after{background:linear-gradient(135deg,#93c5fd,#7dd3fc)}.tooth-notation{color:#1e293b;z-index:2;margin-bottom:2px;font-size:1.2rem;font-weight:700;position:relative}.tooth-position{color:#64748b;z-index:2;font-size:.7rem;font-weight:600;position:relative}.teeth-quadrant.ur .tooth-button{background:linear-gradient(135deg,#fefefe,#fef7ff)}.teeth-quadrant.ul .tooth-button{background:linear-gradient(135deg,#fefefe,#f0f9ff)}.teeth-quadrant.ll .tooth-button{background:linear-gradient(135deg,#fefefe,#f0fdf4)}.teeth-quadrant.lr .tooth-button{background:linear-gradient(135deg,#fefefe,#fef2f2)}.teeth-quadrant.ur .tooth-button.selected{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border-color:#9333ea}.teeth-quadrant.ul .tooth-button.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#2563eb}.teeth-quadrant.ll .tooth-button.selected{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#16a34a}.teeth-quadrant.lr .tooth-button.selected{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#dc2626}.teeth-quadrant.ur .tooth-button.selected:before{background:linear-gradient(135deg,#f3e8ff,#e9d5ff)}.teeth-quadrant.ul .tooth-button.selected:before{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.teeth-quadrant.ll .tooth-button.selected:before{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.teeth-quadrant.lr .tooth-button.selected:before{background:linear-gradient(135deg,#fee2e2,#fecaca)}.teeth-quadrant.ur .tooth-button.selected:after{background:linear-gradient(135deg,#e9d5ff,#d8b4fe)}.teeth-quadrant.ul .tooth-button.selected:after{background:linear-gradient(135deg,#93c5fd,#7dd3fc)}.teeth-quadrant.ll .tooth-button.selected:after{background:linear-gradient(135deg,#86efac,#4ade80)}.teeth-quadrant.lr .tooth-button.selected:after{background:linear-gradient(135deg,#fca5a5,#f87171)}.selected-teeth-info{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:24px}.selected-teeth-info h4{color:#1e293b;margin:0 0 16px;font-size:1.1rem;font-weight:600}.selected-teeth-list{flex-wrap:wrap;gap:8px;display:flex}.selected-tooth-tag{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:20px;padding:6px 12px;font-size:.875rem;font-weight:500;box-shadow:0 2px 4px #3b82f633}.no-teeth-selected{color:#6b7280;margin:0;font-style:italic}.teeth-modal-actions{background:#f8fafc;border-top:2px solid #f3f4f6;border-radius:0 0 16px 16px;justify-content:flex-end;gap:16px;padding:24px 32px;display:flex}.btn-outline:hover{color:#374151;background:#f9fafb;border-color:#9ca3af}@media (width<=768px){.teeth-modal{max-height:95vh;margin:20px}.teeth-modal-header{padding:20px 24px 16px}.teeth-modal-header h3{font-size:1.25rem}.teeth-modal-content{padding:24px}.teeth-grid{grid-template-columns:1fr;gap:32px}.teeth-row{gap:6px}.tooth-button{width:45px;height:55px}.tooth-notation{font-size:1.1rem}.teeth-modal-actions{flex-direction:column;padding:20px 24px}.btn{width:100%}}@media (width<=480px){.teeth-modal{margin:10px}.teeth-modal-header{padding:16px 20px 12px}.teeth-modal-content{padding:20px}.tooth-button{width:40px;height:50px}.tooth-notation{font-size:1rem}.tooth-position{font-size:.65rem}.selected-teeth-info{padding:20px}}@keyframes toothSelect{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}.tooth-button.selected{animation:.3s ease-out toothSelect}.tooth-button:focus,.btn:focus{outline-offset:2px;outline:3px solid #3b82f6}.appointment-form{max-width:800px;margin:0 auto;padding:20px}.form-control,.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-control:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.notes-header label{color:#374151;margin-bottom:0;font-weight:600}.teeth-buttons{flex-shrink:0;gap:8px;display:flex}.form-group textarea{resize:vertical;width:100%;min-height:80px}.btn-detail-teeth{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;justify-content:center;align-items:center;width:40px;height:32px;padding:8px;font-size:1.2rem;font-weight:500;transition:all .2s;display:flex;position:relative}.btn-detail-teeth .tooth-count{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 4px #0003}.btn-clear-teeth{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:6px;justify-content:center;align-items:center;width:40px;height:32px;padding:8px;font-size:1.2rem;font-weight:500;transition:all .2s;display:flex}.btn-clear-teeth:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)scale(1.05);box-shadow:0 4px 12px #ef44444d}.btn-detail-teeth:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)scale(1.05);box-shadow:0 4px 12px #10b9814d}.btn-detail-teeth:hover .tooth-count{transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.btn-detail-teeth:active{transform:translateY(0)}.time-slot-container{position:relative}.time-slot-row{align-items:flex-start;gap:12px;display:flex}.time-slot-row select{flex:1}.btn-refresh-slots{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;height:38px;padding:8px 12px;transition:all .2s;display:flex}.btn-refresh-slots:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-refresh-slots:disabled{cursor:not-allowed;box-shadow:none;background:#9ca3af;transform:none}.refresh-icon{font-size:16px;font-weight:700}.refresh-icon.loading{animation:1s linear infinite spin}.available-slots-info{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-top:12px;padding:12px 16px;font-size:14px;font-weight:500}.validation-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:14px}.form-control.error,.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc2626}.btn{cursor:pointer;border:none;border-radius:6px;min-width:100px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.opd-availability{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:16px}.opd-availability h4{color:#374151;margin:0 0 16px;font-size:1rem;font-weight:600}.opd-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.opd-item{text-align:center;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:6px;padding:12px 8px;transition:all .2s;position:relative}.opd-item:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.opd-item.selected{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6;font-weight:600}.opd-item.available{background:#f0fdf4;border-color:#10b981}.opd-item.busy{color:#dc2626;background:#fef2f2;border-color:#ef4444}.opd-number{margin-bottom:4px;font-size:1.2rem;font-weight:600}.opd-status{text-transform:uppercase;font-size:.75rem;font-weight:500}@media (width<=768px){.appointment-form{padding:16px}.form-row{grid-template-columns:1fr;gap:16px}.time-slot-row{flex-direction:column;gap:8px}.btn-refresh-slots{align-self:flex-start;margin-top:0}.notes-header{flex-direction:column;align-items:flex-start;gap:12px}.teeth-buttons{justify-content:flex-start;align-self:stretch}.btn-detail-teeth,.btn-clear-teeth{width:40px;height:32px}.form-actions{flex-direction:column;gap:8px}.btn{width:100%}.opd-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}}@media (width<=480px){.appointment-form{padding:12px}.form-group{margin-bottom:16px}.opd-grid{grid-template-columns:repeat(2,1fr)}}.loading{opacity:.6;pointer-events:none}.loading:after{content:"";border:2px solid #f3f3f3;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}.btn:focus,.form-control:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline-offset:2px;outline:2px solid #3b82f6}@media print{.btn,.btn-detail-teeth,.btn-refresh-slots{display:none}.appointment-form{max-width:none;padding:0}}.searchable-service-dropdown{width:100%;font-family:inherit;position:relative}.dropdown-input-container{align-items:center;display:flex;position:relative}.dropdown-input{background-color:#fff;border:2px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:12px 40px 12px 12px;font-size:14px;transition:all .2s}.dropdown-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dropdown-input:disabled{cursor:not-allowed;opacity:.6;background-color:#f8fafc}.dropdown-arrow{cursor:pointer;color:#64748b;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:transform .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.dropdown-arrow:hover{color:#3b82f6}.dropdown-options{z-index:1000;background:#fff;border:2px solid #e2e8f0;border-top:none;border-radius:0 0 8px 8px;max-height:300px;animation:.2s slideDown;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-loading{text-align:center;color:#64748b;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.dropdown-loading .spinner{border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.dropdown-no-results{text-align:center;color:#64748b;padding:16px;font-style:italic}.dropdown-option{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:12px 16px;transition:background-color .2s}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background-color:#f8fafc}.dropdown-option.selected{background-color:#eff6ff;border-left:3px solid #3b82f6}.service-option{align-items:flex-start;gap:12px;display:flex}.service-icon{color:#64748b;flex-shrink:0;width:20px;height:20px;margin-top:2px}.service-details{flex:1;min-width:0}.service-name{color:#1e293b;margin-bottom:4px;font-weight:500;line-height:1.4}.service-meta{color:#64748b;align-items:center;gap:12px;margin-bottom:4px;font-size:12px;display:flex}.service-price{color:#059669;background-color:#ecfdf5;border-radius:4px;padding:2px 6px;font-weight:600}.service-duration{color:#92400e;background-color:#fef3c7;border-radius:4px;padding:2px 6px}.service-stock{color:#1e40af;background-color:#dbeafe;border-radius:4px;padding:2px 6px}.service-description{color:#64748b;margin-top:4px;font-size:12px;line-height:1.4}.custom-option{background-color:#fef3c7;border-left:3px solid #f59e0b}.custom-option:hover{background-color:#fde68a}.custom-option .service-name{color:#92400e}.custom-note{color:#92400e;background-color:#fef3c7;border-radius:4px;padding:2px 6px;font-style:italic}.dropdown-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:4px;padding:8px 12px;font-size:12px}.dropdown-options::-webkit-scrollbar{width:6px}.dropdown-options::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (width<=768px){.dropdown-input{padding:10px 36px 10px 10px;font-size:16px}.dropdown-arrow{width:18px;height:18px;right:10px}.dropdown-options{max-height:250px}.service-option{gap:8px}.service-meta{flex-direction:column;align-items:flex-start;gap:4px}}.billing-form{background:#fff;border-radius:8px;max-width:800px;margin:0 auto;padding:20px;box-shadow:0 2px 10px #0000001a}.modal-content .billing-form{box-shadow:none;border-radius:0}@media (width>=900px){.billing-form{width:100%;max-width:none;padding:24px 32px}.billing-form-main-left{flex-direction:column;grid-column:1;gap:16px;display:flex}.billing-form-main-right{flex-direction:column;grid-column:2;gap:16px;display:flex}.billing-form-full-width{grid-column:1/-1}.form-row{gap:12px}.form-group{gap:4px}.form-group label{margin-bottom:2px;font-size:.85rem}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;font-size:.9rem}.form-group textarea{min-height:60px}.services-section,.spent-inventory-section{margin-top:0}.billing-summary{margin-top:0;padding:16px}.summary-row{padding:6px 0;font-size:.9rem}.summary-row.total{margin-top:6px;padding-top:10px;font-size:1rem}.form-actions{margin-top:16px;padding-top:16px}.services-section,.spent-inventory-section{padding:12px}.services-header,.spent-inventory-header{margin-bottom:12px}.service-item{margin-bottom:10px}.service-content,.spent-inventory-content{padding:10px}.service-content-header,.spent-inventory-content-header{margin-bottom:8px}.billing-form h3{margin-bottom:16px;font-size:1.3rem}.form-group small.form-help{margin-top:2px;font-size:.75rem}}.billing-form h3{color:#333;margin-bottom:24px;font-size:1.5rem;font-weight:600}.billing-form form{flex-direction:column;gap:20px;display:flex}@media (width>=900px){.billing-form form{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid!important}}.form-row.three-columns{grid-template-columns:1fr 1fr 1fr}.disabled-input{color:#666;cursor:not-allowed;background-color:#f5f5f5}.billing-dropdown-match .dropdown-input{transition:border-color .2s;box-sizing:border-box!important;background-color:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;width:100%!important;height:auto!important;min-height:auto!important;padding:10px 35px 10px 12px!important;font-size:.9rem!important;line-height:1.5!important}.billing-form .form-group.appointment-link-section{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:6px;padding:1.5rem}.billing-dropdown-match .dropdown-input:focus{border:1px solid #007bff!important;outline:none!important;box-shadow:0 0 0 2px #007bff1a!important}.billing-dropdown-match .dropdown-input-container{width:100%;position:relative}.billing-dropdown-match .dropdown-arrow{right:12px!important}.notes-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.teeth-buttons{align-items:center;gap:8px;display:flex}.btn-detail-teeth,.btn-clear-teeth{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:40px;height:36px;padding:8px 12px;font-size:16px;transition:all .2s;display:flex;position:relative}.btn-detail-teeth{color:#fff;background:#10b981}.btn-detail-teeth:hover{background:#059669;transform:translateY(-1px)}.btn-clear-teeth{color:#fff;background:#ef4444}.btn-clear-teeth:hover{background:#dc2626;transform:translateY(-1px)}.tooth-count{color:#fff;text-align:center;background:#dc2626;border:2px solid #fff;border-radius:10px;min-width:18px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px #0003}.services-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;max-height:500px;padding:16px;display:flex;overflow:hidden}.services-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.services-list{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.services-list::-webkit-scrollbar{width:8px}.services-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.services-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.services-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.services-header h4{color:#333;margin:0;font-size:1.1rem;font-weight:600}.service-item{background:#fff;border:1px solid #ddd;border-radius:6px;flex-shrink:0;margin-bottom:12px;overflow:hidden}.service-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex}.service-header h5{color:#333;margin:0;font-size:.9rem;font-weight:600}.service-content{padding:12px}.service-content-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.service-number{color:#666;background:#f0f0f0;border-radius:4px;padding:4px 8px;font-size:.85rem;font-weight:600}.service-content .form-row{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:8px}.calculated-value{color:#333;text-align:right;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:10px 12px;font-weight:600}.spent-inventory-section{background:#f0f9ff;border:1px solid #e8f4fd;border-radius:8px;flex-direction:column;max-height:500px;margin-top:20px;padding:16px;display:flex;overflow:hidden}.spent-inventory-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.inventory-list{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.inventory-list::-webkit-scrollbar{width:8px}.inventory-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.inventory-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.inventory-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.spent-inventory-header h4{color:#0369a1;margin:0;font-size:1.1rem;font-weight:600}.section-description{color:#0369a1;flex-basis:100%;margin:0;font-size:.85rem;font-style:italic}.spent-inventory-item{background:#fff;border:1px solid #bae6fd;border-radius:6px;flex-shrink:0;margin-bottom:12px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #0000000d}.spent-inventory-item:hover{border-color:#7dd3fc;box-shadow:0 2px 8px #0000001a}.spent-inventory-content{padding:12px}.spent-inventory-content-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.inventory-number{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:4px 8px;font-size:.85rem;font-weight:600}.spent-inventory-content .form-row{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:8px}.stock-display,.remaining-stock{text-align:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:10px 12px}.stock-value,.remaining-value{color:#0369a1;font-size:1.1rem;font-weight:700;display:block}.stock-unit,.remaining-unit{color:#0369a1;margin-top:2px;font-size:.8rem;display:block}.spent-inventory-content select{background-color:#f8fafc;border-color:#bae6fd}.spent-inventory-content select:focus{border-color:#0369a1;box-shadow:0 0 0 2px #0369a11a}.spent-inventory-content select.error{background-color:#fef2f2;border-color:#dc3545}.remaining-stock{background:#fef3c7;border-color:#fbbf24}.remaining-stock.low-stock{background:#fef2f2;border-color:#f87171}.remaining-value,.remaining-unit{color:#d97706}.text-warning{color:#d97706;font-weight:500}.no-clinic-id-message{text-align:center;color:#d97706;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:20px}.no-clinic-id-message p{margin:0;font-size:.9rem}.low-stock-warning{color:#dc2626;margin-top:4px;font-size:.75rem;font-weight:600;display:block}.billing-summary{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:20px;padding:20px}.summary-row{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.form-actions .btn{padding:10px 20px;font-size:.9rem}.form-actions .btn:not(.btn-outline){color:#fff;background:#007bff}.form-actions .btn:not(.btn-outline):hover{background:#0056b3}.form-actions .btn:disabled{opacity:.6;cursor:not-allowed}.loading{color:#666;justify-content:center;align-items:center;padding:40px;font-size:1rem;display:flex}@media (width<=768px){.billing-form{margin:10px;padding:16px}.form-row{grid-template-columns:1fr;gap:12px}.form-row.three-columns,.service-content .form-row,.spent-inventory-content .form-row{grid-template-columns:1fr}.spent-inventory-header,.services-header{flex-direction:column;align-items:flex-start;gap:12px}.form-actions{flex-direction:column}.form-actions .btn{width:100%;padding:var(--spacing-sm);justify-content:center;font-size:.9rem}.billing-form h3{margin-bottom:var(--spacing-sm);font-size:1.5rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm);font-size:.9rem}.service-item{padding:var(--spacing-sm)}.service-item-header{gap:var(--spacing-sm);flex-direction:column}.service-item-actions{gap:var(--spacing-xs);flex-direction:column}.service-item-actions button{width:100%;padding:var(--spacing-xs);font-size:.8rem}}@media (width<=480px){.billing-form{padding:var(--spacing-xs);margin:5px}.billing-form h3{font-size:1.3rem}.form-group label{font-size:.8rem}.form-group input,.form-group select,.form-group textarea,.form-actions .btn{padding:var(--spacing-xs);font-size:.8rem}.service-item-actions button{padding:4px 8px;font-size:.7rem}}.searchable-dropdown,.dropdown-input-container{position:relative}.dropdown-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .2s}.dropdown-input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff1a}.dropdown-arrow{cursor:pointer;color:#666;font-size:.8rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.dropdown-options{z-index:1000;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.dropdown-option{cursor:pointer;padding:10px 12px;transition:background-color .2s}.dropdown-option:hover{background:#f8f9fa}.dropdown-option.selected{color:#fff;background:#007bff}.dropdown-loading,.dropdown-no-results{color:#666;text-align:center;padding:10px 12px;font-style:italic}.dropdown-error{color:#dc3545;margin-top:4px;font-size:.8rem}.patients-module{padding:var(--spacing-md)}@media (width<=768px){.patients-module{padding:var(--spacing-sm)}.patients-filters{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.filter-options{gap:var(--spacing-sm);flex-direction:column}.search-box{order:-1}.search-box input{padding:var(--spacing-sm);font-size:1rem}.patients-stats{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr}.patient-card{margin-bottom:var(--spacing-sm)}.patient-header{align-items:flex-start;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);flex-direction:column}.patient-avatar{align-self:center;width:50px;height:50px;margin-right:0}.patient-info{text-align:center;width:100%;margin:0}.patient-info h3{margin-bottom:var(--spacing-xs);font-size:1.2rem}.patient-details{font-size:.9rem}.patient-actions{gap:var(--spacing-xs);flex-direction:column;width:100%}.patient-actions button{width:100%;padding:var(--spacing-sm);font-size:.9rem}.patient-stats-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.stat-card{padding:var(--spacing-sm)}.stat-card h3{font-size:1.5rem}.stat-card p{font-size:.9rem}}@media (width<=480px){.patients-module{padding:var(--spacing-xs)}.patient-info h3{font-size:1.1rem}.patient-details{font-size:.8rem}.patient-actions button{padding:var(--spacing-xs);font-size:.8rem}.stat-card h3{font-size:1.3rem}.stat-card p{font-size:.8rem}}.patients-filters{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.search-box input{padding-right:40px}.search-box svg,.search-box .clear-search{top:50%;right:var(--spacing-md);color:var(--dark-gray);position:absolute;transform:translateY(-50%)}.clear-search{cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.clear-search:hover{background-color:var(--light-gray);color:var(--danger-color)}.patients-stats{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(1,1fr);display:grid}.patient-card{margin-bottom:var(--spacing-md);transition:var(--transition)}.patient-card:hover{transform:translateY(-2px)}.patient-header{padding-bottom:var(--spacing-md);align-items:center;display:flex}.patient-avatar .avatar-placeholder{background-color:var(--primary-color);width:100%;height:100%;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.patient-info{margin:0 var(--spacing-md);flex:1}.patient-info h3{margin-bottom:var(--spacing-xs);font-size:18px}.patient-details{color:var(--text-light);flex-direction:column;font-size:14px;display:flex}.patient-contact,.patient-email{margin-bottom:2px}.patient-content{gap:var(--spacing-md);padding:var(--spacing-md) 0;grid-template-columns:repeat(1,1fr);display:grid}.patient-section{padding:var(--spacing-md);background-color:var(--light-gray);border-radius:var(--radius)}.section-title{margin-bottom:var(--spacing-sm);color:var(--primary-color);font-size:14px;font-weight:600}.appointment-info{margin-bottom:var(--spacing-xs);font-size:14px;display:flex}.appointment-info:last-child{margin-bottom:0}.appointment-info .label{min-width:120px;font-weight:500}.medical-conditions{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.condition-tag{color:var(--primary-color);background-color:#3498db1a;border-radius:12px;padding:2px 8px;font-size:12px}.recent-treatment{font-size:14px}.treatment-type{font-weight:500}.treatment-date,.treatment-doctor{color:var(--text-light);margin-top:2px;font-size:12px}.no-data{color:var(--text-light);font-size:14px;font-style:italic}.patient-actions{gap:var(--spacing-sm);align-items:center;display:flex}.action-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--medium-gray);border-radius:var(--radius);background-color:var(--white);color:var(--text-color);transition:var(--transition);align-items:center;font-size:14px;display:flex}.action-btn:hover{background-color:var(--light-gray);border-color:var(--primary-color);color:var(--primary-color)}.action-btn svg{margin-right:var(--spacing-xs)}.patient-actions .btn{justify-content:center;align-items:center;min-width:auto;height:32px;padding:.5rem 1rem;display:flex}.patient-actions .btn-danger{color:#fff;background-color:#ef4444;border:none;border-radius:6px;justify-content:center;align-items:center;height:32px;padding:.5rem 1rem;transition:all .2s;display:flex}.patient-actions .btn-danger:hover{background-color:#dc2626;transform:translateY(-1px)}.patient-card.deleting{pointer-events:none;animation:.8s ease-in-out forwards deleteSlideOut}@keyframes deleteSlideOut{0%{opacity:1;transform:translate(0)scale(1)}50%{opacity:.7;background-color:#fef2f2;border-color:#fecaca;transform:translate(-20px)scale(.98)}to{opacity:0;height:0;margin-bottom:0;padding:0;overflow:hidden;transform:translate(-100px)scale(.9)}}.patient-actions .btn-danger.loading{cursor:not-allowed;background-color:#f87171}.patient-actions .btn-danger.loading:hover{background-color:#f87171;transform:none}.patient-card.deleting .patient-actions .btn{opacity:.6;cursor:not-allowed}.no-results{text-align:center;padding:var(--spacing-xl) 0;color:var(--text-light)}@media (width>=576px){.patients-filters{flex-direction:row}.patients-stats,.patient-content{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.modal-content{width:100%;min-width:auto;max-height:95vh;padding:var(--spacing-md)}.modal-container{width:100%;max-width:95vw;margin:10px}}@media (width<=480px){.modal-content{width:100%;min-width:auto;max-height:98vh;padding:var(--spacing-sm)}.modal-container{width:100%;max-width:98vw;margin:5px}}.patients-list{height:auto!important;max-height:none!important;overflow:visible!important}.patient-form{width:100%;max-width:800px}.patient-form h3{margin-bottom:var(--spacing-md);text-align:center;color:var(--primary-color);font-size:24px}.form-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--light-gray);border-radius:var(--radius)}.form-section h4{margin-bottom:var(--spacing-md);color:var(--text-color);border-bottom:1px solid var(--medium-gray);padding-bottom:var(--spacing-sm);font-size:18px}@media (width>=576px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-group label{margin-bottom:var(--spacing-xs);font-size:14px;font-weight:500;display:block}.error-message{color:#dc2626!important;z-index:1!important;background:0 0!important;border:none!important;margin-top:4px!important;margin-bottom:8px!important;padding:0!important;font-size:12px!important;font-weight:500!important;line-height:1.4!important;display:block!important;position:relative!important}.general-error{color:#dc2626!important;z-index:2!important;background-color:#fef2f2!important;border:1px solid #fecaca!important;border-radius:6px!important;margin-bottom:16px!important;padding:12px!important;font-size:14px!important;font-weight:500!important;position:relative!important}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626!important}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:#dc2626!important;box-shadow:0 0 0 2px #dc262633!important}.modal-content .error-message{color:#dc2626!important;z-index:10!important;margin-top:4px!important;margin-bottom:8px!important;font-size:12px!important;font-weight:500!important;display:block!important;position:relative!important}.modal-content .general-error{color:#dc2626!important;z-index:10!important;background-color:#fef2f2!important;border:1px solid #fecaca!important;border-radius:6px!important;margin-bottom:16px!important;padding:12px!important;position:relative!important}.minimal-patient-form .form-description{color:var(--text-color);margin-bottom:var(--spacing-lg);text-align:center;opacity:.8;font-size:14px;line-height:1.5}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer;margin:2px 0 0}.checkbox-label{cursor:pointer;align-items:flex-start;margin-bottom:0;font-weight:400;line-height:1.5;display:flex}.checkbox-text{color:var(--text-color);font-size:14px}@media (width<=768px){.patient-form{max-width:100%;padding:var(--spacing-sm)}.patient-form h3{margin-bottom:var(--spacing-sm);font-size:1.5rem}.form-section{padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-section h4{margin-bottom:var(--spacing-sm);font-size:1.2rem}.form-row{gap:var(--spacing-sm);grid-template-columns:1fr}.form-group{margin-bottom:var(--spacing-sm)}.form-group label{font-size:.9rem}.form-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-direction:column}.form-actions .btn{width:100%;min-width:auto;padding:var(--spacing-sm);font-size:.9rem}}@media (width<=480px){.patient-form{padding:var(--spacing-xs)}.patient-form h3{font-size:1.3rem}.form-section{padding:var(--spacing-xs)}.form-section h4{font-size:1.1rem}.form-group label{font-size:.8rem}.form-actions .btn{padding:var(--spacing-xs);font-size:.8rem}}.patient-profile{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:100%;max-height:90vh;overflow-y:auto}.profile-header{border-bottom:1px solid var(--medium-gray);align-items:center;padding:24px;display:flex;position:relative}@media (width<=768px){.profile-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.profile-actions{justify-content:space-between;width:100%}.patient-contact-info{flex-direction:column;gap:8px}}.patient-profile .patient-contact-info .email-item .email-text{margin-right:10px}@media (width<=480px){.profile-header{gap:12px;padding:12px}.patient-header-details h2{font-size:20px}.profile-actions{flex-direction:column;gap:8px;border-top:none!important}.profile-actions .btn{width:100%}}.patient-avatar-large{width:80px;height:80px;margin-right:var(--spacing-lg);border:3px solid var(--primary-color);border-radius:50%;overflow:hidden}.patient-avatar-large .avatar-placeholder{background-color:var(--primary-color);width:100%;height:100%;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:600;display:flex}.patient-header-details{flex:1}.patient-header-details h2{margin-bottom:var(--spacing-xs);font-size:24px}.patient-meta{color:var(--text-light);margin-bottom:var(--spacing-sm)}.patient-meta span{margin-right:var(--spacing-md)}.patient-contact-info{gap:var(--spacing-md);display:flex}.contact-item{align-items:center;display:flex}.contact-item svg{margin-right:var(--spacing-xs);color:var(--primary-color)}.profile-actions{gap:var(--spacing-sm);border-top:none;display:flex}.profile-actions .btn-outline{border:2px solid var(--primary-color);cursor:pointer;background-color:#0000;padding:10px 20px;font-weight:500;text-decoration:none;transition:all .3s;color:var(--primary-color)!important}.profile-actions .btn-outline:hover{border-color:var(--primary-color);box-shadow:0 4px 8px rgba(var(--primary-rgb), .3);transform:translateY(-1px);background-color:var(--primary-color)!important;color:var(--white)!important}.profile-actions .btn-outline:focus{box-shadow:0 0 0 3px rgba(var(--primary-rgb), .2);outline:none}.profile-actions .btn-outline:active{box-shadow:0 2px 4px rgba(var(--primary-rgb), .3);transform:translateY(0)}.close-profile{top:var(--spacing-md);right:var(--spacing-md);color:var(--dark-gray);cursor:pointer;transition:var(--transition);background:0 0;border:none;position:absolute}.close-profile:hover{color:var(--danger-color)}.profile-tabs{border-bottom:1px solid var(--medium-gray);white-space:nowrap;display:flex;overflow-x:auto}.profile-tabs button{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-light);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:3px solid #0000;font-weight:500}.profile-tabs button:hover{color:var(--primary-color)}.profile-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.profile-content{padding:var(--spacing-lg);width:100%;max-width:100%}.overview-tab,.appointments-tab,.files-tab,.billing-tab,.case-history-tab,.letters-tab{width:100%;max-width:100%}.vitals-section{margin-bottom:var(--spacing-lg)}.case-history-header{margin-bottom:var(--spacing-md);flex-direction:column;gap:4px;display:flex}.case-history-actions{margin-bottom:var(--spacing-sm);justify-content:flex-end;display:flex}.case-history-header h3{margin:0}.case-history-subtitle{color:var(--text-light);font-size:.95rem}.case-history-list{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.case-card{border:1px solid var(--medium-gray);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--white);gap:var(--spacing-sm);flex-direction:column;display:flex;box-shadow:0 1px 2px #0000000a}.case-card-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.case-card-datetime{align-items:baseline;gap:var(--spacing-sm);display:flex}.case-date{font-weight:600}.case-time{color:var(--text-light);font-size:.9rem}.case-card-meta{color:var(--text-light);font-size:.95rem}.case-card-notes{color:var(--text-color);white-space:pre-wrap;line-height:1.6}.link-button{color:var(--primary-color);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.link-button:hover{text-decoration:underline}@media (width<=680px){.case-history-list{grid-template-columns:1fr}}.vitals-grid{gap:var(--spacing-md);margin-top:var(--spacing-md);grid-template-columns:repeat(1,1fr);display:grid}.vital-card{background-color:var(--light-gray);border-radius:var(--radius);padding:var(--spacing-md);align-items:center;display:flex}.vital-icon{width:40px;height:40px;margin-right:var(--spacing-md);color:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.blood-pressure{background-color:var(--primary-color)}.heart-rate{background-color:var(--danger-color)}.temperature{background-color:var(--warning-color)}.weight{background-color:var(--accent-color)}.vital-data{flex:1}.vital-value{font-size:18px;font-weight:600}.vital-label{color:var(--text-light);font-size:12px}.overview-grid{gap:var(--spacing-md);grid-template-columns:repeat(1,1fr);display:grid}.next-appointment{padding:var(--spacing-md);background-color:var(--light-gray);border-radius:var(--radius);margin-top:var(--spacing-sm)}.appointment-date{margin-bottom:var(--spacing-xs);font-size:16px;font-weight:600}.appointment-type{font-size:14px}.appointment-doctor{color:var(--text-light);margin-top:var(--spacing-xs);font-size:12px}.no-appointment{text-align:center;padding:var(--spacing-md)}.medications-list{padding:0;list-style:none}.medication-item{padding:var(--spacing-sm);border-bottom:1px solid var(--medium-gray)}.medication-item:last-child{border-bottom:none}.medication-name{font-weight:500}.medication-condition,.medication-since{color:var(--text-light);font-size:12px}.allergies-content{padding:var(--spacing-sm) 0}.allergies-content h4{margin-bottom:var(--spacing-sm);font-size:16px}.notes-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--medium-gray)}.insurance-info{padding:var(--spacing-sm) 0}.insurance-info div{margin-bottom:var(--spacing-sm)}.status-active{color:var(--secondary-color);font-weight:500}.medical-table,.treatment-table,.billing-table{border-collapse:collapse;width:100%;margin-top:var(--spacing-md)}.medical-table th,.treatment-table th,.billing-table th{text-align:left;padding:var(--spacing-sm);background-color:var(--light-gray);font-weight:600}.medical-table td,.treatment-table td,.billing-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--medium-gray)}.no-data-message{padding:var(--spacing-lg);text-align:center;color:var(--text-light)}.appointments-header,.files-header,.billing-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.appointment-filters,.billing-filters{gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.date-range-filters{align-items:end;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.filter-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.filter-group label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.filter-group input[type=date]{padding:var(--spacing-sm);border:1px solid var(--medium-gray);border-radius:var(--radius-sm);background-color:var(--white);color:var(--text-dark);min-width:140px;font-size:14px}.filter-group input[type=date]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb), .1);outline:none}@media (width<=768px){.date-range-filters{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.filter-group{width:100%}.filter-group input[type=date]{width:100%;min-width:auto}}.appointment-history-item{padding:var(--spacing-md);border-bottom:1px solid var(--medium-gray);display:flex}.appointment-history-item:last-child{border-bottom:none}.appointment-date-time{min-width:100px;margin-right:var(--spacing-md)}.appointment-details{flex:1}.appointment-type{font-weight:500}.appointment-notes{color:var(--text-light);margin-top:var(--spacing-xs);font-size:12px}.files-grid{gap:var(--spacing-md);grid-template-columns:repeat(1,1fr);display:grid}.file-card{background-color:var(--light-gray);border-radius:var(--radius);padding:var(--spacing-md);align-items:center;display:flex}.file-icon{width:40px;height:40px;margin-right:var(--spacing-md);color:var(--primary-color);justify-content:center;align-items:center;display:flex}.file-details{flex:1}.file-name{font-weight:500}.file-meta{color:var(--text-light);font-size:12px}.file-type{margin-right:var(--spacing-md)}.file-actions{gap:var(--spacing-sm);display:flex}.billing-summary{margin-bottom:var(--spacing-md)}.summary-title{margin-bottom:var(--spacing-md);font-size:18px;font-weight:600}.billing-stats{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.billing-stat{padding:var(--spacing-md);background-color:var(--light-gray);border-radius:var(--radius);text-align:center}.billing-stat .stat-value{margin-bottom:var(--spacing-xs);font-size:20px;font-weight:600}.billing-stat .stat-label{color:var(--text-light);font-size:14px}@media (width>=576px){.vitals-grid,.overview-grid,.files-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=992px){.vitals-grid,.billing-stats{grid-template-columns:repeat(4,1fr)}}@media (width<=768px){.modal-content{width:100%;min-width:auto;max-width:100%;max-height:95vh;padding:var(--spacing-md)}.modal-container{width:100%;max-width:95vw;margin:10px}}@media (width<=480px){.modal-content{width:100%;min-width:auto;max-width:100%;max-height:98vh;padding:var(--spacing-sm)}.modal-container{width:100%;max-width:98vw;margin:5px}}.files-tab{padding:24px}.files-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.files-header h3{color:var(--dark-gray);margin:0;font-size:1.5rem;font-weight:600}.files-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;gap:20px;margin-bottom:24px;padding:16px;display:flex}.filter-group{flex-direction:column;gap:6px;min-width:200px;display:flex}.filter-group label{color:#374151;font-size:14px;font-weight:500}.filter-group select,.filter-group input{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px}.filter-group select:focus,.filter-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.files-content{min-height:200px}.loading-files{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.no-files{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.no-files svg{color:#d1d5db;margin-bottom:16px}.no-files h3{color:#374151;margin:0 0 8px;font-size:1.25rem;font-weight:600}.no-files p{margin:0 0 20px;font-size:14px;line-height:1.5}@media (width<=768px){.files-tab{padding:16px}.files-header{flex-direction:column;align-items:flex-start;gap:16px}.files-filters{flex-direction:column;gap:16px}.filter-group{min-width:auto}}.letters-tab{padding:24px}.letters-header{flex-direction:column;gap:4px;margin-bottom:24px;display:flex}.letters-header h3{color:var(--dark-gray);margin:0;font-size:1.5rem;font-weight:600}.letters-subtitle{color:var(--medium-gray);font-size:.9rem}.letters-list{flex-direction:column;gap:16px;display:flex}.letter-card{border:1px solid var(--light-gray);background:var(--white);border-radius:8px;gap:12px;padding:16px;transition:all .2s;display:flex}.letter-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.letter-card-content-wrapper{cursor:pointer;flex:1}.letter-card-actions{flex-shrink:0;align-items:center;display:flex}.letter-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.letter-card-header h4{color:var(--dark-gray);flex:1;margin:0;font-size:1.1rem;font-weight:600}.letter-date{color:var(--medium-gray);white-space:nowrap;font-size:.875rem}.letter-card-content{color:var(--dark-gray);font-size:.95rem;line-height:1.5}.letter-card-content p{margin:0}.letter-details-modal{width:100%;max-width:800px}.letter-meta{border-bottom:1px solid var(--light-gray);margin-bottom:24px;padding-bottom:16px}.letter-meta-item{color:var(--medium-gray);font-size:.9rem}.letter-content{margin-top:16px}.letter-content-body{color:var(--dark-gray);font-size:1rem;line-height:1.8}.letter-content-body p{margin:0 0 12px}@media (width<=768px){.letters-tab{padding:16px}.letter-card-header{flex-direction:column;align-items:flex-start;gap:8px}.letter-date{font-size:.8rem}}.procedure-overview-card{cursor:pointer;transition:var(--transition)}.procedure-overview-card:hover{box-shadow:var(--shadow-strong)}.procedure-overview-name{color:var(--text-dark);font-size:1.05rem;font-weight:600}.procedure-overview-type{color:var(--text-light);margin-bottom:var(--spacing-sm);font-size:.8rem}.procedure-overview-stage,.procedure-overview-progress{color:var(--text-color);margin-top:4px;font-size:.9rem}.procedure-overview-stage .po-label,.procedure-overview-progress .po-label{color:var(--text-light)}.procedure-overview-balance{margin-top:var(--spacing-sm);font-size:.9rem;font-weight:600}.procedure-overview-balance.has-due{color:var(--danger-color)}.procedure-overview-balance.settled{color:var(--secondary-color)}.procedure-overview-empty{color:var(--text-light)}.procedure-overview-empty .btn{margin-top:var(--spacing-sm)}.more-procedures{margin-top:var(--spacing-sm);color:var(--text-light)}.procedures-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.procedures-list{gap:var(--spacing-md);flex-direction:column;display:flex}.procedure-card-head{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.procedure-card-title{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.procedure-card-title h4{color:var(--text-dark);margin:0;font-size:1.05rem}.procedure-status-badge{text-transform:capitalize;background:var(--light-gray);color:var(--text-color);border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.procedure-status-badge.status-in_progress{background:rgba(var(--primary-rgb,52, 152, 219), .15);color:var(--primary-color)}.procedure-status-badge.status-completed{color:var(--secondary-color);background:#2ecc7126}.procedure-status-badge.status-on_hold{color:var(--warning-color);background:#f39c1226}.procedure-status-badge.status-planned{background:var(--light-gray);color:var(--text-light)}.procedure-card-actions{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.procedure-status-select{border:1px solid var(--medium-gray);border-radius:var(--radius-sm);padding:5px 8px;font-size:.8rem}.btn-danger-outline{color:var(--danger-color);border-color:var(--danger-color)}.procedure-meta{gap:var(--spacing-md);margin-top:var(--spacing-sm);color:var(--text-color);flex-wrap:wrap;font-size:.85rem;display:flex}.procedure-money{gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap;display:flex}.pm-item{background:var(--light-gray);border-radius:var(--radius-sm);flex-direction:column;min-width:110px;padding:8px 14px;display:flex}.pm-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.pm-value{color:var(--text-dark);font-size:.95rem;font-weight:600}.pm-item.pm-due .pm-value{color:var(--danger-color)}.pm-item.pm-settled .pm-value{color:var(--secondary-color)}.procedure-notes{margin-top:var(--spacing-sm);color:var(--text-color);background:var(--light-gray);border-radius:var(--radius-sm);padding:8px 12px;font-size:.85rem}.procedure-sessions-bar{margin-top:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.btn-link{color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.btn-link-danger{color:var(--danger-color)}.procedure-session-timeline{margin-top:var(--spacing-md);border-top:1px solid var(--light-gray);padding-top:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}.session-item{gap:var(--spacing-sm);display:flex}.session-marker{background:var(--primary-color);height:26px;color:var(--white);border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:flex}.session-body{flex:1}.session-row-top{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.session-stage{color:var(--text-dark);font-size:.9rem;font-weight:600}.session-date{color:var(--text-light);font-size:.8rem}.session-notes{color:var(--text-color);margin-top:2px;font-size:.85rem}.session-row-bottom{align-items:center;gap:var(--spacing-md);flex-wrap:wrap;margin-top:4px;font-size:.8rem;display:flex}.session-paid{color:var(--secondary-color);font-weight:600}.session-next{color:var(--text-light)}.procedure-form .form-row{gap:var(--spacing-md);display:flex}.procedure-form .form-row .form-group{flex:1}@media (width<=576px){.procedure-form .form-row{flex-direction:column;gap:0}}.proc-teeth-picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.proc-teeth-chips,.procedure-teeth{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.fdi-chip{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe;border-radius:12px;justify-content:center;align-items:center;min-width:30px;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-flex}button.fdi-chip-clickable{cursor:pointer;transition:background .15s}button.fdi-chip-clickable:hover{background:#bfdbfe}.proc-teeth-empty{color:#9ca3af;font-size:.85rem;font-style:italic}.proc-teeth-legacy{color:#6b7280;margin-top:6px;font-size:.8rem}.tooth-history-panel{margin-bottom:16px}.tooth-history-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tooth-history-input{border:1px solid #d1d5db;border-radius:6px;width:90px;padding:6px 10px}.tooth-history-results{border-top:1px solid #f0f0f0;margin-top:14px;padding-top:12px}.tooth-history-results h4{color:#374151;margin:0 0 8px;font-size:.95rem}.tooth-history-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.tooth-history-list li{color:#4b5563;font-size:.875rem}.session-doctor{color:#6b7280;margin:2px 0;font-size:.8rem;font-style:italic}.patient-edit-modal{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-strong);width:100%;max-width:800px;max-height:90vh;position:relative;overflow-y:auto}.modal-content{border-radius:var(--radius);width:fit-content;min-width:min(400px,95vw);max-width:95vw;max-height:90vh;box-shadow:var(--shadow-strong);background:var(--white);padding:var(--spacing-lg);overflow-y:auto}.patient-edit-header{padding:var(--spacing-lg);border-bottom:1px solid var(--medium-gray);background:var(--white);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.patient-edit-header h2{color:var(--text-color);margin:0;font-size:24px;font-weight:600}.patient-edit-content{padding:var(--spacing-lg)}.form-row{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.form-group label{margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;display:block;color:#000!important}.form-input{width:100%;padding:var(--spacing-md);border:2px solid var(--medium-gray);border-radius:var(--radius);transition:var(--transition);background:var(--white);box-sizing:border-box;font-size:16px}.form-input[type=number]{-moz-appearance:textfield}.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}textarea.form-input{resize:vertical;min-height:80px}.patient-edit-actions{justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--medium-gray);margin-top:var(--spacing-xl);display:flex}.btn{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);transition:var(--transition);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-sm);border:none;min-width:120px;font-size:16px;font-weight:500;display:inline-flex}.btn-secondary:hover:not(:disabled){background-color:var(--medium-gray);color:var(--text-color)}@media (width<=768px){.modal-content{width:100%;min-width:auto;max-height:95vh;padding:var(--spacing-md)}.close-button{width:28px;height:28px;font-size:20px}.form-section{margin-bottom:var(--spacing-lg)}.form-section h4{margin-bottom:var(--spacing-sm);font-size:1.1rem}.form-group{margin-bottom:var(--spacing-sm)}.form-group label{font-size:.9rem}.form-input{padding:var(--spacing-sm);font-size:.9rem}.patient-edit-actions{gap:var(--spacing-sm);padding:var(--spacing-md);flex-direction:column}.patient-edit-actions .btn{width:100%;padding:var(--spacing-sm);font-size:.9rem}.patient-edit-modal{max-width:100%;margin:var(--spacing-sm)}.patient-edit-header{padding:var(--spacing-md)}.patient-edit-header h2{font-size:20px}.patient-edit-content{padding:var(--spacing-md)}.form-row{gap:var(--spacing-sm);grid-template-columns:1fr}.patient-edit-actions{flex-direction:column}.btn{width:100%}}@media (width<=480px){.modal-content{width:100%;min-width:auto;max-height:98vh;padding:var(--spacing-sm)}.patient-edit-header{padding:var(--spacing-sm)}.patient-edit-header h2{font-size:1.2rem}.close-button{width:26px;height:26px;font-size:18px}.patient-edit-content{padding:var(--spacing-sm)}.form-section h4{font-size:1rem}.form-group label{font-size:.8rem}.form-input{padding:var(--spacing-xs);font-size:16px}.patient-edit-actions{padding:var(--spacing-sm)}.patient-edit-actions .btn{padding:var(--spacing-xs);font-size:.8rem}}@media (prefers-color-scheme:dark){.patient-edit-modal{background:var(--white)!important;color:var(--text-color)!important}.patient-edit-header{background:var(--white)!important;border-bottom-color:var(--medium-gray)!important}.form-input{background:var(--white)!important;border-color:var(--medium-gray)!important;color:var(--text-color)!important}.form-input:focus{border-color:var(--primary-color)!important}.btn-secondary{background:var(--light-gray)!important;border-color:var(--medium-gray)!important;color:var(--text-color)!important}.btn-secondary:hover:not(:disabled){background:var(--medium-gray)!important}.form-section h4{border-bottom-color:var(--primary-color)!important}.patient-edit-actions{border-color:var(--medium-gray)!important}}@media (prefers-reduced-motion:reduce){.btn,.form-input,.close-button{transition:none}.spinner{animation:none}}.btn:focus,.form-input:focus,.close-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.patient-file-upload{background:#fff;border-radius:12px;max-width:600px;margin:0 auto;overflow:hidden;box-shadow:0 4px 6px #0000001a}.upload-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.upload-header h3{margin:0;font-size:1.25rem;font-weight:600}.btn-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.5rem;transition:background-color .2s}.btn-close:hover:not(:disabled){background-color:#fff3}.btn-close:disabled{opacity:.5;cursor:not-allowed}.upload-form{padding:24px}.form-group label{color:#374151;margin-bottom:8px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.file-drop-zone{text-align:center;cursor:pointer;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;transition:all .3s}.file-drop-zone:hover{background:#f0f4ff;border-color:#667eea}.file-drop-zone.drag-active{background:#e0e7ff;border-color:#667eea;transform:scale(1.02)}.drop-zone-content{flex-direction:column;align-items:center;gap:16px;display:flex}.upload-icon{color:#9ca3af;transition:color .3s}.file-drop-zone:hover .upload-icon{color:#667eea}.drop-zone-text{color:#6b7280;margin:0;font-size:16px}.tags-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:12px}.tags-list{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tag{color:#3730a3;background:#e0e7ff;border-radius:16px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.tag-remove{color:#6b7280;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:14px;line-height:1}.tag-remove:hover{color:#dc2626}.tag-input-group input{background:0 0;border:none;flex:1;margin:0;padding:4px 0}.tag-input-group input:focus{border:none;outline:none}.selected-files{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:16px}.selected-files h4{color:#374151;margin:0 0 12px;font-size:14px;font-weight:600}.files-list{flex-direction:column;gap:8px;display:flex}.file-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.file-info{flex:1;align-items:center;gap:12px;display:flex}.file-icon{font-size:20px}.file-details{flex-direction:column;gap:2px;display:flex}.file-name{color:#374151;font-size:14px;font-weight:500}.file-size{color:#6b7280;font-size:12px}.btn-remove-file{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px;transition:background-color .2s}.btn-remove-file:hover:not(:disabled){background-color:#fef2f2}.btn-remove-file:disabled{opacity:.5;cursor:not-allowed}.upload-progress{background:#f0f4ff;border:1px solid #c7d2fe;border-radius:8px;margin:20px 0;padding:16px}.progress-bar{background:#e5e7eb;border-radius:4px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s}.progress-text{color:#3730a3;font-size:14px;font-weight:500}.upload-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.alert pre{white-space:pre-wrap;margin:0;font-family:inherit}@media (width<=640px){.patient-file-upload{border-radius:0;margin:0}.upload-form{padding:16px}.upload-actions{flex-direction:column}.btn{width:100%}.file-item{flex-direction:column;align-items:flex-start;gap:8px}.file-actions{align-self:flex-end}}.file-preview-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;box-sizing:border-box;will-change:opacity;pointer-events:auto;isolation:isolate;background:#000c;border:none;outline:none;flex-direction:column;width:100vw;height:100vh;margin:0;padding:20px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.file-preview-modal *{box-sizing:border-box}.file-preview-modal{contain:layout style paint;transform:translateZ(0)}@keyframes modalFadeIn{0%{opacity:0;transform:translateZ(0)scale(.95)}to{opacity:1;transform:translateZ(0)scale(1)}}.preview-header{background:#fff;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:15px 20px;display:flex;box-shadow:0 2px 10px #0000001a}.file-info h3{color:#333;word-break:break-all;margin:0 0 5px;font-size:18px}.file-meta{color:#666;gap:15px;font-size:14px;display:flex}.file-meta span{background:#f5f5f5;border-radius:4px;padding:2px 8px}.preview-actions{gap:10px;display:flex}.btn-icon{cursor:pointer;background:#f8f9fa;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .2s;display:flex}.btn-icon:hover{background:#e9ecef;transform:translateY(-1px)}.preview-content{background:#fff;border-radius:0 0 8px 8px;flex:1;justify-content:center;align-items:center;min-height:0;max-height:calc(100vh - 120px);display:flex;position:relative;overflow:hidden}.preview-loading{color:#666;flex-direction:column;align-items:center;gap:15px;padding:2rem;display:flex}.spinner{border:4px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}.progress-bar{background:#f3f3f3;border-radius:2px;width:200px;height:4px;margin-top:1rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#007bff,#00d4ff);border-radius:2px;height:100%;transition:width .3s}.preview-error{color:#dc3545;text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:500px;margin:0 auto;padding:2rem;display:flex}.error-icon{opacity:.8;font-size:3rem}.preview-error h3{color:#dc3545;margin:0 0 1rem;font-size:1.5rem;font-weight:600}.preview-error p{color:#666;margin:0 0 2rem;font-size:16px;line-height:1.5}.error-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.image-preview{background:#f8f9fa;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.image-preview img{-o-object-fit:contain;object-fit:contain;border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 4px 12px #00000026}.pdf-preview{width:100%;height:100%}.pdf-preview iframe{border:none;width:100%;height:100%}.text-preview{width:100%;height:100%}.text-preview iframe{border:none;width:100%;height:100%}.no-preview{text-align:center;color:#666;flex-direction:column;align-items:center;gap:20px;padding:40px;display:flex}.file-icon-large{opacity:.5;font-size:64px}.no-preview h3{color:#333;margin:0;font-size:20px}.no-preview p{margin:0;font-size:16px}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;margin:.25rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-secondary:hover{background:#545b62}@media (width<=768px){.file-preview-modal{padding:10px}.preview-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:10px 15px}.file-info h3{font-size:16px}.file-meta{flex-direction:column;gap:5px}.file-meta span{font-size:12px}.error-actions,.preview-actions{flex-direction:column;align-items:center}.btn{justify-content:center;width:100%;max-width:200px}}.patient-file-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px;transition:all .2s;box-shadow:0 1px 3px #0000001a}.patient-file-card:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.file-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:14px}.auth-error{color:#856404;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.auth-error span:first-child{font-size:16px}.auth-error .btn{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:4px;margin-left:auto;padding:4px 12px;font-size:12px;transition:background .2s}.auth-error .btn:hover{background:#0056b3}.file-header{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.file-icon{flex-shrink:0;margin-top:4px;font-size:32px}.file-info{flex:1;min-width:0}.file-name{color:#374151;word-break:break-word;flex:auto;margin:0 0 8px;font-size:16px;font-weight:600}.file-meta{color:#6b7280;flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.file-category{color:#3730a3;background:#e0e7ff;border-radius:12px;padding:2px 8px;font-weight:500}.file-size,.file-date{font-weight:500}.file-actions{flex-shrink:0;gap:8px;display:flex}.btn-icon{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:8px;font-size:16px;transition:all .2s;display:flex}.btn-icon:hover:not(:disabled){color:#374151;background:#f9fafb;border-color:#9ca3af}.btn-icon.btn-danger:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fca5a5}.file-content{margin-top:16px}.file-description{color:#374151;margin-bottom:12px;font-size:14px;line-height:1.5}.file-description strong{color:#111827;font-weight:600}.file-tags{margin-bottom:12px}.file-tags strong{color:#111827;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.tags-display{flex-wrap:wrap;gap:6px;display:flex}.tags-display .tag{color:#374151;background:#f3f4f6;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:500}.file-edit-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;padding:16px}.file-edit-form .form-group{margin-bottom:16px}.file-edit-form label{color:#374151;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.file-edit-form textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-size:14px}.file-edit-form textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.tags-edit{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px}.tags-edit .tags-list{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tags-edit .tag{color:#3730a3;background:#e0e7ff;border-radius:12px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.tags-edit .tag-remove{color:#6b7280;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:12px;line-height:1}.tags-edit .tag-remove:hover{color:#dc2626}.tag-input-group{gap:8px;display:flex}.tag-input-group input{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:6px 8px;font-size:12px}.tag-input-group input:focus{border-color:#667eea;outline:none}.tag-input-group .btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:4px;padding:6px 12px;font-size:12px}.tag-input-group .btn:hover:not(:disabled){background:#5a67d8}.tag-input-group .btn:disabled{opacity:.5;cursor:not-allowed}.edit-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;display:flex}.edit-actions .btn{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.edit-actions .btn:disabled{opacity:.5;cursor:not-allowed}.edit-actions .btn-outline{color:#374151;background:#fff;border:1px solid #d1d5db}.edit-actions .btn-outline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.edit-actions .btn-primary{color:#fff;background:#667eea;border:none}.edit-actions .btn-primary:hover:not(:disabled){background:#5a67d8}@media (width<=640px){.patient-file-card{padding:16px}.file-header{flex-direction:column;gap:12px}.file-actions{align-self:flex-start}.file-meta{flex-direction:column;gap:4px}.edit-actions{flex-direction:column}.edit-actions .btn{width:100%}}.btn-icon:disabled{position:relative}.btn-icon:disabled:after{content:"";border:2px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin;position:absolute}.file-card[data-file-type=image] .file-icon{color:#10b981}.file-card[data-file-type=pdf] .file-icon{color:#dc2626}.file-card[data-file-type=document] .file-icon{color:#2563eb}.file-card[data-file-type=spreadsheet] .file-icon{color:#059669}.file-card[data-file-type=presentation] .file-icon{color:#7c3aed}.file-card[data-file-type=medical] .file-icon{color:#dc2626}.psa-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.psa-enter{animation:.35s forwards psaFadeIn}.psa-idle{opacity:1}.psa-exit{animation:.5s forwards psaFadeOut}@keyframes psaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes psaFadeOut{0%{opacity:1}to{opacity:0}}.psa-particles{pointer-events:none;position:fixed;inset:0;overflow:hidden}.psa-particle{transform:rotate(var(--rotate,0deg));color:inherit;border-radius:3px;justify-content:center;align-items:center;line-height:1;animation:linear infinite psaFall;display:flex;position:absolute;top:-40px}@keyframes psaFall{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(540deg)}}.psa-card{text-align:center;background:#fff;border-radius:24px;width:92%;max-width:420px;padding:40px 36px 32px;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards psaSlideUp;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000040}@keyframes psaSlideUp{0%{opacity:0;transform:translateY(60px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.psa-card:before{content:"";background:linear-gradient(90deg,#22c55e,#3b82f6,#22c55e) 0 0/200%;height:5px;animation:2s linear infinite psaShimmer;position:absolute;top:0;left:0;right:0}@keyframes psaShimmer{0%{background-position:0%}to{background-position:200%}}.psa-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1;position:absolute;top:14px;right:18px}.psa-close:hover{color:#374151}.psa-icon-wrap{justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 20px;display:flex;position:relative}.psa-glow{background:radial-gradient(circle,#22c55e40 0%,#0000 70%);border-radius:50%;animation:1.8s ease-in-out infinite psaPulse;position:absolute;inset:0}@keyframes psaPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.3;transform:scale(1.2)}}.psa-tooth-ring{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:3px solid #22c55e;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;animation:.7s cubic-bezier(.34,1.56,.64,1) .2s both psaBounceIn;display:flex;position:relative}@keyframes psaBounceIn{0%{opacity:0;transform:scale(0)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.psa-tooth-svg{filter:drop-shadow(0 2px 4px #22c55e4d);width:44px;height:50px}.psa-check-badge{background:#22c55e;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;animation:.4s cubic-bezier(.34,1.56,.64,1) .7s both psaPopIn;display:flex;position:absolute;bottom:-4px;right:-4px}.psa-check-badge svg{width:14px;height:14px}@keyframes psaPopIn{0%{transform:scale(0)}to{transform:scale(1)}}.psa-sparkle{color:#f59e0b;transform-origin:50%;width:60px;height:60px;transform:rotate(var(--deg)) translateY(-52px) rotate(calc(-1 * var(--deg)));animation:psaSparkle 1.4s ease-out var(--delay,.5s) both;--delay:.5s;justify-content:center;align-items:flex-start;margin:-30px 0 0 -30px;font-size:13px;display:flex;position:absolute;top:50%;left:50%}.psa-sparkle:nth-child(2){--delay:.55s}.psa-sparkle:nth-child(3){--delay:.6s}.psa-sparkle:nth-child(4){--delay:.65s}.psa-sparkle:nth-child(5){--delay:.7s}.psa-sparkle:nth-child(6){--delay:.75s}@keyframes psaSparkle{0%{opacity:0;transform:rotate(var(--deg)) translateY(-40px) scale(0)}50%{opacity:1;transform:rotate(var(--deg)) translateY(-58px) scale(1.3)}to{opacity:0;transform:rotate(var(--deg)) translateY(-70px) scale(0)}}.psa-title{color:#111827;margin:0 0 6px;font-size:1.7rem;font-weight:800;animation:.5s .5s both psaFadeUp}.psa-subtitle{color:#6b7280;margin:0 0 20px;font-size:1rem;animation:.5s .6s both psaFadeUp}@keyframes psaFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.psa-amount{color:#15803d;margin:0 0 20px;font-size:2.2rem;font-weight:900;animation:.5s .7s both psaFadeUp,.6s .7s both psaCountUp}@keyframes psaCountUp{0%{transform:scale(.7)}to{transform:scale(1)}}.psa-meta{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin:0 0 24px;padding:12px 16px;animation:.5s .8s both psaFadeUp}.psa-meta-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:.85rem;display:flex}.psa-meta-row:last-child{border-bottom:none}.psa-meta-row span:first-child{color:#6b7280;white-space:nowrap;font-weight:500}.psa-meta-row span:last-child{color:#111827;text-align:right;font-weight:600}.psa-mono{word-break:break-all;font-family:monospace;font-size:.78rem}.psa-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:12px;padding:12px 40px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;animation:.5s .9s both psaFadeUp;box-shadow:0 4px 14px #22c55e66}.psa-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22c55e73}.psa-btn:active{transform:translateY(0)}.payment-link-display{background:#fff;border-radius:12px;max-width:500px;margin:20px auto;padding:24px;box-shadow:0 4px 6px #0000001a}.payment-link-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.payment-link-header h3{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.close-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;transition:all .2s;display:flex}.close-button:hover{color:#1f2937;background:#f3f4f6}.payment-link-content{flex-direction:column;gap:20px;display:flex}.qr-code-section{background:#f9fafb;border-radius:8px;flex-direction:column;align-items:center;gap:16px;padding:20px;display:flex}.qr-code-container{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a}.download-qr-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:background .2s}.download-qr-button:hover{background:#2563eb}.payment-details{background:#f9fafb;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.payment-amount,.payment-description{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.payment-amount .label,.payment-description .label{color:#4b5563;min-width:100px;font-weight:600}.payment-amount .value{color:#059669;font-size:1.25rem;font-weight:700}.payment-description .value{color:#1f2937;text-align:right;flex:1}.payment-link-url{flex-direction:column;gap:8px;display:flex}.payment-link-url label{color:#4b5563;font-size:.875rem;font-weight:600}.url-container{gap:8px;display:flex}.url-input{color:#1f2937;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;flex:1;padding:10px 12px;font-size:.875rem}.copy-button{color:#fff;cursor:pointer;white-space:nowrap;background:#6b7280;border:none;border-radius:6px;padding:10px 16px;font-size:.875rem;font-weight:500;transition:background .2s}.copy-button:hover{background:#4b5563}.share-buttons{gap:12px;margin-top:8px;display:flex}.share-button{cursor:pointer;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.whatsapp-button{color:#fff;background:#25d366}.whatsapp-button:hover:not(:disabled){background:#20ba5a}.whatsapp-button:disabled{color:#9ca3af;cursor:not-allowed;background:#d1d5db}.email-button{color:#fff;background:#3b82f6}.email-button:hover{background:#2563eb}.payment-instructions{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;padding:16px}.payment-instructions p{color:#1e40af;margin:0;font-size:.875rem;line-height:1.5}.payment-instructions p:not(:last-child){margin-bottom:8px}.payment-instructions .note{color:#6b7280;font-size:.8125rem;font-style:italic}.payment-status-paid{background:#ecfdf5;border-left:4px solid #10b981;border-radius:8px;margin-top:16px;padding:16px}.status-badge{border-radius:6px;margin-bottom:12px;padding:6px 12px;font-size:.875rem;font-weight:600;display:inline-block}.status-badge.paid{color:#fff;background:#10b981}.status-badge.created{color:#fff;background:#3b82f6}.status-badge.partially_paid{color:#fff;background:#f59e0b}.status-badge.expired,.status-badge.cancelled{color:#fff;background:#ef4444}.transaction-info{flex-direction:column;gap:4px;margin-top:8px;display:flex}.transaction-info .label{color:#6b7280;font-size:.8125rem;font-weight:500}.transaction-info .value{color:#1f2937;font-size:.9375rem;font-weight:600}.transaction-info .value.transaction-id{word-break:break-all;color:#059669;font-family:monospace;font-size:.875rem}.payment-status{background:#f9fafb;border-radius:8px;margin-top:16px;padding:12px}@media (width<=640px){.payment-link-display{margin:10px;padding:16px}.qr-code-container{padding:12px}.share-buttons{flex-direction:column}.payment-amount,.payment-description{flex-direction:column;gap:4px}.payment-amount .value,.payment-description .value{text-align:left}}.consent-form-display{background:var(--white,#fff);max-width:800px;margin:0 auto;padding:24px}.consent-form-header{border-bottom:2px solid var(--medium-gray,#e5e7eb);margin-bottom:24px;padding-bottom:16px}.consent-form-header h2{color:var(--text-dark,#1f2937);margin:0 0 12px;font-size:28px}.consent-form-meta{color:var(--text-light,#6b7280);gap:24px;font-size:14px;display:flex}.consent-form-content{background:var(--light-gray,#f9fafb);border-radius:8px;max-height:400px;margin-bottom:32px;padding:16px;overflow-y:auto}.consent-section{margin-bottom:24px}.consent-section:last-child{margin-bottom:0}.consent-section h4{color:var(--text-dark,#1f2937);margin:0 0 12px;font-size:18px;font-weight:600}.consent-section-content{color:var(--text-dark,#1f2937);font-size:14px;line-height:1.6}.consent-section-content p{margin:0 0 12px}.consent-form-signature-section{border-top:2px solid var(--medium-gray,#e5e7eb);margin-top:32px;padding-top:24px}.consent-form-signature-section h3{color:var(--text-dark,#1f2937);margin:0 0 20px;font-size:20px}.signature-method-selector{margin-bottom:20px}.signature-method-selector label{color:var(--text-dark,#1f2937);margin-bottom:8px;font-weight:500;display:block}.signature-method-selector select{border:1px solid var(--medium-gray,#e5e7eb);border-radius:6px;width:100%;padding:10px;font-size:14px}.signature-canvas-container{margin-bottom:20px}.signature-instructions{color:var(--text-light,#6b7280);text-align:center;margin-bottom:12px;font-size:14px}.signature-canvas{border:2px solid var(--medium-gray,#e5e7eb);cursor:crosshair;touch-action:none;background:var(--white,#fff);border-radius:6px;width:100%;height:200px}.signature-actions{justify-content:flex-end;margin-top:12px;display:flex}.signature-name-input{margin-bottom:20px}.signature-name-input label{color:var(--text-dark,#1f2937);margin-bottom:8px;font-weight:500;display:block}.signature-name-input input{border:1px solid var(--medium-gray,#e5e7eb);border-radius:6px;width:100%;padding:10px;font-size:14px}.consent-confirmation{margin-bottom:24px}.consent-checkbox{cursor:pointer;color:var(--text-dark,#1f2937);align-items:flex-start;gap:8px;width:100%;max-width:100%;font-size:14px;display:flex}.consent-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;width:auto;min-width:18px;height:18px;margin-top:2px}.consent-checkbox-text{word-wrap:break-word;overflow-wrap:break-word;flex:1;line-height:1.5}.consent-checkboxes{border-top:1px solid var(--light-gray,#e5e7eb);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.consent-checkbox-item{background:var(--white,#fff);border:1px solid var(--medium-gray,#e5e7eb);cursor:pointer;border-radius:6px;align-items:flex-start;gap:10px;padding:12px;transition:all .2s;display:flex}.consent-checkbox-item:hover{background:var(--light-gray,#f9fafb);border-color:var(--primary-color,#3b82f6)}.consent-checkbox-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;min-width:18px;height:18px;margin-top:2px}.consent-checkbox-label{color:var(--text-dark,#1f2937);word-wrap:break-word;overflow-wrap:break-word;flex:1;font-size:14px;line-height:1.5}.required-indicator{color:#dc2626;font-weight:600}.consent-form-actions{border-top:1px solid var(--medium-gray,#e5e7eb);justify-content:flex-end;gap:12px;padding-top:24px;display:flex}.consent-form-loading,.consent-form-error{text-align:center;padding:24px;font-size:16px}.consent-form-error{color:#dc2626}@media (width<=768px){.consent-form-display{padding:16px}.consent-form-meta{flex-direction:column;gap:8px}.consent-form-actions{flex-direction:column}.consent-form-actions button{width:100%}}.consent-form-view{background:var(--white,#fff);max-width:920px;max-height:90vh;color:var(--text-dark,#1f2937);padding:24px 28px 28px;overflow-y:auto}.consent-view-header{border-bottom:2px solid var(--medium-gray,#e5e7eb);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;display:flex}.cfv-header-identity{flex:320px;min-width:0}.cfv-title-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.consent-view-header h2{color:var(--text-dark,#1f2937);overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:650;line-height:1.3}.consent-view-meta{color:var(--text-dark,#1f2937);flex-flow:wrap;gap:8px 20px;font-size:13.5px;display:flex}.consent-view-meta span{align-items:baseline;gap:6px;min-width:0;display:inline-flex}.consent-view-meta strong{color:var(--text-light,#6b7280);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:500}.consent-view-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cfv-panel{border:1px solid var(--medium-gray,#e5e7eb);background:var(--white,#fff);border-radius:10px;margin-bottom:20px;padding:18px 20px}.cfv-panel-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-light,#6b7280);border-bottom:1px solid var(--light-gray,#f1f3f5);margin:0 0 14px;padding-bottom:10px;font-size:12px;font-weight:600}.cfv-panel-empty{text-align:center;color:var(--text-light,#6b7280);padding:24px;font-size:14px;font-style:italic}.consent-view-content{background:0 0;border-radius:0;max-height:380px;margin-bottom:0;padding:0;overflow-y:auto}.consent-view-section{margin-bottom:24px}.consent-view-section:last-child{margin-bottom:0}.consent-view-section h4{color:var(--text-dark,#1f2937);margin:0 0 12px;font-size:18px;font-weight:600}.consent-view-section-content{color:var(--text-dark,#1f2937);font-size:14px;line-height:1.6}.consent-view-section-content p{margin:0 0 12px}.consent-view-checkboxes{border-top:1px solid var(--light-gray,#e5e7eb);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.consent-view-checkbox-item{background:var(--white,#fff);border:1px solid var(--medium-gray,#e5e7eb);border-radius:6px;justify-content:space-between;align-items:center;padding:12px;display:flex}.consent-view-checkbox-item .checkbox-label{color:var(--text-dark,#1f2937);flex:1;font-size:14px;line-height:1.5}.consent-view-checkbox-item .checkbox-response{border-radius:4px;padding:4px 12px;font-size:13px;font-weight:500}.checkbox-response.checked{color:#065f46;background-color:#d1fae5}.checkbox-response.unchecked{color:#991b1b;background-color:#fee2e2}.checkbox-checked{color:#065f46}.checkbox-unchecked{color:#991b1b}.consent-view-signature-section{border-top:none;margin-top:0;padding-top:18px}.cfv-evidence-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:20px;display:grid}.cfv-evidence-card{border:1px solid var(--medium-gray,#e5e7eb);background:var(--white,#fff);border-radius:10px;flex-direction:column;min-width:0;margin:0;display:flex;overflow:hidden}.cfv-evidence-caption{background:var(--light-gray,#f9fafb);border-bottom:1px solid var(--medium-gray,#e5e7eb);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.cfv-evidence-title{color:var(--text-dark,#1f2937);font-size:13px;font-weight:600}.cfv-evidence-sub{color:var(--text-light,#6b7280);font-size:11.5px}.cfv-evidence-frame{background:repeating-conic-gradient(var(--light-gray,#f9fafb) 0% 25%, #fff 0% 50%) 50% / 16px 16px;flex:1;justify-content:center;align-items:center;min-height:150px;padding:16px;display:flex}.cfv-evidence-image{-o-object-fit:contain;object-fit:contain;border-radius:4px;max-width:100%;display:block}.cfv-evidence-image--signature{background:var(--white,#fff);border:1px solid var(--medium-gray,#e5e7eb);max-height:120px;padding:8px}.cfv-evidence-image--photo{border:1px solid var(--medium-gray,#e5e7eb);max-height:170px}.cfv-evidence-empty{text-align:center;color:var(--text-light,#6b7280);flex-direction:column;align-items:center;gap:8px;padding:12px;font-size:12.5px;font-style:italic;display:flex}.cfv-evidence-empty-icon{opacity:.45;font-size:22px;font-style:normal;line-height:1}.cfv-evidence-empty--warn{color:#92400e}.signature-info-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 20px;margin-bottom:0;display:grid}.cfv-signer-grid{border-top:1px solid var(--light-gray,#f1f3f5);padding-top:16px}.signature-info-item{color:var(--text-dark,#1f2937);min-width:0;font-size:14px}.signature-info-item dt{letter-spacing:.04em;text-transform:uppercase;color:var(--text-light,#6b7280);margin-bottom:3px;font-size:11px;font-weight:500}.signature-info-item dd{color:var(--text-dark,#1f2937);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.45}.signature-info-item strong{color:var(--text-dark,#1f2937);margin-right:8px}.relationship-badge{background:var(--light-gray,#f1f3f5);color:var(--text-light,#6b7280);text-transform:capitalize;border-radius:10px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.signature-display{background:var(--white,#fff);border:2px solid var(--medium-gray,#e5e7eb);border-radius:8px;margin-top:20px;padding:20px}.signature-label{color:var(--text-dark,#1f2937);margin-bottom:12px;font-size:14px;font-weight:600}.signature-image-container{background:var(--light-gray,#f9fafb);border-radius:6px;justify-content:center;align-items:center;min-height:150px;padding:20px;display:flex}.signature-image{-o-object-fit:contain;object-fit:contain;border:1px solid var(--medium-gray,#e5e7eb);background:var(--white,#fff);border-radius:4px;max-width:100%;max-height:200px;padding:10px}.document-link{margin-top:12px}.no-signature,.no-document{text-align:center;color:var(--text-light,#6b7280);padding:20px;font-style:italic}.consent-view-options{border-top:none;margin-top:0;padding-top:0}.consent-options-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.consent-option-item{background:var(--light-gray,#f9fafb);border-radius:6px;justify-content:space-between;align-items:center;padding:12px;font-size:14px;display:flex}.consent-option-item strong{color:var(--text-dark,#1f2937);text-transform:capitalize}.option-granted{color:#065f46;font-weight:600}.option-denied{color:#991b1b;font-weight:600}.consent-view-withdrawal{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:10px;margin:0 0 20px;padding:14px 18px}.consent-view-withdrawal h3{letter-spacing:.04em;text-transform:uppercase;color:#991b1b;margin:0 0 8px;font-size:13px;font-weight:600}.withdrawal-details p{color:var(--text-dark,#1f2937);margin:4px 0;font-size:13.5px;line-height:1.5}.consent-view-notes{border-top:none;margin-top:0;padding-top:18px}.consent-view-notes p{color:var(--text-dark,#1f2937);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.status-badge{text-transform:uppercase;border-radius:12px;margin-left:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.loading-message,.error-message{text-align:center;padding:40px;font-size:16px}.error-message{color:#dc2626}@media (width<=768px){.consent-form-view{padding:16px}.consent-view-header{flex-direction:column;align-items:stretch}.consent-view-header h2{font-size:19px}.consent-view-actions{width:100%}.consent-view-actions button{flex:1}.cfv-panel{padding:14px 16px}.cfv-evidence-grid,.signature-info-grid,.consent-options-grid{grid-template-columns:1fr}.consent-view-checkbox-item{flex-direction:column;align-items:flex-start;gap:8px}}@media (width<=420px){.consent-view-meta{flex-direction:column;gap:6px}.cfv-evidence-frame{min-height:120px;padding:12px}}@media print{@page{margin:.5cm;size:letter}*{box-shadow:none!important;text-shadow:none!important}body *{visibility:hidden}html,body{page-break-after:avoid!important;page-break-before:avoid!important;height:auto!important;max-height:none!important}.modal-backdrop,.modal-backdrop *{visibility:visible}.modal-backdrop{z-index:9999!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:none!important;box-shadow:none!important;page-break-after:avoid!important;page-break-inside:avoid!important;background:#fff!important;border:none!important;margin:0!important;padding:0 10px!important;display:block!important;position:absolute!important;inset:0 0 auto!important;overflow:hidden!important}.modal-container{max-width:100%!important;max-height:none!important;box-shadow:none!important;box-sizing:border-box!important;background:#fff!important;border:none!important;border-radius:0!important;width:100%!important;margin:0 auto!important;display:block!important;position:static!important;overflow:visible!important}.modal-close{visibility:hidden!important;display:none!important}.modal-content{max-height:none!important;padding:0!important;display:block!important;overflow:visible!important}.consent-form-view{page-break-after:avoid!important;page-break-inside:avoid!important;page-break-before:avoid!important;visibility:visible!important;transform-origin:top!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0 auto!important;padding:5px 8px!important;display:block!important;position:static!important;overflow:hidden!important;transform:scale(.75)!important}.consent-view-header{page-break-after:avoid;page-break-inside:avoid;box-sizing:border-box!important;width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important;margin-bottom:6px!important;padding-bottom:4px!important}.consent-view-header h2{word-wrap:break-word!important;margin-bottom:6px!important;font-size:18px!important}.consent-view-meta{flex-wrap:wrap!important;gap:6px!important;width:100%!important;max-width:100%!important;font-size:11px!important}.consent-view-meta span{word-wrap:break-word!important;font-size:11px!important}.consent-view-content{page-break-inside:avoid;box-sizing:border-box!important;width:100%!important;max-width:100%!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:none!important;margin-bottom:8px!important;padding:8px!important;overflow:visible!important}.consent-view-section{page-break-inside:avoid;page-break-after:avoid;margin-bottom:6px!important}.consent-view-section h4{margin-bottom:6px!important;font-size:14px!important}.consent-view-section-content{font-size:11px!important;line-height:1.4!important}.consent-view-signature-section{page-break-inside:avoid;page-break-after:avoid;box-shadow:none!important;border:none!important;margin-top:6px!important;padding-top:6px!important}.consent-view-signature-section h3{margin-bottom:8px!important;font-size:14px!important}.cfv-panel{page-break-inside:avoid;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin-bottom:6px!important;padding:6px 0!important}.cfv-panel-heading{border-bottom:1px solid #e5e7eb!important;margin-bottom:6px!important;padding-bottom:3px!important;font-size:11px!important}.cfv-evidence-grid{page-break-inside:avoid;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-bottom:8px!important}.cfv-evidence-card{page-break-inside:avoid;box-shadow:none!important;border:1px solid #e5e7eb!important;border-radius:4px!important}.cfv-evidence-caption{background:0 0!important;border-bottom:1px solid #e5e7eb!important;padding:4px 8px!important}.cfv-evidence-title{font-size:10px!important}.cfv-evidence-sub{font-size:8px!important}.cfv-evidence-frame{background:0 0!important;min-height:0!important;padding:6px!important}.cfv-evidence-image--signature{max-height:70px!important;padding:4px!important}.cfv-evidence-image--photo{max-height:90px!important}.cfv-evidence-empty{gap:4px!important;padding:8px!important;font-size:9px!important}.cfv-evidence-empty-icon{font-size:14px!important}.cfv-signer-grid{border-top:1px solid #e5e7eb!important;padding-top:6px!important}.signature-info-item dt{margin-bottom:1px!important;font-size:8px!important}.signature-info-item dd{font-size:10px!important;line-height:1.3!important}.signature-info-grid{page-break-inside:avoid;box-sizing:border-box!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;width:100%!important;max-width:100%!important;margin-bottom:10px!important;font-size:10px!important}.signature-info-item{font-size:10px!important}.signature-display{box-shadow:none!important;background:0 0!important;border:none!important;margin-top:8px!important;padding:10px!important}.signature-image-container{min-height:80px!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:8px!important}.signature-image{max-height:100px!important;box-shadow:none!important;border:none!important}.consent-view-options{page-break-inside:avoid;page-break-after:avoid;box-shadow:none!important;border:none!important;margin-top:6px!important;padding-top:6px!important}.consent-view-options h3{margin-bottom:8px!important;font-size:14px!important}.consent-options-grid{box-sizing:border-box!important;gap:6px!important;width:100%!important;max-width:100%!important;font-size:10px!important}.consent-option-item{padding:6px!important;font-size:10px!important}.consent-view-withdrawal{page-break-inside:avoid;page-break-after:avoid;box-shadow:none!important;border:none!important;margin-top:6px!important;padding:8px!important;font-size:11px!important}.consent-view-withdrawal h3{margin-bottom:6px!important;font-size:14px!important}.consent-view-notes{page-break-inside:avoid;page-break-after:avoid;box-shadow:none!important;border:none!important;margin-top:6px!important;padding-top:6px!important;font-size:11px!important}.consent-view-notes h3{margin-bottom:6px!important;font-size:14px!important}.consent-view-actions{visibility:hidden!important;display:none!important}.status-badge{padding:2px 8px!important;font-size:9px!important}}.custom-letterhead{flex-direction:column;gap:16px;display:flex}.lh-toolbar{background:#fff;border:1px solid #eee;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.lh-toolbar .lh-left h2{margin:0;font-size:20px;font-weight:700}.lh-toolbar .lh-right .btn{padding:10px 14px;font-size:14px}.lh-alert{border-radius:6px;padding:10px 12px;font-size:14px}.lh-alert.error{color:#b20000;background:#ffe8e6}.lh-alert.success{color:#106f3c;background:#e7f9ef}.lh-grid{display:block}.lh-card{background:#fff;border:1px solid #eee;border-radius:10px;padding:16px}.lh-label{color:#555;margin:8px 0 6px;font-size:13px;display:block}.lh-input{border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.lh-textarea{resize:vertical;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.lh-hint{color:#777;margin-top:8px;font-size:12px}.lh-preview{background:#fafafa;border:1px solid #eee;border-radius:8px;min-height:600px;padding:24px}.lh-clinic-header{border-bottom:2px solid #e5e5e5;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.lh-clinic-logo img{-o-object-fit:contain;object-fit:contain;width:64px;height:64px}.lh-logo-fallback{background:#f2f2f2;border:1px dashed #ccc;border-radius:6px;width:64px;height:64px}.lh-clinic-info{flex-direction:column;display:flex}.lh-clinic-name{font-size:20px;font-weight:600}.lh-clinic-text{color:#555;font-size:13px}.lh-body{min-height:380px}.lh-title{color:#222;margin-bottom:16px;font-size:18px;font-weight:600}.lh-content{color:#222;font-size:15px;line-height:1.75}.lh-content p{margin:0 0 12px}.lh-placeholder{color:#999;font-style:italic}.lh-footer{border-top:1px solid #e9ecef;justify-content:flex-end;margin-top:32px;padding-top:20px;display:flex}.lh-signature{text-align:right}.lh-signature-image{filter:drop-shadow(0 1px 2px #0000001a);width:180px;height:auto;margin-left:auto;display:block}.lh-signature-placeholder{opacity:.6;border-bottom:2px solid #3c4043;width:180px;height:50px;margin-left:auto}.lh-signature-label{color:#1a1a1a;letter-spacing:.3px;margin-top:8px;font-size:14px;font-weight:600}.lh-signature-registration{color:#555;text-align:right;margin-top:2px;font-size:12px}.custom-letterhead .invoice-document.pdf-export .lh-signature-placeholder{border-bottom-width:1px;height:40px}.custom-letterhead .invoice-document.pdf-export .lh-signature-label{margin-top:4px}@media (width<=992px){.lh-grid{grid-template-columns:1fr}}.lh-inline-controls{margin-bottom:8px}.lh-control-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lh-control-col{flex-direction:column;gap:6px;display:flex}@media (width<=768px){.lh-control-row{grid-template-columns:1fr}}.lh-inline-title{color:#1a1a1a;letter-spacing:-.2px;background:0 0;border:none;outline:none;width:100%;margin:0 0 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:18px;font-weight:600}.lh-inline-textarea{color:#2c2c2c;resize:vertical;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;background:0 0;border:none;outline:none;width:100%;min-height:200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.75}.lh-inline-signature-url{color:#555;border:1px dashed #ddd;border-radius:6px;width:100%;margin-top:6px;padding:6px 8px;font-size:12px}.custom-letterhead .invoice-preview{background:#f8f9fa;justify-content:center;align-items:flex-start;width:100%;padding:20px;display:flex}.custom-letterhead .invoice-document{color:#333;background:#fff;border-radius:8px;width:100%;max-width:800px;padding:30px 50px 45px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;box-shadow:0 2px 12px #00000014}.custom-letterhead .invoice-document.pdf-export{box-shadow:none;border-radius:0;flex-direction:column;width:794px;height:1123px;padding:12px;display:flex;position:relative}.custom-letterhead .invoice-document.pdf-export .clinic-header{border-bottom:3px solid #e1e3e5;margin-bottom:20px;padding-bottom:16px}.custom-letterhead .invoice-document.pdf-export .clinic-header:after{content:"";background:linear-gradient(90deg,#4285f4 0%,#34a853 100%);width:60px;height:3px;position:absolute;bottom:-3px;left:0}.custom-letterhead .invoice-document.pdf-export .clinic-name{letter-spacing:.5px;color:#1a1a1a;font-family:Times New Roman,Times,serif;font-size:24pt;font-weight:700;line-height:1.3}.custom-letterhead .invoice-document.pdf-export .lh-body{flex:1;min-height:auto;padding-top:8px}.custom-letterhead .invoice-document.pdf-export .lh-inline-title{color:#1a1a1a;letter-spacing:.3px;margin-bottom:18px;font-family:Times New Roman,Times,serif;font-size:20px;font-weight:600}.custom-letterhead .invoice-document.pdf-export .lh-inline-textarea{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;color:#2c2c2c;min-height:160px;font-family:Times New Roman,Times,serif;font-size:12pt;line-height:1.8;overflow:visible}.custom-letterhead .invoice-document.pdf-export .lh-footer{border-top:1px solid #e9ecef;justify-content:flex-end;margin:0;padding-top:20px;padding-bottom:0;display:flex;position:absolute;bottom:28px;left:auto;right:28px}.custom-letterhead .invoice-document.pdf-export .lh-signature-label{margin-top:4px;font-family:Times New Roman,Times,serif;font-size:12pt;font-weight:600}.custom-letterhead .invoice-document.pdf-export{font-family:Times New Roman,Times,serif}.custom-letterhead .invoice-document.pdf-export .clinic-info{border-left:2px solid #e9ecef;flex-direction:column;flex:1;gap:6px;padding-left:24px;font-family:Times New Roman,Times,serif;display:flex}.custom-letterhead .invoice-document.pdf-export .clinic-address,.custom-letterhead .invoice-document.pdf-export .clinic-phone,.custom-letterhead .invoice-document.pdf-export .clinic-email,.custom-letterhead .invoice-document.pdf-export .clinic-website{color:#3c4043;font-size:11pt;line-height:1.6}.custom-letterhead .invoice-document.pdf-export .clinic-logo{background:#fafbfc;border-radius:8px;place-items:center;margin-right:24px;padding:8px;display:grid;position:relative;margin-top:0%!important}.custom-letterhead .invoice-document.pdf-export .clinic-logo-image{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 4px #00000014);margin:0 auto;display:block;width:auto!important;height:auto!important}.custom-letterhead .clinic-header{border-bottom:3px solid #e1e3e5;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex;position:relative}.custom-letterhead .clinic-header:after{content:"";background:linear-gradient(90deg,#4285f4 0%,#34a853 100%);width:60px;height:3px;position:absolute;bottom:-3px;left:0}.custom-letterhead .clinic-logo{background:#fafbfc;border-radius:8px;place-items:center;height:auto;margin-right:24px;padding:0;display:grid;position:relative;margin-top:0%!important}.custom-letterhead .clinic-logo-image{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 4px #00000014);max-height:none;margin:0 auto;display:block;width:auto!important;height:auto!important}.custom-letterhead .logo-placeholder{color:#9aa0a6;background:linear-gradient(135deg,#f5f7fa 0%,#e9ecef 100%);border:2px dashed #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:140px;height:60px;display:flex}.custom-letterhead .logo-fallback{display:none}.custom-letterhead .clinic-info{border-left:2px solid #e9ecef;flex-direction:column;flex:1;gap:6px;padding-left:24px;display:flex}.custom-letterhead .clinic-name{color:#1a1a1a;letter-spacing:-.3px;margin:0 0 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:30px;font-weight:700;line-height:1.2}.custom-letterhead .clinic-address,.custom-letterhead .clinic-phone,.custom-letterhead .clinic-email,.custom-letterhead .clinic-website{color:#5f6368;margin:0;font-size:13px;font-weight:400;line-height:1.5}.custom-letterhead .clinic-address{color:#3c4043;font-weight:500}.consent-forms-tab{padding:24px}.consent-forms-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.consent-forms-header h3{color:var(--text-dark,#1f2937);margin:0 0 4px;font-size:24px}.consent-forms-subtitle{color:var(--text-light,#6b7280);font-size:14px}.consent-forms-actions{align-items:center;gap:12px;display:flex}.consents-list{flex-direction:column;gap:16px;display:flex}.consent-card{border:1px solid var(--medium-gray,#e5e7eb);background:var(--white,#fff);border-radius:8px;padding:20px;transition:box-shadow .2s}.consent-card:hover{box-shadow:0 2px 8px #0000001a}.consent-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.consent-card-header h4{color:var(--text-dark,#1f2937);margin:0 0 8px;font-size:18px}.consent-meta{color:var(--text-light,#6b7280);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.consent-type{text-transform:capitalize;font-weight:500}.consent-date{color:var(--text-light,#6b7280)}.consent-card-actions{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.status-granted{color:#065f46;background-color:#d1fae5}.status-withdrawn{color:#991b1b;background-color:#fee2e2}.status-denied{color:#92400e;background-color:#fef3c7}.status-expired{color:#374151;background-color:#e5e7eb}.consent-card-details{border-top:1px solid var(--medium-gray,#e5e7eb);flex-direction:column;gap:12px;padding-top:16px;display:flex}.consent-detail-item{color:var(--text-dark,#1f2937);font-size:14px}.consent-detail-item strong{color:var(--text-dark,#1f2937);margin-right:8px}.relationship-badge{background-color:var(--light-gray,#f3f4f6);text-transform:capitalize;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:12px}.consent-options-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.consent-option{text-transform:capitalize;border-radius:4px;padding:4px 8px;font-size:12px}.consent-option.granted{color:#065f46;background-color:#d1fae5}.consent-option.denied{color:#991b1b;background-color:#fee2e2}@media (width<=768px){.consent-forms-tab{padding:16px}.consent-forms-header{flex-direction:column}.consent-forms-actions{flex-direction:column;width:100%}.consent-forms-actions select{width:100%}.consent-card{padding:16px}.consent-card-header{flex-direction:column;gap:12px}.consent-card-actions{box-sizing:border-box;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:100%;max-width:100%}.consent-card-actions .status-badge{flex-shrink:0;max-width:100%}.consent-card-actions .btn{white-space:nowrap;box-sizing:border-box;text-overflow:ellipsis;flex:0 auto;min-width:80px;max-width:calc(50% - 4px);padding:8px 12px;font-size:13px;overflow:hidden}.consent-meta{flex-direction:column;gap:8px}}.prescription-view{min-width:560px;padding:4px}.prescription-view-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.prescription-view-header h2{margin:0;font-size:1.2rem}.prescription-view-actions{gap:8px;display:flex}.prescription-view-meta{color:var(--text-muted,#555);flex-wrap:wrap;gap:20px;margin-bottom:12px;font-size:.9rem;display:flex}.prescription-view-table{border-collapse:collapse;width:100%;font-size:.9rem}.prescription-view-table th,.prescription-view-table td{border:1px solid var(--border-color,#e1e3e5);text-align:left;vertical-align:top;padding:8px 10px}.prescription-view-table th{background:var(--muted-bg,#f5f7fa);font-weight:600}.prescription-view-notes{margin-top:12px}.invoice-document.pdf-export .lh-body{color:#1f2933;font-family:Times New Roman,Times,serif}.rx-doc-title{text-align:center;letter-spacing:2px;text-transform:uppercase;color:#1a1a1a;background:#eef1f4;border-top:1.5px solid #55606b;border-bottom:1.5px solid #55606b;margin:2px 0 14px;padding:7px 0;font-family:Times New Roman,Times,serif;font-size:15pt;font-weight:700}.rx-meta-table{border-collapse:collapse;color:#1f2933;width:100%;margin-bottom:16px;font-family:Times New Roman,Times,serif;font-size:10.5pt}.rx-meta-table td{vertical-align:top;border:1px solid #c2c8ce;padding:6px 9px}.rx-meta-label{text-transform:uppercase;letter-spacing:.4px;color:#55606b;white-space:nowrap;background:#f5f7f9;width:15%;font-size:9.5pt;font-weight:700}.rx-meta-value{width:35%;font-weight:600}.rx-section{margin-bottom:13px}.rx-section-title{text-transform:uppercase;letter-spacing:.8px;color:#33404d;border-bottom:1px solid #99a3ad;margin-bottom:5px;padding-bottom:2px;font-family:Times New Roman,Times,serif;font-size:10pt;font-weight:700}.rx-section-body{color:#1f2933;white-space:pre-wrap;word-wrap:break-word;font-size:11pt;line-height:1.55}.rx-medication-title{margin-top:16px}.rx-table{border-collapse:collapse;color:#1f2933;width:100%;font-family:Times New Roman,Times,serif;font-size:10.5pt}.rx-table th,.rx-table td{text-align:left;vertical-align:top;border:1px solid #b3bac1;padding:7px 8px}.rx-table th{text-transform:uppercase;letter-spacing:.4px;color:#33404d;background:#eef1f4;font-size:9.5pt;font-weight:700}.rx-table tbody tr:nth-child(2n) td{background:#fafbfc}.rx-sr{text-align:center;color:#55606b}.rx-table .rx-drug-name{text-transform:uppercase;font-weight:700}.rx-composition{color:#55606b;margin-top:1px;font-size:9.5pt;font-style:italic;display:block}.rx-signature{text-align:right;color:#1a1a1a;min-width:240px;padding-top:30px;font-family:Times New Roman,Times,serif}.rx-signature-rule{border-top:1px solid #1a1a1a;height:0;margin-bottom:4px}.rx-doctor-name{font-size:11.5pt;font-weight:700}.rx-doctor-reg,.rx-signature-label{color:#55606b;font-size:9.5pt;line-height:1.5}.prescriptions-tab{padding:8px 0}.prescriptions-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.prescriptions-header h3{margin:0}.prescriptions-list{flex-direction:column;gap:10px;display:flex}.prescription-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e1e3e5);border-radius:var(--radius,8px);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.prescription-card-main{cursor:pointer;flex:1;min-width:0}.prescription-card-date{color:var(--text-muted,#7f8c8d);font-size:.8rem}.prescription-card-drugs{white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-weight:600;overflow:hidden}.prescription-card-doctor{color:var(--text-muted,#7f8c8d);font-size:.82rem}.prescription-card-actions{flex-shrink:0;gap:8px;display:flex}.prescription-modal{min-width:560px;max-width:760px;padding:4px}.prescription-modal h3{margin:0 0 16px}.prescription-form-row{gap:16px;display:flex}.prescription-form-row .form-group{flex:1}.prescription-lines{margin:12px 0}.prescription-lines-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.prescription-line{border:1px solid var(--border-color,#e1e3e5);border-radius:var(--radius,8px);background:var(--muted-bg,#fafbfc);margin-bottom:10px;padding:10px}.prescription-line-top{align-items:center;gap:8px;margin-bottom:8px;display:flex}.prescription-line-top .line-catalog-select{flex:1}.prescription-line-fields{gap:8px;margin-bottom:8px;display:flex}.prescription-line-fields input{border:1px solid var(--border-color,#dfe4ea);border-radius:var(--radius,6px);flex:1;min-width:0;padding:6px 8px}.prescription-line select,.prescription-modal select,.prescription-modal input,.prescription-modal textarea{border:1px solid var(--border-color,#dfe4ea);border-radius:var(--radius,6px);padding:6px 8px}.prescription-line .btn-icon{border:1px solid var(--border-color,#dfe4ea);border-radius:var(--radius,6px);cursor:pointer;background:#fff;padding:4px 10px}.prescription-line .btn-icon.btn-danger{color:var(--danger,#e74c3c);border-color:var(--danger,#e74c3c)}.finance-module{padding:var(--spacing-md)}.filter-section{margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--light-gray);border-radius:var(--radius-sm);border:1px solid var(--medium-gray)}.filter-row{gap:var(--spacing-md);flex-wrap:wrap;align-items:end;display:flex}.filter-group{flex-direction:column;min-width:150px;display:flex}.filter-group label{color:var(--text-color);margin-bottom:var(--spacing-xs);font-size:14px;font-weight:500}.filter-group .form-input{padding:var(--spacing-sm);border:1px solid var(--medium-gray);border-radius:var(--radius-sm);background:var(--white);font-size:14px}.filter-group .btn{padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap;font-size:14px}.filter-warning{margin:0 0 var(--spacing-sm) 0;padding:10px var(--spacing-md);border-radius:var(--radius-sm);color:#9a3412;background:#fff7ed;border:1px solid #f97316;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.summary-skeleton{color:var(--text-light);opacity:.5;animation:1.4s ease-in-out infinite skeletonPulse;display:inline-block}@keyframes skeletonPulse{0%,to{opacity:.3}50%{opacity:.8}}@media (width<=1000px){.finance-module{padding:var(--spacing-sm)}.module-header{gap:var(--spacing-sm);flex-direction:column;align-items:stretch}.module-header h2{text-align:center;font-size:1.5rem}.header-actions{gap:var(--spacing-sm);flex-direction:column}.header-actions .btn{width:100%;padding:var(--spacing-sm);justify-content:center;font-size:.9rem}.filter-row{gap:var(--spacing-sm);flex-direction:column}.filter-group{width:100%;min-width:auto}.finance-summary{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr}.summary-card{padding:var(--spacing-sm);flex-direction:row;align-items:center}.summary-icon{width:45px;height:45px;margin-right:var(--spacing-sm);flex-shrink:0}.summary-value{margin-bottom:2px;font-size:1.8rem;font-weight:700}.summary-label{font-size:.9rem;font-weight:500}.summary-period{font-size:.8rem}.finance-charts{margin-bottom:var(--spacing-md)}.chart-header{gap:var(--spacing-sm);flex-direction:column;align-items:stretch}.chart-header h3{text-align:center;font-size:1.2rem}.chart-filters{justify-content:center;gap:var(--spacing-xs);flex-wrap:wrap}.chart-filter{padding:var(--spacing-xs) var(--spacing-sm);text-align:center;min-width:80px;font-size:.8rem}.chart-container{height:250px}.chart-bars{padding-bottom:var(--spacing-sm)}.chart-bar{width:14%}.bar-group{height:150px}.bar{width:35%}.bar-label{font-size:.7rem}.chart-legend{gap:var(--spacing-md);margin-top:var(--spacing-sm)}.legend-item{font-size:.8rem}.legend-color{width:14px;height:14px}.transactions-section{margin-bottom:var(--spacing-md)}.transaction-filters{gap:var(--spacing-sm);flex-direction:column}.transactions-table{border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.transactions-table table{min-width:650px;font-size:.9rem}.transactions-table th{padding:var(--spacing-sm);white-space:nowrap;font-size:.8rem}.transactions-table td{padding:var(--spacing-sm);font-size:.85rem}.category-badge{padding:3px 8px;font-size:.7rem}.table-actions{gap:var(--spacing-xs);flex-direction:column;min-width:80px}.action-btn{width:28px;height:28px;font-size:.8rem}.transaction-actions{gap:var(--spacing-xs);flex-direction:column}.transaction-actions button{padding:var(--spacing-xs);justify-content:center;width:100%;font-size:.8rem}.pagination{gap:var(--spacing-sm);flex-direction:column;align-items:center}.pagination-info{text-align:center;flex-direction:column;align-items:center;gap:8px;font-size:.9rem;display:flex}.pagination-controls{gap:var(--spacing-xs);flex-wrap:wrap;justify-content:center}.pagination-controls button{padding:var(--spacing-xs) var(--spacing-sm);min-width:40px;font-size:.8rem}.per-page-select{font-size:.85rem}}@media (width<=480px){.finance-module{padding:var(--spacing-xs)}.module-header h2{font-size:1.3rem}.header-actions .btn{padding:var(--spacing-xs);font-size:.8rem}.finance-summary{gap:var(--spacing-xs)}.summary-card{padding:var(--spacing-xs)}.summary-icon{width:40px;height:40px;margin-right:var(--spacing-xs)}.summary-value{font-size:1.5rem}.summary-label{font-size:.8rem}.summary-period{font-size:.7rem}.chart-header h3{font-size:1.1rem}.chart-filter{min-width:70px;padding:6px 10px;font-size:.7rem}.chart-container{height:200px}.bar-group{height:120px}.bar-label{font-size:.6rem}.chart-legend{gap:var(--spacing-sm)}.legend-item{font-size:.7rem}.legend-color{width:12px;height:12px}.transactions-table table{min-width:550px;font-size:.8rem}.transactions-table th{padding:8px 6px;font-size:.7rem}.transactions-table td{padding:8px 6px;font-size:.8rem}.category-badge{padding:2px 6px;font-size:.6rem}.action-btn{width:26px;height:26px;font-size:.7rem}.transaction-actions button{padding:6px 8px;font-size:.7rem}.pagination-info{font-size:.8rem}.pagination-controls button{min-width:35px;padding:6px 10px;font-size:.7rem}.per-page-select{font-size:.8rem}.page-numbers{flex-wrap:wrap;justify-content:center;max-width:200px}}@media (width<=1000px){.summary-card{cursor:pointer;transition:all .2s}.summary-card:active{transform:scale(.98)}.transactions-table{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.transactions-table::-webkit-scrollbar{height:6px}.transactions-table::-webkit-scrollbar-track{background:var(--light-gray);border-radius:3px}.transactions-table::-webkit-scrollbar-thumb{background:var(--medium-gray);border-radius:3px}.transactions-table::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.header-actions .btn,.transaction-actions button,.pagination-controls button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.chart-container{touch-action:pan-x}.finance-module>*+*{margin-top:var(--spacing-md)}.summary-card{border:1px solid #0000000d}.transactions-table{border:1px solid var(--medium-gray)}}@media (width<=480px){.summary-card{min-height:80px}.action-btn{min-width:32px;min-height:32px}.transactions-table th{background:var(--light-gray);z-index:1;position:sticky;top:0}.transaction-actions{min-width:90px}.chart-bar{min-width:20px}.bar{min-width:8px}}.module-header h2{margin-bottom:0}.module-header .btn{align-items:center;gap:var(--spacing-sm);display:flex}.finance-summary{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(1,1fr);display:grid}.summary-icon{width:48px;height:48px;margin-right:var(--spacing-md);color:#fff;border-radius:12px;justify-content:center;align-items:center;display:flex}.summary-card.income .summary-icon{color:var(--secondary-color);background-color:#2ecc7133}.summary-card.expenses .summary-icon{color:var(--danger-color);background-color:#e74c3c33}.summary-card.profit .summary-icon{color:var(--primary-color);background-color:#3498db33}.summary-card.bills .summary-icon{color:#9b59b6;background-color:#9b59b633}.summary-label{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:14px}.summary-period{color:var(--text-light);font-size:12px}.finance-charts{margin-bottom:var(--spacing-lg)}.chart-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.chart-filters{gap:var(--spacing-xs);display:flex}.chart-filter{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--medium-gray);border-radius:var(--radius);background-color:var(--white);cursor:pointer;transition:var(--transition);font-size:14px}.chart-filter.active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.chart-container{height:300px;overflow:hidden}.chart-placeholder{flex-direction:column;width:100%;height:100%;display:flex}.chart-bars{padding-bottom:var(--spacing-md);flex:1;justify-content:space-around;align-items:flex-end;display:flex}.chart-bar{flex-direction:column;align-items:center;width:12%;display:flex}.bar-group{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:200px;display:flex}.bar{border-radius:4px 4px 0 0;width:40%}.income-bar{background-color:var(--secondary-color)}.expense-bar{background-color:var(--danger-color)}.bar-label{margin-top:var(--spacing-xs);color:var(--text-light);font-size:12px}.chart-legend{justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-md);display:flex}.legend-item{align-items:center;display:flex}.legend-color{width:16px;height:16px;margin-right:var(--spacing-xs);border-radius:4px}.legend-color.income{background-color:var(--secondary-color)}.legend-color.expense{background-color:var(--danger-color)}.legend-label{color:var(--text-light);font-size:14px}.transactions-section{margin-bottom:var(--spacing-lg)}.transaction-filters{gap:var(--spacing-md);display:flex}.transactions-table{border-collapse:collapse;width:100%;margin-top:var(--spacing-md)}.transactions-table th{text-align:left;padding:var(--spacing-sm);background-color:var(--light-gray);font-size:14px;font-weight:600}.transactions-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--medium-gray);font-size:14px}.category-badge{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.category-badge.income{color:var(--secondary-color);background-color:#2ecc711a}.category-badge.expense{color:var(--danger-color);background-color:#e74c3c1a}td.income{color:var(--secondary-color);font-weight:500}td.expense{color:var(--danger-color);font-weight:500}.action-btn{background-color:var(--light-gray);cursor:pointer;width:24px;height:24px;transition:var(--transition);border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.action-btn:hover{background-color:var(--medium-gray)}.billing-invoices-section .section-grid{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}.invoices-list,.payments-list{margin-top:var(--spacing-md)}.invoice-item,.payment-item{padding:var(--spacing-md);background-color:var(--light-gray);border-radius:var(--radius);margin-bottom:var(--spacing-sm);position:relative}.invoice-header{margin-bottom:var(--spacing-xs);justify-content:space-between;display:flex}.invoice-id{font-weight:600}.invoice-amount{color:var(--primary-color);font-weight:600}.invoice-details{margin-bottom:var(--spacing-xs);font-size:14px}.invoice-date{color:var(--text-light);font-size:12px}.invoice-footer{margin-top:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.status-badge{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.status-badge.paid{color:var(--secondary-color);background-color:#2ecc711a}.status-badge.pending{color:var(--warning-color);background-color:#f39c121a}.payment-item{align-items:center;display:flex}.payment-icon{width:32px;height:32px;margin-right:var(--spacing-md);border-radius:8px;justify-content:center;align-items:center;display:flex}.payment-icon.expense{color:var(--danger-color);background-color:#e74c3c1a}.payment-icon.income{color:var(--secondary-color);background-color:#2ecc711a}.payment-details{flex:1}.payment-title{font-weight:500}.payment-due{color:var(--text-light);font-size:12px}.payment-amount{font-weight:600}.payment-amount.expense{color:var(--danger-color)}.payment-amount.income{color:var(--secondary-color)}.expenses-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.expense-item{padding:var(--spacing-sm);border-radius:var(--radius);background-color:var(--light-gray);transition:var(--transition);align-items:center;display:flex}.expense-item:hover{background-color:var(--medium-gray)}.expense-icon{width:32px;height:32px;color:var(--danger-color);margin-right:var(--spacing-sm);background-color:#e74c3c1a;border-radius:8px;justify-content:center;align-items:center;display:flex}.expense-details{flex:1;min-width:0}.expense-title{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:500;overflow:hidden}.expense-date{color:var(--text-light);font-size:12px}.no-expenses,.no-invoices{text-align:center;padding:var(--spacing-md);color:var(--text-light);font-style:italic}.invoice-details-modal{background:var(--white);border-radius:var(--radius);width:100%;max-width:90vw;max-height:90vh;overflow-y:auto}.invoice-details-modal .invoice-header{padding:var(--spacing-md);border-bottom:1px solid var(--medium-gray);background:var(--light-gray);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;display:flex}.invoice-details-modal .invoice-header h2{color:var(--text-color);margin:0;font-size:20px}.close-btn{cursor:pointer;color:var(--text-light);width:30px;height:30px;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:24px;display:flex}.close-btn:hover{background:var(--medium-gray);color:var(--text-color)}.invoice-content{padding:var(--spacing-lg)}.invoice-section{margin-bottom:var(--spacing-xl)}.invoice-section h3{margin-bottom:var(--spacing-lg);color:var(--text-color);border-bottom:2px solid var(--primary-color);padding-bottom:var(--spacing-sm);font-size:18px}.info-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.info-item span{color:var(--text-color);font-size:18px}.info-item .amount{color:var(--secondary-color);font-size:22px;font-weight:600}.services-list{border:1px solid var(--medium-gray);border-radius:var(--radius);margin-top:var(--spacing-md);overflow:hidden}.service-item{padding:var(--spacing-lg);border-bottom:1px solid var(--medium-gray);background:var(--light-gray);justify-content:space-between;align-items:center;display:flex}.service-item:last-child{border-bottom:none}.service-name{color:var(--text-color);font-size:16px;font-weight:500}.service-amount{color:var(--secondary-color);font-size:18px;font-weight:600}.payment-summary{background:var(--light-gray);border-radius:var(--radius);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.summary-row{padding:var(--spacing-md) 0;border-bottom:1px solid var(--medium-gray);justify-content:space-between;align-items:center;font-size:16px;display:flex}.summary-row:last-child{border-bottom:none}@media (width<=1000px){.info-grid{grid-template-columns:1fr}.invoice-details-modal{margin:var(--spacing-sm);max-width:95vw;max-height:95vh}.invoice-content{padding:var(--spacing-md)}.info-item label{font-size:14px}.info-item span{font-size:16px}.info-item .amount{font-size:18px}}.all-invoices-modal,.all-expenses-modal{background:var(--white);border-radius:var(--radius);width:100%;max-width:95vw;max-height:90vh;overflow-y:auto}.all-invoices-modal .modal-header,.all-expenses-modal .modal-header{padding:var(--spacing-md);border-bottom:1px solid var(--medium-gray);background:var(--light-gray);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;display:flex}.all-invoices-modal .modal-header h2,.all-expenses-modal .modal-header h2{color:var(--text-color);margin:0;font-size:20px}@media (width<=1000px){.modal-content{padding:var(--spacing-sm);width:100%;min-width:auto;max-height:95vh}.all-invoices-modal,.all-expenses-modal{margin:var(--spacing-sm);max-width:98vw;max-height:95vh}.invoices-table,.expenses-table{min-width:600px;font-size:13px}.invoices-table th,.invoices-table td,.expenses-table th,.expenses-table td{padding:var(--spacing-sm) var(--spacing-md)}}@media (width<=480px){.modal-content{padding:var(--spacing-xs);max-height:98vh}.all-invoices-modal,.all-expenses-modal{margin:var(--spacing-xs);max-width:99vw;max-height:98vh}.invoices-table,.expenses-table{min-width:500px;font-size:12px}.invoices-table th,.invoices-table td,.expenses-table th,.expenses-table td{padding:var(--spacing-xs) var(--spacing-sm)}.expense-card{padding:var(--spacing-sm)}.expense-card-header{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.expense-amount{font-size:16px}.expense-description{font-size:15px}.expense-card-actions{gap:var(--spacing-xs);flex-direction:column}.expense-card-actions .btn{padding:var(--spacing-xs);min-width:auto;font-size:11px}.invoice-card{padding:var(--spacing-sm)}.invoice-card-header{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.invoice-amount{font-size:16px}.invoice-description{font-size:15px}.invoice-patient{font-size:13px}.invoice-card-actions{gap:var(--spacing-xs);flex-direction:column}.invoice-card-actions .btn{padding:var(--spacing-xs);min-width:auto;font-size:11px}}.invoices-table-container,.expenses-table-container{overflow-x:auto}.mobile-expense-cards,.mobile-invoice-cards{display:none}.invoices-table,.expenses-table{border-collapse:collapse;width:100%;min-width:800px;margin-top:var(--spacing-sm)}.invoices-table th,.invoices-table td,.expenses-table th,.expenses-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--medium-gray);white-space:nowrap}.invoices-table th,.expenses-table th{background-color:var(--light-gray);color:var(--text-color);z-index:10;font-size:16px;font-weight:600;position:sticky;top:0}.invoices-table td,.expenses-table td{color:var(--text-color);font-size:15px}.invoices-table tr:hover,.expenses-table tr:hover{background-color:var(--light-gray)}.no-data{text-align:center;padding:var(--spacing-lg);color:var(--text-light);font-style:italic}@media (width<=1000px){.all-invoices-modal,.all-expenses-modal{margin:var(--spacing-sm);max-width:98vw;max-height:95vh}.invoices-table,.expenses-table{display:none}.mobile-expense-cards,.mobile-invoice-cards{display:block}.expense-card{background:var(--white);border:1px solid var(--medium-gray);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:0 2px 4px #0000001a}.expense-card-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.expense-date{color:var(--text-muted);font-size:14px;font-weight:500}.expense-amount{color:var(--primary-color);font-size:18px;font-weight:600}.expense-description{color:var(--text-color);margin-bottom:var(--spacing-sm);font-size:16px;line-height:1.4}.expense-card-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.expense-card-actions .btn{padding:var(--spacing-xs) var(--spacing-sm);min-width:60px;font-size:12px}.invoice-card{background:var(--white);border:1px solid var(--medium-gray);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:0 2px 4px #0000001a}.invoice-card-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.invoice-date{color:var(--text-muted);font-size:14px;font-weight:500}.invoice-amount{color:var(--primary-color);font-size:18px;font-weight:600}.invoice-description{color:var(--text-color);margin-bottom:var(--spacing-sm);font-size:16px;line-height:1.4}.invoice-patient{color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:14px}.invoice-card-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.invoice-card-actions .btn{padding:var(--spacing-xs) var(--spacing-sm);min-width:60px;font-size:12px}}@media (width>=576px){.finance-summary{grid-template-columns:repeat(2,1fr)}}@media (width>=992px){.finance-summary{grid-template-columns:repeat(4,1fr)}.billing-invoices-section .section-grid{grid-template-columns:repeat(2,1fr)}}.invoice-actions{border-top:1px solid #e9ecef;justify-content:center;margin-top:30px;padding-top:20px;display:flex}.invoice-actions .btn{cursor:pointer;color:#007bff;background:0 0;border:1px solid #007bff;border-radius:6px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.invoice-actions .btn:hover{color:#fff;background:#007bff}.action-buttons{align-items:center;gap:8px;display:flex}.action-buttons .btn{cursor:pointer;border:1px solid;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .2s}.action-buttons .btn-outline{color:#6b7280;background:0 0;border-color:#6b7280}.action-buttons .btn-outline:hover{color:#fff;background:#6b7280}.action-buttons .btn-danger{color:#fff;background:#ef4444;border-color:#ef4444}.action-buttons .btn-danger:hover{background:#dc2626;border-color:#dc2626}.pagination{border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:16px 0;display:flex}.pagination-info{color:#6b7280;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;display:flex}.per-page-select{border:1px solid var(--medium-gray);border-radius:var(--radius-sm);color:var(--text-color);background:var(--white);cursor:pointer;padding:4px 8px;font-size:13px}.per-page-select:focus{border-color:var(--primary-color);outline:none}.pagination-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.page-numbers{align-items:center;gap:4px;display:flex}.page-numbers .btn{justify-content:center;align-items:center;min-width:36px;height:36px;padding:0;font-size:14px;display:flex}.page-ellipsis{text-align:center;color:#9ca3af;-webkit-user-select:none;user-select:none;min-width:28px;font-size:14px}.pagination-controls .btn{padding:8px 14px;font-size:13px}.pagination-controls .btn:disabled{opacity:.4;cursor:not-allowed}.finance-module .btn-outline{border:2px solid var(--primary-color);cursor:pointer;background-color:#0000;padding:10px 20px;font-weight:500;text-decoration:none;transition:all .3s;color:var(--primary-color)!important}.finance-module .btn-outline:hover{border-color:var(--primary-color);box-shadow:0 4px 8px rgba(var(--primary-rgb), .3);transform:translateY(-1px);background-color:var(--primary-color)!important;color:var(--white)!important}.finance-module .btn-outline:focus{box-shadow:0 0 0 3px rgba(var(--primary-rgb), .2);outline:none}.finance-module .btn-outline:active{box-shadow:0 2px 4px rgba(var(--primary-rgb), .3);transform:translateY(0)}.invoice-actions .btn svg{width:16px;height:16px}.payment-links-list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.payment-link-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.payment-link-info{flex-direction:column;flex:1;gap:8px;display:flex}.payment-link-status{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.transaction-id-small{color:#6b7280;background:#fff;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.75rem}.payment-link-url-small{font-size:.875rem}.payment-link-url-small a{color:#3b82f6;word-break:break-all;text-decoration:none}.payment-link-url-small a:hover{text-decoration:underline}.payment-link-amount{color:#059669;font-size:.875rem;font-weight:600}.transactions-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.transactions-cards{display:none}.bill-link{color:var(--primary-color,#2563eb);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.bill-link:hover{color:#1d4ed8}.tx-desc{color:var(--text-light,#6b7280)}@media (width<=768px){.transactions-table-wrap{display:none}.transactions-cards{margin-top:var(--spacing-md,16px);flex-direction:column;gap:10px;display:flex}.tx-card{border:1px solid var(--medium-gray,#e5e7eb);background:var(--white,#fff);border-radius:10px;padding:12px 14px}.tx-card-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tx-card-bill{word-break:break-word;min-width:0}.tx-card-amount{white-space:nowrap;font-weight:700}.tx-card-amount.income{color:var(--secondary-color,#16a34a)}.tx-card-amount.expense{color:var(--danger-color,#dc2626)}.tx-card-meta{color:var(--text-light,#6b7280);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.tx-card-party{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tx-card-date{white-space:nowrap}.tx-card-empty{text-align:center;color:var(--text-light,#6b7280);padding:24px}}.expense-form{max-width:800px;margin:0 auto;padding:20px}.form-header{text-align:center;margin-bottom:30px}.form-header h2{color:#dc3545;margin-bottom:8px;font-size:24px;font-weight:600}.form-header p{color:#6c757d;margin:0;font-size:14px}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-outline:hover{background:#f8f9fa;border-color:#adb5bd}.btn-danger:hover{background:#c82333}@media (width<=768px){.form-row{grid-template-columns:1fr;gap:15px}.expense-form{padding:15px}.form-actions{flex-direction:column}.btn{width:100%;padding:var(--spacing-sm);justify-content:center;font-size:.9rem}.expense-form h3{margin-bottom:var(--spacing-sm);font-size:1.5rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm);font-size:.9rem}}@media (width<=480px){.expense-form{padding:var(--spacing-xs)}.expense-form h3{font-size:1.3rem}.form-group label{font-size:.8rem}.form-group input,.form-group select,.form-group textarea,.btn{padding:var(--spacing-xs);font-size:.8rem}}.form-row:first-child .form-group,.form-row:last-child .form-group:last-child{grid-column:1/-1}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.form-group input[type=number]{font-family:Courier New,monospace;font-weight:500}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.invoice-preview{background:#f8f9fa;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:20px;display:flex}.invoice-document{color:#333;background:#fff;border-radius:8px;width:100%;max-width:800px;padding:20px 40px 40px;font-family:Arial,sans-serif;box-shadow:0 2px 10px #0000001a}.clinic-header{border-bottom:1px solid #e9ecef;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.clinic-logo{place-items:center;width:140px;height:60px;margin-top:3%;margin-right:20px;display:grid;position:relative}.clinic-logo-image{-o-object-fit:contain;object-fit:contain;width:auto;max-width:140px;height:auto;max-height:60px;margin:0 auto;display:block}.logo-placeholder{color:#9aa0a6;background:#f1f3f5;border:1px solid #e9ecef;border-radius:6px;justify-content:center;align-items:center;width:140px;height:60px;display:flex}.logo-fallback{display:none}.clinic-info{flex-direction:column;flex:1;gap:8px;display:flex}.clinic-name{color:#202124;margin:0 0 6px;font-size:26px;font-weight:800}.clinic-meta{color:#5f6368;grid-template-columns:auto 1fr;align-items:baseline;gap:6px 12px;font-size:14px;display:grid}.clinic-meta-item{display:contents}.meta-label{color:#3c4043;font-weight:600}.meta-value a{color:#1a73e8;text-decoration:none}.meta-value a:hover{text-decoration:underline}.invoice-header-section{justify-content:space-between;align-items:flex-start;margin-bottom:30px;display:flex}.invoice-title-section{flex:1}.invoice-title{color:#333;text-transform:uppercase;margin:0 0 20px;font-size:32px;font-weight:700}.recipient-info{margin-top:20px}.recipient-label{color:#333;margin:0 0 8px;font-weight:700}.patient-name{color:#333;margin:4px 0;font-size:16px;font-weight:600}.patient-phone,.patient-email{color:#666;margin:4px 0;font-size:14px}.patient-details{color:#666;margin:4px 0;font-size:14px;font-style:italic}.invoice-details{text-align:right}.invoice-id,.invoice-date{color:#666;margin:4px 0;font-size:14px}.invoice-id{color:#333;font-weight:600}.services-section{margin:30px 0}.services-table{border-collapse:collapse;width:100%;margin:20px 0}.services-table th{text-align:left;color:#333;background:#f8f9fa;border-bottom:2px solid #dee2e6;padding:12px 8px;font-size:14px;font-weight:700}.services-table td{border-bottom:1px solid #e9ecef;padding:12px 8px;font-size:14px}.description-col{text-align:left;width:50%}.quantity-col,.price-col{text-align:right;width:15%}.amount-col{text-align:right;width:20%}.payment-summary{text-align:right;border-top:1px solid #e9ecef;margin-top:30px;padding-top:20px}.summary-row{justify-content:space-between;align-items:center;margin:8px 0;font-size:14px;display:flex}.summary-row.total{color:#333;border-top:2px solid #dee2e6;margin-top:15px;padding-top:15px;font-size:18px;font-weight:700}.doctor-section{border-top:1px solid #e9ecef;justify-content:flex-end;align-items:flex-start;gap:30px;margin-top:40px;padding-top:20px;display:flex}.doctor-info{text-align:right}.doctor-name{color:#333;margin:0 0 8px;font-size:16px;font-weight:600}.doctor-specialization{color:#666;margin:0 0 20px;font-size:14px;font-style:italic}.doctor-registration-number{color:#666;margin:0 0 20px;font-size:13px}.signature-box{flex-direction:column;align-items:center;display:flex}.signature-placeholder{background:#fff;border:1px solid #000;width:200px;height:50px;margin-bottom:5px}.signature-label{color:#333;margin:0;font-size:12px;font-weight:500}@media (width<=768px){.invoice-preview{padding:10px}.invoice-document{margin:5px;padding:16px}.clinic-header{margin-bottom:20px;padding-bottom:15px}.clinic-logo{width:120px;height:50px}.clinic-logo-image{max-width:120px;max-height:50px}.logo-placeholder{width:120px;height:50px}.clinic-name{font-size:1.5rem}.clinic-address,.clinic-phone,.clinic-email,.clinic-website{font-size:.8rem}.invoice-header-section{flex-direction:column;gap:15px;margin-bottom:20px}.invoice-title{margin-bottom:15px;font-size:1.8rem}.invoice-details{text-align:left}.invoice-details h3{font-size:1.1rem}.invoice-details p{font-size:.9rem}.recipient-info h3{font-size:1.1rem}.recipient-info p{font-size:.9rem}.services-section h3{font-size:1.1rem}.services-table{font-size:.8rem}.services-table th,.services-table td{padding:6px 4px}.summary-section h3{font-size:1.1rem}.summary-row{font-size:.8rem}.summary-row.total{font-size:1.1rem}.doctor-section{gap:20px;margin-top:25px;padding-top:15px}.doctor-name{font-size:1rem}.doctor-specialization{font-size:.8rem}.signature-placeholder{width:150px;height:40px}.signature-label{font-size:.8rem}}@media (width<=480px){.invoice-preview{padding:5px}.invoice-document{margin:2px;padding:12px}.clinic-header{margin-bottom:15px;padding-bottom:10px}.clinic-logo{width:100px;height:40px}.clinic-logo-image{max-width:100px;max-height:40px}.logo-placeholder{width:100px;height:40px}.clinic-name{font-size:1.3rem}.clinic-address,.clinic-phone,.clinic-email,.clinic-website{font-size:.7rem}.invoice-header-section{gap:10px;margin-bottom:15px}.invoice-title{margin-bottom:10px;font-size:1.5rem}.invoice-details h3{font-size:1rem}.invoice-details p{font-size:.8rem}.recipient-info h3{font-size:1rem}.recipient-info p{font-size:.8rem}.services-section h3{font-size:1rem}.services-table{font-size:.7rem}.services-table th,.services-table td{padding:4px 2px}.summary-section h3{font-size:1rem}.summary-row{font-size:.7rem}.summary-row.total{font-size:1rem}.doctor-section{gap:15px;margin-top:20px;padding-top:10px}.doctor-name{font-size:.9rem}.doctor-specialization{font-size:.7rem}.signature-placeholder{width:120px;height:35px}.signature-label{font-size:.7rem}}.invoice-generator-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.invoice-generator-modal .modal-content{background:#fff;border-radius:8px;flex-direction:column;width:95%;height:90%;max-height:800px;display:flex;position:relative;overflow:hidden}.invoice-generator-modal .modal-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.invoice-generator-modal .modal-header h2{color:#333;margin:0;font-size:20px;font-weight:600}.invoice-generator-modal .close-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:24px;transition:all .3s;display:flex}.invoice-generator-modal .close-btn:hover{color:#333;background:#e9ecef}.invoice-generator-modal .modal-content>div:not(.modal-header){flex:1;display:flex;overflow:hidden}.invoice-layout{width:100%;height:100%;display:flex}.invoice-preview-section{background:#f8f9fa;flex:1;padding:20px;overflow-y:auto}.invoice-preview-section>div{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.control-panel{background:#f8f9fa;border-left:1px solid #e9ecef;flex-direction:column;width:300px;padding:30px;display:flex}.control-panel h3{color:#333;margin:0 0 20px;font-size:18px;font-weight:600}.checkbox-group{flex-direction:column;flex:1;gap:15px;display:flex}.checkbox-item{cursor:pointer;border-radius:6px;align-items:center;padding:10px;transition:background-color .3s;display:flex;position:relative}.checkbox-item:hover{background:#e9ecef}.checkbox-item input[type=checkbox]{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background-color:#fff;border:2px solid #ddd;border-radius:4px;width:20px;height:20px;margin-right:12px;transition:all .3s;position:relative}.checkbox-item:hover input~.checkmark{border-color:#007bff}.checkbox-item input:checked~.checkmark{background-color:#007bff;border-color:#007bff}.checkbox-item input:checked~.checkmark:after{display:block}.checkbox-item .checkmark:after{border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;top:2px;left:6px;transform:rotate(45deg)}.label-text{color:#333;font-size:14px;font-weight:500}.action-buttons{flex-direction:column;gap:12px;margin-top:30px;display:flex}.action-buttons .btn{cursor:pointer;text-align:center;border:none;border-radius:6px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .3s}.action-buttons .btn-outline{color:#666;background:0 0;border:1px solid #ddd}.action-buttons .btn-outline:hover{background:#f8f9fa;border-color:#adb5bd}.action-buttons .btn-primary{color:#fff;background:#007bff}.action-buttons .btn-primary:hover{background:#0056b3}@media (width<=1200px){.invoice-layout{flex-direction:column}.control-panel{border-top:1px solid #e9ecef;border-left:none;width:100%;padding:20px}.checkbox-group{flex-flow:wrap;gap:10px}.checkbox-item{min-width:150px}}@media (width<=768px){.invoice-generator-modal .modal-content{width:98%;height:95%;margin:10px}.invoice-generator-modal .modal-header{padding:12px 16px}.invoice-generator-modal .modal-header h2{font-size:1.3rem}.invoice-generator-modal .close-btn{width:28px;height:28px;font-size:20px}.invoice-preview-section{padding:12px}.invoice-preview-section>div{padding:20px}.control-panel{padding:12px}.control-section{margin-bottom:16px}.control-section h3{margin-bottom:8px;font-size:1.1rem}.form-group{margin-bottom:12px}.form-group label{margin-bottom:4px;font-size:.9rem}.form-group input,.form-group textarea{padding:8px;font-size:.9rem}.checkbox-group{flex-direction:column;gap:8px}.checkbox-item{min-width:auto;padding:8px}.checkbox-item label{font-size:.9rem}.action-buttons{gap:8px;margin-top:20px}.action-buttons .btn{padding:10px;font-size:.9rem}.label-text{font-size:.9rem}}@media (width<=480px){.invoice-generator-modal .modal-content{width:99%;height:98%;margin:5px}.invoice-generator-modal .modal-header{padding:10px 12px}.invoice-generator-modal .modal-header h2{font-size:1.2rem}.invoice-generator-modal .close-btn{width:26px;height:26px;font-size:18px}.invoice-preview-section{padding:8px}.invoice-preview-section>div{padding:16px}.control-panel{padding:8px}.control-section h3{margin-bottom:6px;font-size:1rem}.form-group{margin-bottom:10px}.form-group label{font-size:.8rem}.form-group input,.form-group textarea{padding:6px;font-size:.8rem}.checkbox-item{padding:6px}.checkbox-item label{font-size:.8rem}.action-buttons .btn{padding:8px;font-size:.8rem}.label-text{font-size:.8rem}}.bill-selection-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.bill-selection-modal .modal-content{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.bill-selection-modal .modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:24px 30px;display:flex}.bill-selection-modal .modal-header h2{color:#111827;margin:0;font-size:20px;font-weight:600}.bill-selection-modal .close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.bill-selection-modal .close-btn:hover{color:#374151;background:#e5e7eb}.bill-selection-modal .modal-body{flex:1;padding:24px 30px;overflow-y:auto}.search-section{margin-bottom:24px}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#9ca3af;z-index:1;position:absolute;left:12px}.search-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:12px 12px 12px 40px;font-size:14px;transition:all .2s}.bills-section h3{color:#374151;margin:0 0 16px;font-size:16px;font-weight:600}.no-bills{color:#6b7280;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.no-bills svg{color:#d1d5db;margin-bottom:16px}.no-bills p{margin:0;font-size:14px}.bills-list{flex-direction:column;gap:12px;max-height:400px;display:flex;overflow-y:auto}.bill-item{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;padding:16px;transition:all .2s;display:flex}.bill-item:hover{background:#f8fafc;border-color:#3b82f6}.bill-item.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.bill-info{flex-direction:column;flex:1;gap:4px;display:flex}.bill-header{justify-content:space-between;align-items:center;display:flex}.bill-number{color:#111827;font-size:14px;font-weight:600}.bill-amount{color:#059669;font-size:14px;font-weight:600}.bill-details{color:#6b7280;justify-content:space-between;align-items:center;font-size:13px;display:flex}.patient-name{color:#374151;font-weight:500}.bill-date{color:#6b7280}.bill-services{color:#9ca3af;font-size:12px;font-style:italic}.bill-selector{margin-left:16px}.radio-button{border:2px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.radio-button.checked{background:#3b82f6;border-color:#3b82f6}.radio-dot{background:#fff;border-radius:50%;width:8px;height:8px}.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:24px 30px;display:flex}.modal-footer .btn{cursor:pointer;border:none;border-radius:6px;min-width:100px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.modal-footer .btn-outline{color:#374151;background:0 0;border:1px solid #d1d5db}.modal-footer .btn-outline:hover{background:#f3f4f6;border-color:#9ca3af}.modal-footer .btn-primary{color:#fff;background:#3b82f6}.modal-footer .btn-primary:hover{background:#2563eb}.modal-footer .btn-primary:disabled{cursor:not-allowed;background:#9ca3af}@media (width<=768px){.bill-selection-modal .modal-content{width:95%;max-height:90vh;margin:10px}.bill-selection-modal .modal-header{padding:16px 20px}.bill-selection-modal .modal-header h2{font-size:1.3rem}.bill-selection-modal .close-btn{width:28px;height:28px;font-size:20px}.bill-selection-modal .modal-body{padding:16px 20px}.search-section{margin-bottom:16px}.search-input{padding:10px 10px 10px 36px;font-size:1rem}.search-icon{width:14px;height:14px;left:10px}.bills-section h3{margin-bottom:12px;font-size:1.1rem}.bills-list{gap:8px;max-height:350px}.bill-item{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.bill-info{width:100%}.bill-header{flex-direction:column;align-items:flex-start;gap:4px}.bill-number,.bill-amount{font-size:1rem}.bill-details{flex-direction:column;align-items:flex-start;gap:4px;width:100%}.patient-name{font-size:.9rem}.bill-date,.bill-services{font-size:.8rem}.bill-selector{align-self:flex-end;margin-left:0}.radio-button{width:24px;height:24px}.radio-dot{width:10px;height:10px}.modal-footer{flex-direction:column;gap:8px;padding:16px 20px}.modal-footer .btn{width:100%;padding:12px;font-size:.9rem}.no-bills{padding:40px 16px}.no-bills svg{width:40px;height:40px}.no-bills p{font-size:.9rem}}@media (width<=480px){.bill-selection-modal .modal-content{width:98%;max-height:95vh;margin:5px}.bill-selection-modal .modal-header{padding:12px 16px}.bill-selection-modal .modal-header h2{font-size:1.2rem}.bill-selection-modal .close-btn{width:26px;height:26px;font-size:18px}.bill-selection-modal .modal-body{padding:12px 16px}.search-input{padding:8px 8px 8px 32px;font-size:.9rem}.search-icon{width:12px;height:12px;left:8px}.bills-section h3{margin-bottom:10px;font-size:1rem}.bills-list{gap:6px;max-height:300px}.bill-item{gap:6px;padding:10px}.bill-number,.bill-amount{font-size:.9rem}.patient-name{font-size:.8rem}.bill-date,.bill-services{font-size:.7rem}.radio-button{width:22px;height:22px}.radio-dot{width:8px;height:8px}.modal-footer{gap:6px;padding:12px 16px}.modal-footer .btn{padding:10px;font-size:.8rem}.no-bills{padding:30px 12px}.no-bills svg{width:36px;height:36px}.no-bills p{font-size:.8rem}}.recurring-expense-form-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.recurring-expense-form-modal .modal-content{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.recurring-expense-form-modal .modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:24px 30px;display:flex}.recurring-expense-form-modal .modal-header h2{color:#111827;margin:0;font-size:20px;font-weight:600}.recurring-expense-form-modal .close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.recurring-expense-form-modal .close-btn:hover{color:#374151;background:#e5e7eb}.recurring-expense-form{flex:1;padding:24px 30px;overflow-y:auto}.form-section h3{color:#374151;border-bottom:1px solid #e5e7eb;margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:600}.form-row:last-child{margin-bottom:0}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:14px;transition:all .2s}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-group small{color:#6b7280;margin-top:4px;font-size:12px}.error-message{color:#ef4444;margin-top:4px;font-size:12px}.checkbox-group{align-items:flex-start;gap:8px;display:flex}.checkbox-label{cursor:pointer;color:#374151;align-items:center;font-size:14px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background-color:#fff;border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;width:18px;height:18px;margin-right:8px;transition:all .2s;position:relative}.checkbox-label:hover input~.checkmark{border-color:#3b82f6}.checkbox-label input:checked~.checkmark{background-color:#3b82f6;border-color:#3b82f6}.checkmark:after{content:"";display:none;position:absolute}.checkbox-label input:checked~.checkmark:after{display:block}.checkbox-label .checkmark:after{border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;top:2px;left:5px;transform:rotate(45deg)}.checkbox-group small{color:#6b7280;margin-top:4px;font-size:12px;line-height:1.4}.form-actions .btn{cursor:pointer;border:none;border-radius:6px;min-width:100px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.form-actions .btn-outline{color:#374151;background:0 0;border:1px solid #d1d5db}.form-actions .btn-outline:hover{background:#f3f4f6;border-color:#9ca3af}.form-actions .btn-primary{color:#fff;background:#3b82f6}.form-actions .btn-primary:hover{background:#2563eb}.form-actions .btn-primary:disabled{cursor:not-allowed;background:#9ca3af}@media (width<=768px){.recurring-expense-form-modal .modal-content{width:95%;max-height:95vh}.recurring-expense-form-modal .modal-header,.recurring-expense-form{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%;padding:var(--spacing-sm);font-size:.9rem}.recurring-expense-form h3{margin-bottom:var(--spacing-sm);font-size:1.5rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm);font-size:.9rem}}@media (width<=480px){.recurring-expense-form h3{font-size:1.3rem}.form-group label{font-size:.8rem}.form-group input,.form-group select,.form-group textarea,.form-actions .btn{padding:var(--spacing-xs);font-size:.8rem}.recurring-expense-form-modal .modal-content{width:98%;max-height:98vh}.recurring-expense-form-modal .modal-header,.recurring-expense-form{padding:16px}}.recurring-expenses-section{background:#fff;border-radius:12px;margin-top:30px;padding:24px;box-shadow:0 1px 3px #0000001a}.section-header h3{color:#111827;margin:0;font-size:20px;font-weight:600}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;padding:16px;transition:all .2s;display:flex}.summary-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.summary-icon{color:#fff;background:#3b82f6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-right:12px;display:flex}.summary-content{flex:1;min-width:0}.summary-value{color:#111827;overflow-wrap:anywhere;margin-bottom:2px;font-size:18px;font-weight:600}.summary-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.expenses-list h4{color:#374151;margin:0 0 16px;font-size:16px;font-weight:600}.no-expenses{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.no-expenses svg{color:#d1d5db;margin-bottom:16px}.no-expenses p{margin:0 0 16px;font-size:14px}.expenses-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;display:grid}.expense-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.expense-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.expense-card.active{border-left:4px solid #10b981}.expense-card.due-soon{border-left:4px solid #f59e0b}.expense-card.overdue{border-left:4px solid #ef4444}.expense-card.inactive{opacity:.7;border-left:4px solid #6b7280}.expense-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.expense-title{flex:1}.expense-title h5{color:#111827;margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.status-badge.active{color:#166534;background:#dcfce7}.status-badge.due-soon{color:#92400e;background:#fef3c7}.status-badge.overdue{color:#991b1b;background:#fee2e2}.status-badge.inactive{color:#374151;background:#f3f4f6}.expense-amount{color:#059669;font-size:16px;font-weight:600}.expense-details{margin-bottom:16px}.detail-row{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px;display:flex}.detail-row:last-child{margin-bottom:0}.detail-row .label{color:#6b7280;font-weight:500}.detail-row .value{color:#374151;font-weight:400}.expense-actions{flex-wrap:wrap;gap:8px;display:flex}.expense-actions .btn{border-radius:6px;padding:6px 12px;font-size:11px}@media (width<=768px){.recurring-expenses-section{padding:16px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.summary-cards{grid-template-columns:repeat(2,1fr)}.expenses-grid{grid-template-columns:1fr}.expense-header{flex-direction:column;align-items:flex-start;gap:8px}.expense-actions{justify-content:flex-start}}@media (width<=480px){.summary-cards{grid-template-columns:1fr}.expense-actions{flex-direction:column}.expense-actions .btn{width:100%}}.financial-report-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.financial-report-modal .modal-content{background:#fff;border-radius:12px;flex-direction:column;width:95%;max-height:95vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.financial-report-modal .modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:24px 30px;display:flex}.financial-report-modal .modal-header h2{color:#111827;margin:0;font-size:20px;font-weight:600}.header-actions{align-items:center;gap:12px;display:flex}.close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.report-controls{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:20px;padding:24px 30px;display:flex;box-shadow:0 1px 3px #0000000d}.control-group{flex-direction:column;gap:8px;min-width:150px;display:flex}.control-group label{color:#374151;margin:0;font-size:14px;font-weight:500}.report-select{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px;transition:border-color .2s}.report-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.report-select:hover{background-color:#f9fafb;border-color:#9ca3af}.custom-period-controls{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}@media (width<=768px){.report-controls{flex-direction:column;align-items:stretch;gap:16px}.control-group{min-width:auto}.custom-period-controls{flex-direction:column;gap:16px}}.report-content{flex:1;padding:24px 30px;overflow-y:auto}.financial-report{color:#111827;background:#fff;max-width:800px;margin:0 auto;font-family:Arial,sans-serif;line-height:1.6}.report-header{text-align:center;border-bottom:2px solid #e5e7eb;margin-bottom:40px;padding-bottom:20px}.report-header h1{color:#111827;margin:0 0 16px;font-size:28px;font-weight:700}.report-meta{color:#6b7280;font-size:14px}.report-meta p{margin:4px 0}.report-section{margin-bottom:40px}.report-section h2{color:#111827;border-bottom:1px solid #e5e7eb;margin:0 0 20px;padding-bottom:8px;font-size:20px;font-weight:600}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.summary-item{text-align:center;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.summary-item.income{background:#f0fdf4;border-color:#bbf7d0}.summary-item.expense{background:#fef2f2;border-color:#fecaca}.summary-item.profit{background:#eff6ff;border-color:#bfdbfe}.summary-item.transactions{background:#f9fafb;border-color:#d1d5db}.summary-label{color:#6b7280;margin-bottom:8px;font-size:14px;font-weight:500}.summary-value{color:#111827;font-size:24px;font-weight:700}.analysis-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;display:grid}.analysis-item h3{color:#111827;margin:0 0 16px;font-size:16px;font-weight:600}.list-container{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.list-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.list-item:last-child{border-bottom:none}.item-name{color:#374151;font-weight:500}.item-amount{color:#111827;font-weight:600}.breakdown-stats{border:1px solid #e5e7eb;border-radius:6px;padding:16px}.stat-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.stat-item:last-child{border-bottom:none}.stat-label{color:#6b7280;font-size:14px}.stat-value{color:#111827;font-weight:600}.transactions-table-container{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.transactions-table{border-collapse:collapse;width:100%;font-size:12px}.transactions-table tr:last-child td{border-bottom:none}.category-badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.category-badge.income{color:#166534;background:#dcfce7}.category-badge.expense{color:#991b1b;background:#fee2e2}.transactions-table .income{color:#059669;font-weight:600}.transactions-table .expense{color:#dc2626;font-weight:600}.report-footer{color:#6b7280;border-top:2px solid #e5e7eb;margin-top:40px;padding-top:20px;font-size:12px}.report-footer p{margin:4px 0}.no-data{text-align:center;color:#6b7280;padding:20px;font-style:italic}.loading{color:#6b7280;justify-content:center;align-items:center;height:200px;font-style:italic;display:flex}@media (width<=768px){.financial-report-modal .modal-content{width:98%;max-height:98vh}.financial-report-modal .modal-header,.report-content{padding:16px}.summary-grid,.analysis-grid{grid-template-columns:1fr}.transactions-table{font-size:10px}.transactions-table th,.transactions-table td{padding:6px 4px}}.inventory-module{padding:var(--spacing-lg)}@media (width<=768px){.inventory-module{padding:var(--spacing-sm)}.module-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;align-items:stretch}.module-header h2{text-align:center;font-size:1.5rem}.module-header .btn{width:100%;padding:var(--spacing-sm);justify-content:center}.inventory-summary{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr}.summary-card{padding:var(--spacing-sm);gap:var(--spacing-sm)}.summary-icon{width:40px;height:40px}.summary-value{font-size:1.5rem}.summary-label{font-size:.9rem}.inventory-filters{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.search-box{gap:var(--spacing-sm);flex-direction:column}.search-box input{padding:var(--spacing-sm);font-size:1rem}.search-box button{width:100%;padding:var(--spacing-sm)}.filter-options{gap:var(--spacing-sm);flex-direction:column}.filter-options select{width:100%;padding:var(--spacing-sm)}.view-toggle{justify-content:center}.view-toggle button{padding:var(--spacing-sm);flex:1;font-size:.9rem}.inventory-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.inventory-item{padding:var(--spacing-sm)}.item-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.item-title{font-size:1.1rem}.item-category{font-size:.8rem}.item-details{gap:var(--spacing-sm);grid-template-columns:1fr}.item-actions{gap:var(--spacing-xs);flex-direction:column}.item-actions button{width:100%;padding:var(--spacing-sm);font-size:.9rem}.inventory-table{overflow-x:auto}.inventory-table table{min-width:600px;font-size:.9rem}.inventory-table th,.inventory-table td{padding:var(--spacing-xs)}.table-actions{gap:var(--spacing-xs);flex-direction:column}.table-actions button{padding:var(--spacing-xs);font-size:.8rem}}@media (width<=480px){.inventory-module{padding:var(--spacing-xs)}.module-header h2{font-size:1.3rem}.summary-card{padding:var(--spacing-xs)}.summary-icon{width:35px;height:35px}.summary-value{font-size:1.3rem}.summary-label{font-size:.8rem}.item-title{font-size:1rem}.item-actions button{padding:var(--spacing-xs);font-size:.8rem}.inventory-table table{min-width:500px;font-size:.8rem}.inventory-table th,.inventory-table td{padding:4px}.table-actions button{padding:4px 8px;font-size:.7rem}}.module-header h2{color:var(--text-color);margin:0}.inventory-summary{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(1,1fr);display:grid}.summary-card{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);align-items:center;gap:var(--spacing-md);transition:var(--transition);display:flex}.summary-icon{width:48px;height:48px;color:var(--primary-color);background-color:#3498db1a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.summary-value{color:var(--text-color);margin-bottom:4px;font-size:24px;font-weight:700}.summary-label{color:var(--text-light);font-size:14px;font-weight:500}.inventory-filters{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.search-box{gap:var(--spacing-sm);display:flex}.search-box input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);flex:1;font-size:14px}.search-box button{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:var(--white);border-radius:var(--radius);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;display:flex}.search-box button:hover{background-color:var(--primary-dark)}.inventory-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(1,1fr);display:grid}.inventory-card{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);transition:var(--transition);position:relative;overflow:hidden}.inventory-card:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}.inventory-card.inactive{opacity:.7}.inventory-icon{width:48px;height:48px;margin-bottom:var(--spacing-md);color:var(--primary-color);background-color:#3498db1a;border-radius:12px;justify-content:center;align-items:center;display:flex}.inventory-details h3{margin-bottom:var(--spacing-xs);font-size:18px}.inventory-meta{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.quantity{color:var(--text-color);font-weight:600}.inventory-description{color:var(--text-light);margin-bottom:var(--spacing-md);font-size:14px;line-height:1.4}.inventory-stats{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0;border-top:1px solid var(--medium-gray);border-bottom:1px solid var(--medium-gray);grid-template-columns:repeat(2,1fr);display:grid}.inventory-actions{justify-content:space-between;gap:var(--spacing-xs);margin-top:var(--spacing-md);display:flex}.inventory-actions .btn{white-space:nowrap;flex:1;min-width:0;padding:6px 8px;font-size:12px}.inventory-list{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-container{overflow-x:auto}.inventory-table{border-collapse:collapse;width:100%}.inventory-table th{text-align:left;padding:var(--spacing-sm);background-color:var(--light-gray);font-weight:600}.inventory-table th:last-child{text-align:center}.inventory-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--medium-gray)}.inventory-name-cell{align-items:center;gap:var(--spacing-sm);display:flex}.inventory-icon-small{width:32px;height:32px;color:var(--primary-color);background-color:#3498db1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.inventory-name{margin-bottom:2px;font-weight:600}.inventory-description-small{color:var(--text-light);font-size:12px;line-height:1.3}.table-actions{gap:var(--spacing-xs);display:flex}@media (width<=768px){.modal-content{padding:var(--spacing-md);width:100%;min-width:auto;max-height:95vh}.modal-header{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.modal-header h2{font-size:1.3rem}.close-button{width:28px;height:28px;font-size:20px}.form-group{margin-bottom:var(--spacing-sm)}.form-group label{font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-sm);font-size:.9rem}.modal-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-direction:column}.modal-actions .btn{width:100%;padding:var(--spacing-sm);font-size:.9rem}}@media (width<=480px){.modal-content{padding:var(--spacing-sm);max-height:98vh}.modal-header{padding:var(--spacing-sm)}.modal-header h2{font-size:1.2rem}.close-button{width:26px;height:26px;font-size:18px}.form-group label{font-size:.8rem}.form-group input,.form-group textarea,.form-group select,.modal-actions .btn{padding:var(--spacing-xs);font-size:.8rem}}@media (width>=576px){.inventory-filters,.filter-options{flex-direction:row}.inventory-summary,.inventory-grid,.form-row{grid-template-columns:repeat(2,1fr)}.inventory-actions .btn{padding:8px 12px;font-size:13px}}@media (width>=992px){.inventory-summary{grid-template-columns:repeat(4,1fr)}.inventory-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.inventory-grid{grid-template-columns:repeat(4,1fr)}}.batch-toggle{color:var(--primary,#4f46e5);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:4px 0;font-size:12px;font-weight:600}.batch-toggle:hover{text-decoration:underline}.batch-list{border-top:1px dashed #e2e8f0;flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.batch-row{background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;display:flex}.batch-row .batch-qty{font-weight:600}.batch-row .batch-expiry{color:#64748b}.batch-row .batch-supplier{color:#94a3b8;flex-basis:100%;margin-top:2px;font-size:11px}.batch-row.expiring{background:#fffbeb;border-left-color:#f59e0b}.batch-row.expiring .batch-expiry{color:#b45309}.batch-row.expired{background:#fef2f2;border-left-color:#ef4444}.batch-row.expired .batch-expiry{color:#b91c1c;font-weight:600}.batch-empty{color:#94a3b8;padding:4px 0;font-size:12px}.batch-detail-row td{background:#f8fafc;padding:8px 16px}.form-hint{color:#64748b;background:#f1f5f9;border-radius:6px;margin:8px 0;padding:8px 10px;font-size:12px}.services-module{padding:var(--spacing-md)}@media (width<=768px){.services-module{padding:var(--spacing-sm)}.module-header{gap:var(--spacing-sm);flex-direction:column;align-items:stretch}.module-header h2{text-align:center;font-size:1.5rem}.module-header .btn{width:100%;padding:var(--spacing-sm);justify-content:center}.services-summary{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr}.summary-card{padding:var(--spacing-sm)}.summary-icon{width:40px;height:40px;margin-right:var(--spacing-sm)}.summary-value{font-size:1.5rem}.summary-label{font-size:.9rem}.services-filters{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.search-box{gap:var(--spacing-sm);flex-direction:column}.search-box input{padding:var(--spacing-sm);padding-right:var(--spacing-sm);font-size:1rem}.search-box button{width:100%;padding:var(--spacing-sm)}.filter-options{gap:var(--spacing-sm);flex-direction:column}.filter-options select{width:100%;padding:var(--spacing-sm)}.view-toggle{justify-content:center}.view-toggle button{padding:var(--spacing-sm);flex:1;font-size:.9rem}.services-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.service-card{padding:var(--spacing-sm)}.service-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.service-title{font-size:1.1rem}.service-category{font-size:.8rem}.service-details{gap:var(--spacing-sm);grid-template-columns:1fr}.service-actions{gap:var(--spacing-xs);flex-direction:column}.service-actions button{width:100%;padding:var(--spacing-sm);font-size:.9rem}.services-table{overflow-x:auto}.services-table table{min-width:600px;font-size:.9rem}.services-table th,.services-table td{padding:var(--spacing-xs)}.table-actions{gap:var(--spacing-xs);flex-direction:column}.table-actions button{padding:var(--spacing-xs);font-size:.8rem}}@media (width<=480px){.services-module{padding:var(--spacing-xs)}.module-header h2{font-size:1.3rem}.summary-card{padding:var(--spacing-xs)}.summary-icon{width:35px;height:35px}.summary-value{font-size:1.3rem}.summary-label{font-size:.8rem}.service-title{font-size:1rem}.service-actions button{padding:var(--spacing-xs);font-size:.8rem}.services-table table{min-width:500px;font-size:.8rem}.services-table th,.services-table td{padding:4px}.table-actions button{padding:4px 8px;font-size:.7rem}}.loading-spinner{padding:var(--spacing-xl);color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;display:flex}.services-summary{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(1,1fr);display:grid}.summary-card{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);transition:var(--transition);align-items:center;display:flex}.summary-card:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}.summary-icon{width:48px;height:48px;margin-right:var(--spacing-md);color:var(--primary-color);background-color:#3498db1a;border-radius:12px;justify-content:center;align-items:center;display:flex}.summary-details{flex:1}.summary-value{margin-bottom:var(--spacing-xs);font-size:24px;font-weight:600}.summary-label{color:var(--text-light);font-size:14px}.services-filters{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.search-box{flex:1;align-items:center;display:flex;position:relative}.search-box input{flex:1;padding-right:50px}.search-box button{right:var(--spacing-sm);color:var(--dark-gray);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius);transition:var(--transition);background:0 0;border:none;position:absolute;top:50%;transform:translateY(-50%)}.search-box button:hover{background-color:var(--light-gray);color:var(--primary-color)}.filter-options{gap:var(--spacing-md);flex-direction:column;display:flex}.view-toggle{align-items:center;gap:var(--spacing-xs);display:flex}.view-btn{border:1px solid var(--medium-gray);border-radius:var(--radius);background-color:var(--white);width:36px;height:36px;color:var(--text-light);transition:var(--transition);justify-content:center;align-items:center;display:flex}.view-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.services-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(1,1fr);display:grid}.service-card{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);transition:var(--transition);position:relative;overflow:hidden}.service-card:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}.service-card.inactive{opacity:.7}.status-indicator{height:4px;position:absolute;top:0;left:0;right:0}.status-indicator.active{background-color:var(--success-color)}.status-indicator.inactive{background-color:var(--warning-color)}.service-icon{width:48px;height:48px;margin-bottom:var(--spacing-md);color:var(--primary-color);background-color:#3498db1a;border-radius:12px;justify-content:center;align-items:center;display:flex}.service-details h3{margin-bottom:var(--spacing-xs);font-size:18px}.service-meta{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.category-badge{color:var(--primary-color);background-color:#3498db1a;border-radius:12px;padding:2px 8px;font-size:12px;display:inline-block}.price{color:var(--text-color);font-weight:600}.service-description{color:var(--text-light);margin-bottom:var(--spacing-md);font-size:14px;line-height:1.4}.service-stats{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0;border-top:1px solid var(--medium-gray);border-bottom:1px solid var(--medium-gray);grid-template-columns:repeat(2,1fr);display:grid}.stat{text-align:center}.stat-label{color:var(--text-light);margin-bottom:2px;font-size:12px}.stat-value{font-weight:600}.service-actions{justify-content:space-between;gap:var(--spacing-xs);margin-top:var(--spacing-md);display:flex}.service-actions .btn{white-space:nowrap;flex:1;min-width:0;padding:6px 8px;font-size:12px}.services-table{border-collapse:collapse;width:100%}.services-table th{text-align:left;padding:var(--spacing-sm);background-color:var(--light-gray);font-weight:600}.services-table th:last-child{text-align:center}.services-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--medium-gray)}.inactive-row{opacity:.7;background-color:var(--light-gray)}.service-name-cell{place-items:center;gap:var(--spacing-sm);display:flex}.service-icon-small{width:32px;height:32px;color:var(--primary-color);background-color:#3498db1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.service-name{margin-bottom:2px;font-weight:600}.service-description-small{color:var(--text-light);font-size:12px;line-height:1.3}.table-actions{gap:var(--spacing-xs);justify-content:center;display:flex}.table-actions .btn{white-space:nowrap;padding:4px 8px;font-size:12px}.no-results{text-align:center;padding:var(--spacing-xl) 0;color:var(--text-light);grid-column:1/-1}.no-results svg{color:var(--medium-gray);margin-bottom:var(--spacing-md)}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{width:auto;min-width:300px;max-width:90vw;max-height:90vh;overflow-y:auto}.modal-content{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-strong);padding:var(--spacing-lg)}.modal-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--medium-gray);justify-content:space-between;align-items:center;display:flex}.close-button{color:var(--text-light);cursor:pointer;border-radius:var(--radius);width:30px;height:30px;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:24px;display:flex}.form-group label{margin-bottom:var(--spacing-xs);color:var(--text-color);font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-sm);border:1px solid var(--medium-gray);border-radius:var(--radius);transition:var(--transition);font-size:14px}.modal-actions{justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--medium-gray);display:flex}.badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-primary{background-color:var(--primary-color);color:#fff}.badge-secondary{background-color:var(--secondary-color);color:#fff}.badge-warning{background-color:var(--warning-color);color:#fff}.badge-danger{background-color:var(--danger-color);color:#fff}.btn-danger{background-color:var(--danger-color);color:var(--white)}.btn-danger:hover{background-color:#c0392b}@media (width<=768px){.modal-content{padding:var(--spacing-md);width:100%;min-width:auto;max-height:95vh}.modal-header{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.modal-header h2{font-size:1.3rem}.close-button{width:28px;height:28px;font-size:20px}.form-group{margin-bottom:var(--spacing-sm)}.form-group label{font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-sm);font-size:.9rem}.modal-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-direction:column}.modal-actions .btn{width:100%;padding:var(--spacing-sm);font-size:.9rem}}@media (width<=480px){.modal-content{padding:var(--spacing-sm);max-height:98vh}.modal-header{padding:var(--spacing-sm)}.modal-header h2{font-size:1.2rem}.close-button{width:26px;height:26px;font-size:18px}.form-group label{font-size:.8rem}.form-group input,.form-group textarea,.form-group select,.modal-actions .btn{padding:var(--spacing-xs);font-size:.8rem}}@media (width>=576px){.services-filters,.filter-options{flex-direction:row}.services-summary,.services-grid,.form-row{grid-template-columns:repeat(2,1fr)}.service-actions .btn{padding:8px 12px;font-size:13px}}@media (width>=992px){.services-summary{grid-template-columns:repeat(4,1fr)}.services-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.services-grid{grid-template-columns:repeat(4,1fr)}}.clinics-module{padding:var(--spacing-md)}.module-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.clinics-tabs{border-bottom:1px solid var(--medium-gray);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.clinics-tabs button{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-light);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;font-size:16px;font-weight:500}.clinics-tabs button:hover{color:var(--text-color)}.clinics-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.clinics-tab{height:calc(100vh - 300px);overflow-y:auto}.loading{text-align:center;padding:var(--spacing-xl);color:var(--text-light);font-size:16px}.error{color:#c53030;padding:var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md);background:#fee;border:1px solid #feb2b2}.no-data{text-align:center;padding:var(--spacing-xl);color:var(--text-light);font-size:16px}.no-data p{margin:0}.clinics-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(400px,1fr));display:grid}.clinic-card{background:var(--white);border:1px solid var(--medium-gray);border-radius:var(--radius);padding:var(--spacing-lg);transition:var(--transition)}.clinic-card:hover{box-shadow:var(--shadow)}.clinic-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:flex-start;display:flex}.clinic-header h3{color:var(--text-color);margin:0;font-size:18px;font-weight:600}.status-badge.active{background-color:var(--success-color);color:var(--white)}.status-badge.inactive{background-color:var(--danger-color);color:var(--white)}.clinic-details{margin-bottom:var(--spacing-md)}.detail-item{margin-bottom:var(--spacing-xs);color:var(--text-color);font-size:14px}.detail-item strong{color:var(--text-color);margin-right:var(--spacing-xs)}.website-link{color:var(--primary-color);transition:var(--transition);word-break:break-all;font-weight:500;text-decoration:none}.website-link:hover{color:var(--primary-dark);text-decoration:underline}.clinic-specialties{margin-bottom:var(--spacing-md)}.specialties-list{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.specialty-tag{background-color:var(--light-gray);color:var(--text-color);border-radius:12px;padding:4px 8px;font-size:12px;font-weight:500}.clinic-doctors{margin-bottom:var(--spacing-md);color:var(--text-color);font-size:14px}.clinic-actions{gap:var(--spacing-sm);display:flex}.doctors-tab{height:calc(100vh - 300px);overflow-y:auto}.doctors-list{gap:var(--spacing-md);flex-direction:column;display:flex}.doctor-card{background:var(--white);border:1px solid var(--medium-gray);border-radius:var(--radius);padding:var(--spacing-lg);transition:var(--transition)}.doctor-card:hover{box-shadow:var(--shadow)}.doctor-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:flex-start;display:flex}.doctor-info h3{margin:0 0 var(--spacing-xs) 0;color:var(--text-color);font-size:18px;font-weight:600}.specialty{color:var(--primary-color);font-size:14px;font-weight:500}.doctor-details{margin-bottom:var(--spacing-md)}.clinics-list{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.clinic-tag{background-color:var(--primary-color);color:var(--white);border-radius:12px;padding:4px 8px;font-size:12px;font-weight:500}.doctor-schedule{margin-bottom:var(--spacing-md)}.schedule-list{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-direction:column;display:flex}.schedule-item{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--light-gray);border-radius:var(--radius);justify-content:space-between;align-items:center;font-size:12px;display:flex}.schedule-item .day{color:var(--text-color);font-weight:600}.schedule-item .time{color:var(--primary-color);font-weight:500}.schedule-item .clinic{color:var(--text-light);font-size:11px}.doctor-actions{gap:var(--spacing-sm);display:flex}.oncall-tab{height:calc(100vh - 300px);overflow-y:auto}.oncall-header{text-align:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:var(--light-gray);border-radius:var(--radius)}.oncall-header h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-color);font-size:20px;font-weight:600}.oncall-header p{color:var(--text-light);margin:0;font-size:16px}.oncall-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.oncall-card{background:var(--white);border:1px solid var(--medium-gray);border-radius:var(--radius);padding:var(--spacing-lg);transition:var(--transition);border-left:4px solid var(--primary-color)}.oncall-card:hover{box-shadow:var(--shadow)}.oncall-doctor-info{margin-bottom:var(--spacing-md)}.oncall-doctor-info h4{margin:0 0 var(--spacing-xs) 0;color:var(--text-color);font-size:16px;font-weight:600}.oncall-schedule{margin-bottom:var(--spacing-md)}.schedule-detail{padding:var(--spacing-sm);background-color:var(--light-gray);border-radius:var(--radius);margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.time-slot{color:var(--primary-color);font-size:14px;font-weight:600}.clinic-name{color:var(--text-color);font-size:14px}.oncall-contact{margin-bottom:var(--spacing-md)}.contact-item{margin-bottom:var(--spacing-xs);color:var(--text-color);font-size:14px}.contact-item strong{color:var(--text-color);margin-right:var(--spacing-xs)}.oncall-actions{gap:var(--spacing-sm);display:flex}.schedule-tab{height:calc(100vh - 300px);overflow-y:auto}.schedule-form{background:var(--white);border:1px solid var(--medium-gray);border-radius:var(--radius);max-width:800px;padding:var(--spacing-lg);margin:0 auto}.schedule-form h3{margin:0 0 var(--spacing-lg) 0;color:var(--text-color);text-align:center;font-size:20px;font-weight:600}.form-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-group input,.form-group select{padding:var(--spacing-md);border:2px solid var(--medium-gray);border-radius:var(--radius);transition:var(--transition);background:var(--white);font-size:16px}.form-actions{justify-content:center;gap:var(--spacing-md);display:flex}.add-clinic-modal,.add-doctor-modal{width:100%;max-width:600px}.modal-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--medium-gray);margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.close-button{color:var(--text-light);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius);transition:var(--transition);background:0 0;border:none}.clinic-form,.doctor-form{gap:var(--spacing-md);flex-direction:column;display:flex}.checkbox-group{gap:var(--spacing-sm);margin-top:var(--spacing-xs);flex-direction:column;display:flex}.checkbox-item{align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--text-color);font-size:14px;display:flex}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color)}.clinic-hours-editor{gap:var(--spacing-md);flex-direction:column;display:flex}.day-row{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);background:var(--white);display:flex}.day-label{flex-shrink:0;min-width:100px}.day-label strong{color:var(--text-color);font-size:14px}.day-controls{gap:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.closed-toggle{align-items:center;gap:var(--spacing-xs);color:var(--text-color);cursor:pointer;font-size:14px;display:flex}.closed-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--danger-color)}.ranges{gap:var(--spacing-sm);flex-direction:column;display:flex}.range-row{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--light-gray);border-radius:var(--radius);display:flex}.range-row input[type=time]{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--medium-gray);border-radius:var(--radius);background:var(--white);font-size:14px}.to-sep{color:var(--text-light);font-size:14px;font-weight:500}.range-row .btn{padding:var(--spacing-xs) var(--spacing-sm);margin-left:auto;font-size:12px}@media (width<=768px){.clinics-grid,.oncall-grid,.form-grid,.form-row{grid-template-columns:1fr}.clinics-tabs{flex-wrap:wrap}.clinics-tabs button{flex:1;min-width:120px}.module-header{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.header-actions{width:100%}.header-actions .btn{flex:1}}@media (width<=480px){.clinic-card,.doctor-card,.oncall-card,.schedule-form{padding:var(--spacing-md)}.form-actions{flex-direction:column}}.btn-danger{color:#fff;background-color:#dc3545;border:1px solid #dc3545}.btn-danger:hover{background-color:#c82333;border-color:#bd2130}.btn-warning{color:#212529;background-color:#ffc107;border:1px solid #ffc107}.btn-warning:hover{background-color:#e0a800;border-color:#d39e00}.btn-success{color:#fff;background-color:#28a745;border:1px solid #28a745}.btn-success:hover{background-color:#218838;border-color:#1e7e34}.clinic-actions{gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.clinic-actions .btn{min-width:auto;padding:4px 8px;font-size:12px}.loading-spinner{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.loading-spinner--centered{z-index:10;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-spinner--small{padding:1rem}.loading-spinner--small .loading-spinner__circle{width:24px;height:24px}.loading-spinner--medium{padding:1.5rem}.loading-spinner--medium .loading-spinner__circle{width:40px;height:40px}.loading-spinner--large{padding:2rem}.loading-spinner--large .loading-spinner__circle{width:60px;height:60px}.loading-spinner--xlarge{padding:3rem}.loading-spinner--xlarge .loading-spinner__circle{width:80px;height:80px}.loading-spinner__circle{border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.loading-spinner__inner-circle{border:3px solid #0000;border-top-color:currentColor;border-radius:50%;width:100%;height:100%;animation:1.2s cubic-bezier(.68,-.55,.265,1.55) infinite spin;position:relative}.loading-spinner__pulse{opacity:.3;background:currentColor;border-radius:50%;width:30%;height:30%;animation:2s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-spinner--primary{color:var(--primary-color,#3b82f6)}.loading-spinner--secondary{color:var(--secondary-color,#6b7280)}.loading-spinner--white{color:#fff}.loading-spinner--dark{color:var(--text-dark,#1f2937)}.loading-spinner__message{color:var(--text-medium,#6b7280);text-align:center;margin-top:1rem;font-size:.875rem;font-weight:500;animation:.6s ease-out fadeInUp}@keyframes pulse{0%,to{opacity:.3;transform:translate(-50%,-50%)scale(.8)}50%{opacity:.6;transform:translate(-50%,-50%)scale(1.2)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.loading-spinner--right-panel{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#fffffff2;flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex;position:absolute;inset:0}.loading-spinner--right-panel .loading-spinner__circle{width:50px;height:50px}.loading-spinner--right-panel .loading-spinner__inner-circle{border-width:4px;animation:1s linear infinite spin}.loading-spinner--right-panel .loading-spinner__pulse{width:20%;height:20%;animation:1.5s ease-in-out infinite pulse}@media (width<=768px){.loading-spinner--right-panel .loading-spinner__circle{width:40px;height:40px}.loading-spinner__message{margin-top:.75rem;font-size:.8rem}}@media (prefers-color-scheme:dark){.loading-spinner--right-panel{background:#111827f2}.loading-spinner__message{color:var(--text-light,#9ca3af)}}.loading-spinner[aria-hidden=true]{display:none}@media (prefers-contrast:high){.loading-spinner__inner-circle{border-width:4px}.loading-spinner--primary{color:#00f}.loading-spinner--secondary{color:#000}}@media (prefers-reduced-motion:reduce){.loading-spinner__inner-circle{border-top-color:currentColor;animation:none}.loading-spinner__pulse{opacity:.5;animation:none}.loading-spinner__message{animation:none}}.whatsapp-modal{width:90vw;max-width:800px;max-height:90vh;overflow:hidden}.whatsapp-modal .modal-close{z-index:15!important;position:absolute!important;top:5px!important;right:5px!important}.whatsapp-modal-content{flex-direction:column;height:100%;display:flex}.whatsapp-modal-content .modal-header{border-bottom:1px solid var(--border-color);background:var(--background-color);z-index:5;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:sticky;top:0}.whatsapp-modal-content .modal-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#000!important}.header-tabs{gap:.5rem;display:flex}.tab-button{border:1px solid var(--border-color);color:#333;cursor:pointer;background:#f5f5f5;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.tab-button:hover{background:var(--hover-color);border-color:var(--primary-color)}.tab-button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.whatsapp-modal .modal-body{flex:1;min-height:0;margin-top:0;padding:1.5rem;overflow-y:auto}.message-form{flex-direction:column;gap:1.5rem;display:flex}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);background:var(--background-color);color:var(--text-primary);border-radius:.5rem;padding:.75rem;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.template-select{background:var(--background-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:.5rem;padding:.75rem;font-size:.875rem}.form-help{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}.templates-section{flex-direction:column;gap:1.5rem;padding:1rem;display:flex}.templates-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.templates-header h4{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;padding:.5rem 0;display:grid}.template-card{border:1px solid var(--border-color);background:var(--background-color);border-radius:.75rem;padding:1.25rem;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000000d}.template-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.template-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.template-header h5{color:var(--text-primary);flex:1;margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.template-category{background:var(--primary-color);color:#fff;text-transform:capitalize;white-space:nowrap;border-radius:.5rem;flex-shrink:0;padding:.375rem .75rem;font-size:.75rem;font-weight:500}.template-content{min-height:4.5rem;margin-bottom:1.25rem}.template-content p{color:var(--text-secondary);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.6;display:-webkit-box;overflow:hidden}.template-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.template-status{background:var(--success-color);color:#fff;text-transform:uppercase;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.template-status.PENDING{background:var(--warning-color)}.template-status.REJECTED{background:var(--error-color)}.template-details{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:.5rem;margin:1rem 0;padding:.75rem}.template-info{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.template-type{background:var(--info-color);color:#fff;border-radius:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:500}.template-language{background:var(--secondary-color);color:#fff;border-radius:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:500}.template-dates{color:var(--text-secondary);font-size:.75rem}.dynamic-form-fields{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:.5rem;margin:1.5rem 0;padding:1rem}.dynamic-form-fields h4{color:var(--text-primary);margin:0 0 1rem;font-size:1rem;font-weight:600}.required{color:var(--error-color);margin-left:.25rem}.readonly-message{background-color:var(--background-secondary)!important;border:1px solid var(--border-light)!important;color:var(--text-primary)!important;cursor:not-allowed!important;resize:none!important}.readonly-message:focus{border-color:var(--border-light)!important;box-shadow:none!important;outline:none!important}.readonly-field{background-color:var(--background-secondary)!important;border:1px solid var(--border-light)!important;color:var(--text-secondary)!important;cursor:not-allowed!important}.readonly-field:focus{border-color:var(--border-light)!important;box-shadow:none!important;outline:none!important}.field-note{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem;font-style:italic;display:block}.message-note{color:var(--text-secondary);margin-top:.5rem;font-size:.875rem;font-style:italic;display:block}.template-actions{justify-content:flex-end;margin-top:auto;display:flex}.template-actions .btn{border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.template-actions .btn-outline{border:1px solid var(--primary-color);color:var(--primary-color);background:0 0}.template-actions .btn-outline:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.template-creation-modal{width:90vw;max-width:600px}.template-creation-modal .modal-header{border-bottom:1px solid var(--border-color);padding:1.5rem}.template-creation-modal .modal-header h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.template-form{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary-color);color:#fff}.btn-secondary{background:var(--background-color);color:var(--text-primary);border:1px solid var(--border-color)}.btn-outline:hover:not(:disabled){background:var(--hover-color);border-color:var(--primary-color)}.whatsapp-modal .modal-body{position:relative}.whatsapp-modal .spinner-container{z-index:20;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=768px){.whatsapp-modal{width:95vw;max-height:95vh}.form-row{grid-template-columns:1fr}.templates-grid{grid-template-columns:1fr;gap:1rem}.template-card{padding:1rem}.header-tabs{flex-direction:column;gap:.25rem}.tab-button{padding:.5rem;font-size:.75rem}.form-actions{flex-direction:column}.btn{width:100%}}@media (prefers-color-scheme:dark){.whatsapp-modal{--background-color:#1a1a1a;--text-primary:#fff;--text-secondary:#a0a0a0;--border-color:#333;--hover-color:#2a2a2a;--primary-color:#3b82f6;--primary-hover:#2563eb}}.tab-button{position:relative;overflow:hidden}.tab-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.tab-button:hover:before{left:100%}.template-card{position:relative;overflow:hidden}.template-card:before{content:"";opacity:0;background:linear-gradient(135deg,#0000 0%,#3b82f60d 100%);transition:opacity .3s;position:absolute;inset:0}.template-card:hover:before{opacity:1}.patient-item{position:relative;overflow:hidden}.patient-item input[type=checkbox]:checked+label{color:var(--primary-color);font-weight:600}.patient-item input[type=checkbox]:checked+label:after{content:"✓";color:var(--primary-color);font-size:1rem;font-weight:700;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.email-modal{background:var(--background-primary);border-radius:12px;max-width:800px;margin:0 auto;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{background:var(--primary-color);color:#fff;border-bottom:none;padding:1.5rem 2rem}.header-content{align-items:center;gap:1rem;display:flex}.header-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.header-text h3{color:#fff;margin:0;font-size:1.5rem;font-weight:600}.header-text p{color:#fffc;margin:.25rem 0 0;font-size:.9rem}.email-form{background:var(--background-primary);padding:2rem}.form-section{background:var(--background-secondary);border:1px solid var(--border-light);border-radius:12px;margin-bottom:2rem;transition:all .2s;overflow:hidden}.form-section:hover{border-color:var(--border-color);box-shadow:0 4px 6px -1px #0000001a}.section-header{background:var(--background-primary);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.section-header h4{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;display:flex}.section-header h4:before{content:"";background:var(--primary-color);border-radius:2px;width:4px;height:20px}.attachment-count{background:var(--primary-color);color:#fff;border-radius:20px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem;display:grid}.form-group input,.form-group textarea{border:2px solid var(--border-color);background:var(--background-primary);color:var(--text-primary);border-radius:8px;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .1);outline:none;transform:translateY(-1px)}.form-group textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.patient-select{grid-column:1}.email-input{grid-column:2}.message-section .form-group{padding:1.5rem}.attachments-section{border:2px dashed var(--border-color);background:var(--background-primary)}.attachment-dropzone{text-align:center;cursor:pointer;border-radius:8px;margin:1.5rem;padding:2rem;transition:all .3s}.attachment-dropzone:hover,.attachment-dropzone.drag-active{background:rgba(var(--primary-color-rgb), .05);border-color:var(--primary-color);transform:translateY(-2px)}.dropzone-content{flex-direction:column;align-items:center;gap:1rem;display:flex}.dropzone-icon{color:var(--text-secondary);transition:color .2s}.attachment-dropzone:hover .dropzone-icon,.attachment-dropzone.drag-active .dropzone-icon{color:var(--primary-color)}.dropzone-text{flex-direction:column;gap:.25rem;display:flex}.dropzone-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:500}.dropzone-subtitle{color:var(--text-secondary);margin:0;font-size:.875rem}.attachment-list{flex-direction:column;gap:.75rem;margin:1.5rem;display:flex}.attachment-item{background:var(--background-primary);border:1px solid var(--border-light);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.attachment-item:hover{border-color:var(--border-color);box-shadow:0 2px 4px #0000001a}.attachment-info{flex:1;align-items:center;gap:.75rem;display:flex}.attachment-icon{background:var(--background-secondary);width:32px;height:32px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;display:flex}.attachment-details{flex-direction:column;gap:.125rem;display:flex}.attachment-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.attachment-size{color:var(--text-secondary);font-size:.8rem}.attachment-remove{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.attachment-remove:hover{background:var(--error-color);color:#fff}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:120px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--primary-color);color:#fff;box-shadow:0 4px 6px -1px rgba(var(--primary-color-rgb), .3)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 15px -3px rgba(var(--primary-color-rgb), .4);transform:translateY(-2px)}.btn-outline{color:var(--text-primary);border:2px solid var(--border-color);background:0 0}.btn-outline:hover:not(:disabled){background:var(--background-secondary);border-color:var(--border-color);transform:translateY(-1px)}.btn-sm{min-width:auto;padding:.5rem 1rem;font-size:.875rem}.btn-spinner{animation:1s linear infinite spin}.form-actions{background:var(--background-secondary);border-top:1px solid var(--border-light);justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.alert{border-radius:8px;align-items:center;gap:.75rem;margin:1.5rem;padding:1rem 1.5rem;font-weight:500;display:flex}.alert-error{border:1px solid var(--error-color);color:var(--error-color);background:#ef44441a}.alert-sm{margin:1rem 1.5rem;padding:.75rem 1rem;font-size:.875rem}.searchable-dropdown{position:relative}.searchable-dropdown .dropdown-input{border:2px solid var(--border-color);background:var(--background-primary);width:100%;color:var(--text-primary);border-radius:8px;padding:.875rem 1rem;font-size:1rem;transition:all .2s}.searchable-dropdown .dropdown-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .1);outline:none}.searchable-dropdown .dropdown-list{background:var(--background-primary);border:2px solid var(--border-color);z-index:1000;border-top:none;border-radius:0 0 8px 8px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 15px -3px #0000001a}.searchable-dropdown .dropdown-item{cursor:pointer;border-bottom:1px solid var(--border-light);padding:.875rem 1rem;transition:background-color .2s}.searchable-dropdown .dropdown-item:hover{background:var(--background-secondary)}.searchable-dropdown .dropdown-item:last-child{border-bottom:none}.searchable-dropdown .loading{text-align:center;color:var(--text-secondary);padding:.875rem 1rem;font-style:italic}@media (width<=768px){.email-modal{border-radius:0;max-width:100%;margin:0}.modal-header{padding:1rem 1.5rem}.header-content{gap:.75rem}.header-icon{width:40px;height:40px}.header-text h3{font-size:1.25rem}.email-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem;padding:1rem}.form-actions{flex-direction:column;padding:1rem 1.5rem}.btn{width:100%}.attachment-dropzone{margin:1rem;padding:1.5rem}.attachment-list{margin:1rem}}.communications-module{padding:var(--spacing-lg);background-color:var(--background-color);min-height:100vh}.module-header{margin-bottom:var(--spacing-lg);background-color:var(--white);padding:var(--spacing-md);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;display:flex}.communication-actions{margin-top:var(--spacing-xl);background-color:var(--white);padding:var(--spacing-lg);border-radius:var(--radius);box-shadow:var(--shadow)}.actions-header{text-align:center;margin-bottom:var(--spacing-lg)}.actions-header h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-dark);font-size:1.25rem;font-weight:600}.actions-header p{color:var(--text-muted);margin:0;font-size:.9rem}.actions-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:900px;margin:0 auto;display:grid}.action-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border:2px solid var(--border-color);border-radius:var(--radius);background-color:var(--white);cursor:pointer;text-align:left;width:100%;transition:all .3s;display:flex}.action-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.action-card.whatsapp:hover{background-color:#25d3660d;border-color:#25d366}.action-card.email:hover{background-color:#4285f40d;border-color:#4285f4}.action-card.broadcast:hover{background-color:#ff6b350d;border-color:#ff6b35}.action-icon{border-radius:var(--radius);background-color:var(--light-gray);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.action-card.whatsapp .action-icon{background-color:#25d3661a}.action-card.email .action-icon{background-color:#4285f41a}.action-card.broadcast .action-icon{background-color:#ff6b351a}.action-content h4{margin:0 0 var(--spacing-xs) 0;color:var(--text-dark);font-size:1.1rem;font-weight:600}.action-content p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.4}.header-actions{gap:var(--spacing-sm);display:flex}.header-actions .btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);border:1px solid var(--border-color);background-color:var(--white);color:var(--text-dark);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.header-actions .btn:hover{background-color:var(--light-gray);box-shadow:var(--shadow);transform:translateY(-1px)}.header-actions .btn-primary{background-color:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.header-actions .btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}.header-actions .btn svg{width:16px;height:16px}.communications-tabs{border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-lg);background-color:var(--white);border-radius:var(--radius);display:flex;overflow:hidden}.communications-tabs button{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;font-size:1rem;font-weight:500;transition:all .2s}.communications-tabs button:hover{color:var(--text-dark);background-color:var(--light-gray)}.communications-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:var(--white)}.communications-content{contain:layout;min-height:0;transition:all .3s}.tab-content{opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:translateY(10px)}.tab-content.active{opacity:1;pointer-events:auto;transform:translateY(0)}.quick-stats{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.stat-card{background-color:var(--white);padding:var(--spacing-lg);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:var(--spacing-md);transition:transform .2s;display:flex}.stat-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.stat-icon.whatsapp{color:#fff;background-color:#25d366}.stat-icon.email{color:#fff;background-color:#4285f4}.stat-icon.broadcast{color:#fff;background-color:#ff6b35}.stat-info h3{margin:0 0 var(--spacing-xs) 0;color:var(--text-light);font-size:.9rem;font-weight:500}.stat-number{margin:0 0 var(--spacing-xs) 0;color:var(--text-dark);font-size:2rem;font-weight:700}.stat-period{color:var(--text-light);margin:0;font-size:.8rem}.recent-communications{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.recent-communications h3{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);color:var(--text-dark);margin:0;font-size:1.2rem;font-weight:600}.communications-list{padding:0}.communication-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);transition:background-color .2s;display:flex}.communication-item:last-child{border-bottom:none}.communication-item:hover{background-color:var(--light-gray)}.comm-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.communication-item.whatsapp .comm-icon{color:#fff;background-color:#25d366}.communication-item.email .comm-icon{color:#fff;background-color:#4285f4}.communication-item.broadcast .comm-icon{color:#fff;background-color:#ff6b35}.comm-content{flex:1}.comm-content h4{margin:0 0 var(--spacing-xs) 0;color:var(--text-dark);font-size:1rem;font-weight:600}.comm-content p{margin:0 0 var(--spacing-xs) 0;color:var(--text-medium);font-size:.9rem;line-height:1.4}.comm-time{color:var(--text-light);font-size:.8rem}.comm-status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);text-transform:uppercase;font-size:.8rem;font-weight:500}.comm-status.sent{color:#2e7d32;background-color:#e8f5e8}.comm-status.pending{color:#f57c00;background-color:#fff3e0}.comm-status.failed{color:#c62828;background-color:#ffebee}.message-tracking-section{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;height:auto;min-height:60vh;max-height:80vh;transition:height .3s;display:flex;overflow:hidden}.chat-container{flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.chat-sidebar{border-right:1px solid var(--border-color);background-color:var(--white);flex-direction:column;flex-shrink:0;width:350px;min-width:300px;display:flex;overflow:hidden}.chat-search{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);background-color:var(--white)}.search-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius);background-color:var(--white);color:var(--text-dark);font-size:.9rem;transition:border-color .2s}.search-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3b82f61a}.search-input::placeholder{color:var(--text-medium)}.chat-contacts{flex:1;padding:0;overflow-y:auto}.chat-contact{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s;display:flex}.chat-contact:hover{background-color:var(--light-gray)}.chat-contact.active{border-left:3px solid var(--primary-color);background-color:#3b82f61a}.contact-avatar{background-color:var(--light-gray);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.contact-info{flex:1;min-width:0}.contact-name{color:var(--text-dark);margin-bottom:2px;font-size:.9rem;font-weight:600}.contact-meta{color:var(--text-light);font-size:.8rem}.chat-main{background-color:var(--white);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);background-color:var(--white);justify-content:space-between;align-items:center;display:flex}.chat-header .contact-info h3{color:var(--text-dark);margin:0 0 4px;font-size:1.1rem;font-weight:600}.chat-header .contact-info p{color:var(--text-medium);margin:0;font-size:.9rem}.chat-header .message-count{color:var(--text-light);background-color:var(--light-gray);border-radius:12px;padding:4px 8px;font-size:.8rem}.chat-messages{padding:var(--spacing-lg);gap:var(--spacing-lg);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.message-bubble{background-color:var(--primary-color);color:#fff;max-width:70%;padding:var(--spacing-md);border-radius:18px 18px 4px;align-self:flex-end;position:relative}.message-bubble.sent{background-color:var(--primary-color);color:#fff}.message-content{margin-bottom:var(--spacing-xs)}.message-text{white-space:pre-wrap;font-size:.9rem;line-height:1.4}.message-meta{opacity:.8;justify-content:flex-end;align-items:center;font-size:.7rem;display:flex}.message-time{font-size:.7rem}.chat-placeholder{text-align:center;color:var(--text-medium);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.placeholder-icon{margin-bottom:var(--spacing-md);opacity:.5}.chat-placeholder h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-dark);font-size:1.2rem}.chat-placeholder p{opacity:.7;margin:0;font-size:.9rem}.messages-list{max-height:60vh;padding:0;overflow-y:auto}.message-item{gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s;display:flex}.message-item:hover{background-color:var(--light-gray)}.message-item.selected{border-left:3px solid var(--primary-color);background-color:#3b82f61a}.message-icon{background-color:var(--light-gray);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.message-content{flex:1;min-width:0}.message-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:flex-start;display:flex}.recipient-info{flex-direction:column;gap:2px;display:flex}.recipient-name{color:var(--text-dark);font-size:1rem;font-weight:600}.recipient-contact{color:var(--text-medium);font-size:.9rem}.message-status{align-items:center;gap:var(--spacing-xs);font-size:.8rem;display:flex}.status-indicator{font-weight:600}.status-text{text-transform:capitalize;color:var(--text-medium)}.message-preview{margin-bottom:var(--spacing-sm)}.email-subject{color:var(--text-dark);margin-bottom:var(--spacing-xs);font-size:.9rem;font-weight:500}.message-text{color:var(--text-medium);font-size:.9rem;line-height:1.4}.message-meta{gap:var(--spacing-md);color:var(--text-light);font-size:.8rem;display:flex}.message-status{text-transform:uppercase;border-radius:8px;padding:2px 6px;font-size:.7rem;font-weight:500}.message-status.sent{color:#2e7d32;background-color:#e8f5e8}.message-status.failed{color:#c62828;background-color:#ffebee}.sent-time,.delivered-time,.read-time{align-items:center;gap:var(--spacing-xs);display:flex}.message-detail-panel{background-color:var(--white);border-left:1px solid var(--border-color);z-index:10;flex-direction:column;width:400px;height:100%;display:flex;position:absolute;top:0;right:0;overflow:hidden}.detail-header{padding:var(--spacing-lg);background-color:var(--light-gray);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.detail-header h4{color:var(--text-dark);margin:0;font-size:1.1rem;font-weight:600}.close-detail{color:var(--text-medium);cursor:pointer;padding:var(--spacing-xs);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:all .2s;display:flex}.close-detail:hover{background-color:var(--medium-gray);color:var(--text-dark)}.detail-content{padding:var(--spacing-lg);flex:1;overflow-y:auto}.detail-section{margin-bottom:var(--spacing-lg)}.detail-section h5{margin:0 0 var(--spacing-sm) 0;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.detail-section p{margin:0 0 var(--spacing-xs) 0;color:var(--text-dark);font-size:1rem}.contact-info{color:var(--text-medium);font-size:.9rem}.message-full-text{background-color:var(--light-gray);padding:var(--spacing-md);border-radius:var(--radius);color:var(--text-dark);white-space:pre-wrap;font-size:.9rem;line-height:1.5}.status-timeline{gap:var(--spacing-md);flex-direction:column;display:flex}.timeline-item{align-items:flex-start;gap:var(--spacing-md);display:flex}.timeline-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:600;display:flex}.timeline-icon.sent{color:#fff;background-color:#6b7280}.timeline-icon.delivered{color:#fff;background-color:#3b82f6}.timeline-icon.read{color:#fff;background-color:#10b981}.timeline-content{flex:1}.timeline-title{color:var(--text-dark);margin-bottom:2px;font-size:.9rem;font-weight:600}.timeline-time{color:var(--text-medium);font-size:.8rem}.whatsapp-modal,.email-modal,.broadcast-modal{background-color:var(--white);border-radius:var(--radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h3{color:var(--text-dark);margin:0;font-size:1.3rem;font-weight:600}.close-btn{color:var(--text-light);cursor:pointer;padding:var(--spacing-xs);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:all .2s;display:flex}.close-btn:hover{background-color:var(--light-gray);color:var(--text-dark)}form{padding:var(--spacing-lg)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius);box-sizing:border-box;font-size:.9rem;transition:border-color .2s}.form-help{color:var(--text-medium);margin-top:var(--spacing-xs);font-size:.8rem;font-style:italic}.patients-list{border:1px solid var(--border-color);border-radius:var(--radius);max-height:200px;margin-top:var(--spacing-sm);overflow-y:auto}.patient-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s;display:flex}.patient-item:last-child{border-bottom:none}.patient-item.selected{background-color:var(--primary-color);color:var(--white)}.patient-item input[type=checkbox]{width:auto;margin:0}.patient-info{flex-direction:column;flex:1;gap:2px;display:flex}.patient-name{font-size:.9rem;font-weight:500}.patient-contact{color:var(--text-light);font-size:.8rem}.patient-item.selected .patient-contact{color:#fffc}.selected-count{margin-top:var(--spacing-sm);color:var(--text-medium);font-size:.9rem;font-weight:500}.form-actions .btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius);cursor:pointer;border:1px solid var(--border-color);font-size:.9rem;font-weight:500;transition:all .2s}.form-actions .btn-outline{background-color:var(--white);color:var(--text-dark)}.form-actions .btn-outline:hover{background-color:var(--light-gray)}.form-actions .btn-primary{background-color:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.form-actions .btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}.form-actions .btn-primary:disabled{background-color:var(--text-light);border-color:var(--text-light);cursor:not-allowed}.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.spinner{border:4px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}.empty-state{text-align:center;color:#6c757d;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-icon{opacity:.5;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600}.empty-state p{margin:0;font-size:14px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;margin-right:20px;display:flex}.section-header h3{margin:0;font-size:18px;font-weight:600}.section-header .header-actions{gap:var(--spacing-sm);display:flex}.btn-sm{align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.stat-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;transition:all .3s;box-shadow:0 2px 8px #0000001a}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.stat-card.whatsapp{border-left:4px solid #25d366}.stat-card.email{border-left:4px solid #4285f4}.stat-card.broadcast{border-left:4px solid #ff6b35}.stat-card.success-rate{border-left:4px solid #10b981}.message-preview{color:#6c757d;margin:4px 0;font-size:13px;line-height:1.4}.comm-status{text-transform:uppercase;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:500}.comm-status.sent{color:#155724;background:#d4edda}.comm-status.failed{color:#721c24;background:#f8d7da}@media (width<=768px){.communications-module{padding:var(--spacing-sm);will-change:auto;transform:translateZ(0)}.module-header{gap:var(--spacing-sm);padding:var(--spacing-sm);flex-direction:column;align-items:stretch}.header-actions{justify-content:center;gap:var(--spacing-xs);flex-wrap:wrap}.header-actions .btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex:1;justify-content:center;min-width:100px}.quick-stats{gap:var(--spacing-sm);grid-template-columns:1fr}.stat-card{padding:var(--spacing-sm);transition:none;transform:none}.stat-card:hover{transform:none;box-shadow:0 2px 8px #0000001a}.communication-item{padding:var(--spacing-sm);will-change:auto}.actions-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.action-card{padding:var(--spacing-sm);transition:none;transform:none}.action-card:hover{transform:none;box-shadow:0 2px 8px #0000001a}.action-icon{width:40px;height:40px}.action-content h4{font-size:1rem}.action-content p{font-size:.8rem}.whatsapp-modal,.email-modal,.broadcast-modal{max-width:95vw;margin:var(--spacing-sm)}.modal-header,form{padding:var(--spacing-sm)}.form-actions{gap:var(--spacing-sm);flex-direction:column}.form-actions .btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:100%}.message-tracking-section{-webkit-overflow-scrolling:touch;will-change:auto;border-radius:0;height:60vh;min-height:50vh;max-height:70vh;margin:0}.chat-container{contain:layout;flex-direction:column;height:100%}.chat-sidebar{border-right:none;border-bottom:1px solid var(--border-color);-webkit-overflow-scrolling:touch;flex-shrink:0;width:100%;height:40%;min-height:180px}.chat-search{padding:var(--spacing-xs)}.search-input{padding:var(--spacing-xs);touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-size:.9rem}.chat-contacts{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;max-height:calc(100% - 50px)}.chat-contact{padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs);touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px}.contact-avatar{flex-shrink:0;width:32px;height:32px}.contact-name{font-size:.85rem;font-weight:500}.chat-main{contain:layout;flex:1;min-height:0}.chat-messages{padding:var(--spacing-sm);gap:var(--spacing-sm);-webkit-overflow-scrolling:touch}.message-bubble{max-width:85%;padding:var(--spacing-xs) var(--spacing-sm);will-change:auto}.message-text{font-size:.85rem;line-height:1.3}.message-meta{margin-top:var(--spacing-xs)}.message-time{font-size:.65rem}.chat-placeholder{padding:var(--spacing-sm)}.chat-placeholder h3{font-size:1rem}.chat-placeholder p{font-size:.75rem}.placeholder-icon{width:40px;height:40px}}@media (width>=769px) and (width<=1024px){.communications-module{padding:var(--spacing-md)}.actions-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}.action-card{padding:var(--spacing-md)}.quick-stats{grid-template-columns:repeat(2,1fr)}.message-tracking-section{height:65vh;min-height:55vh;max-height:75vh}.chat-sidebar{width:300px}.chat-main{flex:1}}@media (width<=480px){.communications-module{padding:var(--spacing-xs);contain:layout}.module-header h2{font-size:1.2rem}.header-actions .btn{padding:var(--spacing-xs);min-width:80px;font-size:.75rem}.stat-card{padding:var(--spacing-xs)}.stat-icon{width:40px;height:40px}.stat-number{font-size:1.3rem}.communication-item{padding:var(--spacing-xs);contain:layout}.comm-icon{width:30px;height:30px}.comm-content h4{font-size:.85rem}.comm-content p{font-size:.75rem}.whatsapp-modal,.email-modal,.broadcast-modal{border-radius:0;max-width:100vw;height:100vh;margin:0}.modal-header{padding:var(--spacing-xs)}.modal-header h3{font-size:1rem}form{padding:var(--spacing-xs)}.patients-list{max-height:120px}.patient-item{padding:var(--spacing-xs)}.patient-name{font-size:.75rem}.patient-contact{font-size:.65rem}.communications-tabs{flex-direction:column}.communications-tabs button{padding:var(--spacing-xs) var(--spacing-sm);font-size:.85rem}.message-tracking-section{height:70vh;min-height:60vh;max-height:80vh;box-shadow:none;border-radius:0;margin:0}.chat-container{flex-direction:column;height:100%}.chat-sidebar{border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0;width:100%;height:35%;min-height:180px}.chat-search{padding:var(--spacing-xs) var(--spacing-sm)}.search-input{padding:var(--spacing-xs);font-size:.8rem}.chat-contacts{max-height:calc(100% - 50px)}.chat-contact{padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs)}.contact-avatar{flex-shrink:0;width:30px;height:30px}.contact-name{font-size:.8rem;font-weight:500}.chat-main{flex:1;min-height:0}.chat-messages{padding:var(--spacing-sm);gap:var(--spacing-sm)}.message-bubble{max-width:90%;padding:var(--spacing-xs) var(--spacing-sm)}.message-text{font-size:.8rem;line-height:1.3}.message-meta{margin-top:var(--spacing-xs)}.message-time{font-size:.6rem}.chat-placeholder{padding:var(--spacing-sm)}.chat-placeholder h3{font-size:1rem}.chat-placeholder p{font-size:.7rem}.placeholder-icon{width:40px;height:40px}@media (width<=480px) and (orientation:landscape){.message-tracking-section{height:80vh}.chat-sidebar{height:30%;min-height:120px}.chat-main{height:70%}}.chat-contact,.search-input{touch-action:manipulation;min-height:44px}.message-bubble{touch-action:manipulation}.chat-contacts,.chat-messages{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.chat-contact:active{background-color:var(--medium-gray);transform:scale(.98)}.search-input:focus{transform:scale(1.02)}}.settings-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.settings-section form{max-width:800px}.settings-section .form-group{margin-bottom:20px}.settings-section label{color:#374151;margin-bottom:8px;font-weight:600;display:block}.settings-section input[type=text],.settings-section input[type=email],.settings-section input[type=number],.settings-section input[type=password]{border:1px solid #d1d5db;border-radius:8px;width:100%;padding:12px;font-size:14px;transition:border-color .3s}.settings-section input[type=text]:focus,.settings-section input[type=email]:focus,.settings-section input[type=number]:focus,.settings-section input[type=password]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff1a}.settings-section input[type=checkbox]{accent-color:#007bff;width:18px;height:18px;margin-right:8px}.settings-section .form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:20px;display:flex}.settings-section .settings-section-header{border-bottom:2px solid #e5e7eb;margin-bottom:24px;padding-bottom:12px}.settings-section .settings-section-header h4{color:#111827;margin:0;font-size:18px;font-weight:600}.settings-section .settings-section-header p{color:#6b7280;margin:8px 0 0;font-size:14px}.whatsapp-settings{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:24px;padding:20px}.whatsapp-settings .section-header{align-items:center;margin-bottom:16px;display:flex}.whatsapp-settings .section-header svg{fill:#25d366;width:20px;height:20px;margin-right:8px}.email-settings{background:#f0f4ff;border:1px solid #c7d2fe;border-radius:8px;margin-bottom:24px;padding:20px}.email-settings .section-header{align-items:center;margin-bottom:16px;display:flex}.email-settings .section-header svg{fill:#4285f4;width:20px;height:20px;margin-right:8px}.settings-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:12px}.settings-errors ul{color:#dc2626;margin:0;padding-left:20px}.settings-errors li{margin-bottom:4px}.settings-loading{color:#6b7280;justify-content:center;align-items:center;padding:40px;display:flex}.settings-loading .spinner{margin-right:12px}@media (width<=768px){.settings-section{padding:16px}.settings-section form{max-width:100%}.settings-section .form-actions{flex-direction:column}.settings-section .form-actions button{width:100%}.whatsapp-settings,.email-settings{padding:16px}}.communication-settings{max-width:1200px;margin:0 auto;padding:20px}.page-header{margin-bottom:30px}.page-header h1{color:#2c3e50;margin-bottom:10px}.page-header p{color:#7f8c8d;font-size:16px}.clinics-list{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.table-container{width:100%;overflow-x:auto}.clinics-table{border-collapse:collapse;width:100%}.clinics-table th{text-align:left;color:#2c3e50;background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:15px;font-weight:600}.clinics-table td{vertical-align:middle;border-bottom:1px solid #e9ecef;padding:15px}.clinics-table tr:hover{background:#f8f9fa}.integration-status{text-transform:uppercase;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.status-active{color:#155724;background:#d4edda}.status-inactive{color:#721c24;background:#f8d7da}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h2{color:#2c3e50;margin:0}.modal-close{cursor:pointer;color:#6c757d;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:24px;display:flex}.modal-close:hover{color:#2c3e50}.settings-form{padding:20px}.settings-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h3{color:#2c3e50;margin:0}.toggle-switch{width:50px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.toggle-slider{background-color:#007bff}input:checked+.toggle-slider:before{transform:translate(26px)}.settings-fields{gap:20px;display:grid}.form-group label{color:#2c3e50;margin-bottom:5px;font-weight:500}.form-group input,.form-group select{border:1px solid #ced4da;border-radius:4px;padding:10px;font-size:14px;transition:border-color .2s}.checkbox-group{gap:15px;margin-top:5px;display:flex}.checkbox-group label{align-items:center;gap:5px;margin-bottom:0;font-weight:400;display:flex}.checkbox-group input[type=checkbox]{margin:0}.checkbox-label{cursor:pointer;align-items:center;gap:8px;margin-bottom:0;font-weight:400;display:flex}.checkbox-label input[type=checkbox]{opacity:1!important;cursor:pointer!important;appearance:checkbox!important;background:#fff!important;border:1px solid #ced4da!important;border-radius:3px!important;width:16px!important;height:16px!important;margin:0!important;padding:0!important}.modal-actions{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:flex-end;gap:10px;padding:20px;display:flex}@media (width<=768px){.communication-settings{padding:15px}.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:10px}.modal-header,.settings-form,.settings-section{padding:15px}}.user-management-module{padding:var(--spacing-md)}.users-filters{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.search-box{flex:1;position:relative}.search-box input{width:100%;padding:var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);padding-right:40px;font-size:14px}.search-box svg{top:50%;right:var(--spacing-md);color:var(--dark-gray);position:absolute;transform:translateY(-50%)}.filter-options{gap:var(--spacing-md);display:flex}.filter-options select{padding:var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);background-color:var(--white);min-width:150px;font-size:14px}.users-stats{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{background-color:var(--white);border-radius:var(--radius);padding:var(--spacing-lg);box-shadow:var(--shadow);align-items:center;gap:var(--spacing-md);display:flex}.stat-icon{border-radius:var(--radius);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-content h3{margin-bottom:var(--spacing-xs);color:var(--text-dark);font-size:24px;font-weight:600}.stat-content p{color:var(--text-light);margin:0;font-size:14px}.users-list{gap:var(--spacing-md);flex-direction:column;display:flex}.user-card{background-color:var(--white);border-radius:var(--radius);padding:var(--spacing-lg);box-shadow:var(--shadow);transition:var(--transition)}.user-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.user-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.user-info h3{margin-bottom:var(--spacing-xs);color:var(--text-dark);font-size:18px}.user-details{gap:var(--spacing-md);flex-wrap:wrap;font-size:14px;display:flex}.user-email{color:var(--text-light)}.user-role{text-transform:uppercase;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:500}.user-role.admin{color:#e74c3c;background-color:#e74c3c1a}.user-role.doctor{color:#3498db;background-color:#3498db1a}.user-role.receptionist{color:#2ecc71;background-color:#2ecc711a}.user-status{text-transform:uppercase;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:500}.user-status.active{color:#2ecc71;background-color:#2ecc711a}.user-status.paused{color:#9b59b6;background-color:#9b59b61a}.user-clinic{color:#3498db;background-color:#3498db1a;border-radius:12px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;display:flex}.user-clinic.no-clinic{color:#95a5a6;background-color:#95a5a61a}.user-actions{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.user-actions .btn{padding:var(--spacing-sm) var(--spacing-md);min-width:80px;font-size:12px}.no-users{text-align:center;padding:var(--spacing-xl);color:var(--text-light)}.loading-container{padding:var(--spacing-xl);flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.loading-spinner{border:4px solid var(--light-gray);border-top:4px solid var(--primary-color);width:40px;height:40px;margin-bottom:var(--spacing-md);border-radius:50%;animation:1s linear infinite spin}.error-container{padding:var(--spacing-xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.error-icon{margin-bottom:var(--spacing-md);font-size:48px}.error-container h3{margin-bottom:var(--spacing-sm);color:var(--danger-color)}.error-container p{margin-bottom:var(--spacing-lg);color:var(--text-light)}@media (width<=768px){.user-header{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.user-actions{justify-content:flex-start;width:100%}.filter-options{flex-direction:column}.users-stats{grid-template-columns:1fr}}.user-form{padding:var(--spacing-lg);width:100%;max-width:600px}.user-form h3{margin-bottom:var(--spacing-lg);color:var(--text-dark);font-size:20px}.form-section h4{margin-bottom:var(--spacing-md);color:var(--primary-color);font-size:16px;font-weight:600}.form-group label{margin-bottom:var(--spacing-xs);color:var(--text-dark);font-size:14px;font-weight:500;display:block}.form-group input,.form-group select{width:100%;padding:var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3498db1a}.form-group input.error{border-color:var(--danger-color)}.input-wrapper{position:relative}.input-wrapper input{padding-right:40px}.password-toggle{right:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs);color:var(--text-light);background:0 0;border:none;transition:color .2s;position:absolute;top:50%;transform:translateY(-50%)}.form-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--light-gray);justify-content:flex-end;display:flex}.btn.loading{color:#0000;position:relative}.btn.loading .spinner{animation:1s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=768px){.user-form{padding:var(--spacing-md)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%;padding:var(--spacing-sm);font-size:.9rem}.user-form h3{margin-bottom:var(--spacing-sm);font-size:1.5rem}.form-group label{font-size:.9rem}.form-group input,.form-group select{padding:var(--spacing-sm);font-size:.9rem}}@media (width<=480px){.user-form{padding:var(--spacing-sm)}.user-form h3{font-size:1.3rem}.form-group label{font-size:.8rem}.form-group input,.form-group select,.form-actions .btn{padding:var(--spacing-xs);font-size:.8rem}}.auth-container{min-height:100vh;padding:var(--spacing-md);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 50%,#cbd5e1 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-container:before{content:"";opacity:.4;background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><defs><pattern id=\"grain\" width=\"100\" height=\"100\" patternUnits=\"userSpaceOnUse\"><circle cx=\"25\" cy=\"25\" r=\"1\" fill=\"rgba(59,130,246,0.05)\"/><circle cx=\"75\" cy=\"75\" r=\"1\" fill=\"rgba(59,130,246,0.05)\"/><circle cx=\"50\" cy=\"10\" r=\"0.5\" fill=\"rgba(59,130,246,0.05)\"/><circle cx=\"10\" cy=\"60\" r=\"0.5\" fill=\"rgba(59,130,246,0.05)\"/><circle cx=\"90\" cy=\"40\" r=\"0.5\" fill=\"rgba(59,130,246,0.05)\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url(%23grain)\"/></svg>");position:absolute;inset:0}.auth-card{border-radius:var(--radius);padding:var(--spacing-xl);z-index:1;background:#fff;border:1px solid #e2e8f0cc;width:100%;max-width:480px;animation:.6s ease-out slideUp;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-logo{margin-bottom:var(--spacing-md);justify-content:center;display:flex}.auth-title{color:#334155;margin-bottom:var(--spacing-sm);font-size:28px;font-weight:700}.auth-subtitle{color:#64748b;font-size:16px}.auth-form{margin-bottom:var(--spacing-lg)}.form-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);justify-content:flex-end;display:flex}.form-actions .btn{min-width:120px}@media (width<=480px){.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.form-label{color:#1e293b;margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{left:var(--spacing-md);color:var(--text-light);z-index:2;position:absolute}.form-input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) calc(var(--spacing-md) * 2 + 20px);border-radius:var(--radius);transition:var(--transition);color:#1e293b;background:#fff;border:2px solid #e2e8f0;font-size:16px}.form-input:focus{border-color:var(--primary-color);background:#fff;outline:none;box-shadow:0 0 0 3px #3b82f61a}.loading-message{color:var(--primary-color);margin-top:var(--spacing-xs);font-size:12px;font-style:italic;display:block}.password-toggle{right:var(--spacing-md);color:#64748b;cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute}.password-toggle:hover{color:#3b82f6}.form-options{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.checkbox-wrapper{cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none;align-items:center;font-size:14px;display:flex}.checkbox{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{width:18px;height:18px;margin-right:var(--spacing-sm);transition:var(--transition);background-color:#fff;border:2px solid #cbd5e1;border-radius:3px;position:relative}.checkbox:checked~.checkmark{background-color:#3b82f6;border-color:#3b82f6}.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;display:none;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.checkbox:checked~.checkmark:after{display:block}.forgot-password{color:#3b82f6;cursor:pointer;transition:var(--transition);background:0 0;border:none;font-size:14px;text-decoration:none}.forgot-password:hover{color:#1d4ed8;text-decoration:underline}.auth-button{width:100%;padding:var(--spacing-md);color:var(--white);border-radius:var(--radius);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:var(--spacing-sm);background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border:none;font-size:16px;font-weight:600;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #3b82f61a,0 2px 4px -1px #3b82f60f}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 10px 15px -3px #3b82f633,0 4px 6px -2px #3b82f61a}.auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-button.loading{pointer-events:none}.auth-divider{text-align:center;margin:var(--spacing-lg) 0;position:relative}.auth-divider:before{content:"";background:#e2e8f0;height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{background:var(--white);padding:0 var(--spacing-md);color:#64748b;z-index:1;font-size:14px;position:relative}.social-login{margin-bottom:var(--spacing-lg)}.social-button{width:100%;padding:var(--spacing-md);color:#1e293b;border-radius:var(--radius);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:var(--spacing-sm);background:#fff;border:2px solid #e2e8f0;font-size:16px;font-weight:500;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.social-button:hover{background:#3b82f60d;border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.social-button.google{color:#333}.social-button.google:hover{background:#4285f40d;border-color:#4285f4}.auth-footer{text-align:center;color:#64748b;font-size:14px}.auth-link{color:#3b82f6;cursor:pointer;transition:var(--transition);background:0 0;border:none;font-weight:600;text-decoration:none}.auth-link:hover{color:#1d4ed8;text-decoration:underline}@media (width<=768px){.auth-container{padding:var(--spacing-sm)}.auth-card{padding:var(--spacing-lg);margin:var(--spacing-sm)}.auth-title{font-size:24px}.form-row{gap:var(--spacing-sm);grid-template-columns:1fr}.form-options{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.auth-button,.social-button{padding:var(--spacing-md);font-size:16px}}@media (width<=480px){.auth-card{padding:var(--spacing-md)}.auth-title{font-size:22px}.auth-subtitle{font-size:14px}.form-input{font-size:16px}.auth-button,.social-button{padding:var(--spacing-md);font-size:16px}}@media (prefers-reduced-motion:reduce){.auth-card,.auth-button,.form-input,.social-button{transition:none;animation:none}.spinner{animation:none}}.auth-button:focus,.social-button:focus,.form-input:focus,.password-toggle:focus,.forgot-password:focus,.auth-link:focus{outline-offset:2px;outline:2px solid #3b82f6}@media (prefers-contrast:high){.auth-container{background:#3b82f6}.auth-card{background:#fff;border:2px solid #3b82f6}.form-input{border-width:2px}.auth-button{border:2px solid var(--white)}}.visiting-clinics-module{max-width:1200px;margin:0 auto;padding:20px}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:500;transition:all .3s;display:flex}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary:disabled:hover{box-shadow:none;transform:none}.clinics-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px;display:grid}.empty-state{text-align:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;grid-column:1/-1;padding:60px 20px}.empty-state p{color:#6c757d;max-width:400px;margin:0 auto 25px;font-size:.95rem}.clinic-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;transition:all .3s;position:relative;box-shadow:0 4px 6px #0000000d}.clinic-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 12px 25px #0000001a}.clinic-header{justify-content:space-between;align-items:flex-start;margin-bottom:15px;display:flex}.clinic-header h3{color:#2c3e50;margin:0;font-size:1.2rem;font-weight:600;line-height:1.3}.clinic-actions{align-items:center;gap:8px;display:flex}.clinic-details{flex-direction:column;gap:12px;display:flex}.modal-content{padding:30px!important}.clinic-form{flex-direction:column;gap:20px;display:flex}.form-actions{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}@media (width<=768px){.visiting-clinics-module{padding:15px}.module-header{text-align:center;flex-direction:column;align-items:stretch}.module-header h2{font-size:1.5rem}.clinics-grid{grid-template-columns:1fr;gap:15px}.clinic-card{padding:15px}.clinic-header{flex-direction:column;align-items:stretch;gap:10px}.clinic-actions{justify-content:flex-end}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.modal-content{padding:20px!important}}@media (width<=480px){.visiting-clinics-module{padding:10px}.module-header h2{font-size:1.3rem}.clinic-card{padding:12px}.detail-item{font-size:.85rem}.modal-content{padding:15px!important}}.visiting-doctors-module{max-width:1200px;margin:0 auto;padding:20px}.module-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;display:flex}.module-header h2{color:#2c3e50;margin:0;font-size:1.8rem;font-weight:600}.module-header p{color:#6c757d;margin:5px 0 0;font-size:.95rem}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:500;transition:all .3s;display:flex;box-shadow:0 2px 4px #667eea33}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{cursor:not-allowed;box-shadow:none;background:#6c757d;transform:none}.btn-primary i{font-size:.85rem}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;margin-bottom:20px;animation:1s linear infinite spin}.loading-container p{color:#6c757d;margin:0;font-size:1rem}.form-group input.error,.form-group textarea.error{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.form-group input.error:focus,.form-group textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 2px #dc262633}.error-message{color:#dc2626;margin-top:4px;font-size:12px;font-weight:500;display:block}.empty-state i{color:#6c757d;margin-bottom:20px;font-size:3rem}.empty-state h3{color:#495057;margin:0 0 10px;font-size:1.3rem;font-weight:500}.empty-state p{color:#6c757d;margin:0 0 25px;font-size:.95rem;line-height:1.5}.doctors-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px;display:grid}.doctor-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;transition:all .3s;position:relative;box-shadow:0 2px 8px #0000001a}.doctor-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.doctor-header{justify-content:space-between;align-items:flex-start;margin-bottom:15px;display:flex}.doctor-header h3{color:#2c3e50;margin:0;font-size:1.2rem;font-weight:600;line-height:1.3}.doctor-actions{align-items:center;gap:8px;display:flex}.btn-icon{cursor:pointer;color:#6c757d;background:#fff;border:1px solid #e9ecef;border-radius:6px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:8px 10px;font-size:.9rem;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.btn-icon:hover{color:#495057;background:#f8f9fa;border-color:#dee2e6;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.btn-icon.btn-danger{color:#dc3545;border-color:#f5c6cb}.btn-icon.btn-danger:hover{color:#dc3545;background:#fee;border-color:#f5c6cb}.doctor-details{flex-direction:column;gap:12px;display:flex}.detail-item{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.4;display:flex}.detail-item i{color:#667eea;min-width:16px;margin-top:2px;font-size:.85rem}.detail-item span{color:#495057;flex:1}.visiting-doctors-module .modal-content{background:#fff;border-radius:12px;width:100%;max-height:90vh;padding:30px;overflow-y:auto}.visiting-doctors-module .modal-content h3{color:#2c3e50;margin:0 0 25px;font-size:1.4rem;font-weight:600}.doctor-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#2c3e50;font-size:.9rem;font-weight:500}.form-group input,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;padding:12px;font-family:inherit;font-size:.9rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.btn-secondary{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:8px;padding:12px 24px;font-size:.9rem;font-weight:500;transition:all .3s}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}@media (width<=768px){.visiting-doctors-module{padding:15px}.module-header{flex-direction:column;align-items:flex-start;gap:15px}.module-header h2{font-size:1.5rem}.doctors-grid{grid-template-columns:1fr;gap:15px}.doctor-card{padding:15px}.doctor-header h3{font-size:1.1rem}.visiting-doctors-module .modal-content{margin:10px;padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media (width<=480px){.visiting-doctors-module{padding:10px}.module-header h2{font-size:1.3rem}.doctor-card{padding:12px}.doctor-header{flex-direction:column;align-items:flex-start;gap:10px}.doctor-actions{align-self:flex-end}}.doctor-availability-manager{max-width:1200px;margin:0 auto;padding:20px}.availability-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.availability-header h2{color:#1f2937;margin:0;font-size:1.8rem}.availability-header p{color:#6b7280;margin:5px 0 0;font-size:.95rem}.upcoming-timeoff{margin-bottom:40px}.upcoming-timeoff h3{color:#1f2937;margin-bottom:20px;font-size:1.3rem}.timeoff-list{gap:15px;display:grid}.timeoff-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:20px;transition:all .2s;display:flex}.timeoff-item:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a}.timeoff-info{flex:1}.timeoff-type{color:#fff;background:#3b82f6;border-radius:20px;margin-right:10px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-block}.timeoff-dates{color:#1f2937;margin-right:15px;font-weight:600}.timeoff-reason{color:#6b7280;font-style:italic}.timeoff-actions{gap:10px;display:flex}.all-availability h3{color:#1f2937;margin-bottom:20px;font-size:1.3rem}.no-availability{text-align:center;color:#6b7280;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:40px}.availability-list{gap:20px;display:grid}.availability-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:flex-start;padding:20px;transition:all .2s;display:flex}.availability-item:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.availability-info{flex:1}.availability-header-info{align-items:center;gap:15px;margin-bottom:10px;display:flex}.availability-type{color:#fff;background:#10b981;border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-block}.availability-status{font-size:.9rem;font-weight:500}.availability-dates{margin-bottom:10px}.date-range{color:#1f2937;margin-right:15px;font-weight:600}.time-range{color:#6b7280;font-size:.9rem}.availability-reason{color:#6b7280;margin-top:8px;font-size:.9rem}.availability-actions{flex-shrink:0;gap:10px;display:flex}.form-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.form-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.form-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.form-header h3{color:#1f2937;margin:0;font-size:1.3rem}.close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.close-btn:hover{color:#374151;background:#f3f4f6}.availability-form{padding:25px}.form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:#374151;margin-bottom:8px;font-size:.9rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=checkbox]{width:auto;margin-right:8px}.form-group label:has(input[type=checkbox]){cursor:pointer;flex-direction:row;align-items:center}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-disabled{opacity:.6;color:#9ca3af!important;cursor:not-allowed!important;background-color:#f3f4f6!important;border:1px solid #e5e7eb!important}.btn-disabled:hover{color:#9ca3af!important;background-color:#f3f4f6!important;transform:none!important}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{color:#fff;background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:12px 16px;font-size:.9rem}.loading{text-align:center;color:#6b7280;padding:40px;font-size:1.1rem}@media (width<=768px){.doctor-availability-manager{padding:15px}.availability-header{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:20px;padding-bottom:15px}.availability-header h2{font-size:1.3rem}.availability-header p{font-size:.85rem}.upcoming-timeoff h3,.all-availability h3{margin-bottom:12px;font-size:1.1rem}.form-row{grid-template-columns:1fr;gap:15px}.form-modal{width:95%;margin:20px}.timeoff-item,.availability-item{flex-direction:column;align-items:flex-start;gap:15px;padding:14px}.timeoff-actions,.availability-actions{justify-content:flex-end;width:100%}.form-actions{flex-direction:column}.btn{width:100%}.availability-header-info{flex-wrap:wrap;gap:8px}.date-range{margin-right:8px;font-size:.9rem}.time-range{font-size:.85rem}.timeoff-dates{margin-right:8px;font-size:.9rem}.timeoff-reason{font-size:.85rem}}@media (width<=480px){.doctor-availability-manager{padding:10px}.availability-header h2{font-size:1.15rem}.upcoming-timeoff h3,.all-availability h3{font-size:1rem}.timeoff-type,.availability-type{padding:3px 8px;font-size:.75rem}.timeoff-item,.availability-item{padding:10px}}.consent-form-builder{background:var(--white,#fff);max-width:900px;max-height:90vh;margin:0 auto;padding:24px;overflow-y:auto}.builder-header{border-bottom:2px solid var(--medium-gray,#e5e7eb);margin-bottom:24px;padding-bottom:16px}.builder-header h2{color:var(--text-dark,#1f2937);margin:0;font-size:24px}.error-message{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:12px 16px}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{border:1px solid var(--medium-gray,#e5e7eb);border-radius:6px;width:100%;padding:10px;font-family:inherit;font-size:14px}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=checkbox]{margin-right:8px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sections-container{border-top:2px solid var(--medium-gray,#e5e7eb);margin-top:32px;padding-top:24px}.sections-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sections-header h3{color:var(--text-dark,#1f2937);margin:0;font-size:18px}.empty-sections{text-align:center;background:var(--light-gray,#f9fafb);border:2px dashed var(--medium-gray,#e5e7eb);border-radius:6px;padding:32px}.empty-sections p{color:var(--text-light,#6b7280);margin:0}.sections-list{flex-direction:column;gap:20px;display:flex}.section-item{border:1px solid var(--medium-gray,#e5e7eb);background:var(--light-gray,#f9fafb);border-radius:8px;padding:20px}.section-header{border-bottom:1px solid var(--medium-gray,#e5e7eb);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.section-number{color:var(--text-dark,#1f2937);font-size:14px;font-weight:600}.section-actions{gap:8px;display:flex}.btn-icon{border:1px solid var(--medium-gray,#e5e7eb);background:var(--white,#fff);cursor:pointer;width:32px;height:32px;color:var(--text-dark,#1f2937);border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:18px;transition:all .2s;display:flex}.btn-icon:hover:not(:disabled){background:var(--light-gray,#f9fafb);border-color:var(--primary-color,#3b82f6)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon.btn-danger{color:#dc2626}.btn-icon.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#dc2626}.section-content{flex-direction:column;gap:16px;display:flex}.builder-actions{border-top:1px solid var(--medium-gray,#e5e7eb);justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;display:flex}.checkboxes-container{border-top:1px solid var(--medium-gray,#e5e7eb);margin-top:20px;padding-top:16px}.checkboxes-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.checkboxes-header label{color:var(--text-dark,#1f2937);margin:0;font-size:14px;font-weight:500}.checkboxes-list{flex-direction:column;gap:12px;display:flex}.checkbox-item{border:1px solid var(--medium-gray,#e5e7eb);background:var(--white,#fff);border-radius:6px;padding:16px}.checkbox-item-header{border-bottom:1px solid var(--light-gray,#f3f4f6);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.checkbox-number{color:var(--text-dark,#1f2937);font-size:13px;font-weight:600}.checkbox-item-content{flex-direction:column;gap:12px;display:flex}.checkbox-item-content .form-group{margin-bottom:0}@media (width<=768px){.consent-form-builder{max-height:95vh;padding:12px}.builder-header{margin-bottom:20px;padding-bottom:12px}.builder-header h2{font-size:20px}.form-group{margin-bottom:16px}.form-group label{margin-bottom:6px;font-size:14px}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{border-radius:8px;padding:12px;font-size:16px}.form-group textarea{min-height:120px}.form-row{grid-template-columns:1fr;gap:16px}.sections-container{margin-top:24px;padding-top:20px}.sections-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.sections-header h3{margin:0;font-size:16px}.sections-header button{width:100%;padding:12px;font-size:14px}.sections-list{gap:16px}.section-item{border-radius:8px;padding:16px}.section-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px;padding-bottom:12px}.section-number{font-size:14px}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.btn-icon{flex:1;width:40px;min-width:40px;max-width:40px;height:40px;font-size:20px}.section-content{gap:16px}.section-content .form-group{margin-bottom:16px}.section-content textarea{min-height:120px;font-size:16px}.builder-actions{flex-direction:column-reverse;gap:12px;margin-top:24px;padding-top:20px}.builder-actions button{width:100%;padding:14px;font-size:16px}.empty-sections{padding:24px 16px}.empty-sections p{font-size:14px}}@media (width<=480px){.consent-form-builder{padding:10px}.builder-header h2{font-size:18px}.section-item{padding:12px}.section-actions{gap:6px}.btn-icon{width:36px;height:36px;font-size:18px}}.consent-form-management{max-width:1400px;margin:0 auto;padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.page-header h1{color:var(--text-dark,#1f2937);margin:0 0 8px;font-size:28px}.page-header p{color:var(--text-light,#6b7280);margin:0;font-size:14px}.loading-message,.error-message{text-align:center;border-radius:6px;margin-bottom:24px;padding:16px}.error-message{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}.empty-state{text-align:center;background:var(--white,#fff);border:2px dashed var(--medium-gray,#e5e7eb);border-radius:8px;padding:64px 24px}.empty-state-icon{margin-bottom:16px;font-size:64px}.empty-state h3{color:var(--text-dark,#1f2937);margin:0 0 8px;font-size:20px}.empty-state p{color:var(--text-light,#6b7280);margin:0 0 24px}.consent-forms-table-container{background:var(--white,#fff);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.consent-forms-table{border-collapse:collapse;width:100%}.consent-forms-table thead{background-color:var(--light-gray,#f9fafb)}.consent-forms-table th{text-align:left;color:var(--text-dark,#1f2937);border-bottom:2px solid var(--medium-gray,#e5e7eb);padding:12px 16px;font-size:14px;font-weight:600}.consent-forms-table td{border-bottom:1px solid var(--medium-gray,#e5e7eb);color:var(--text-dark,#1f2937);padding:16px;font-size:14px}.consent-forms-table tbody tr:hover{background-color:var(--light-gray,#f9fafb)}.consent-forms-table tbody tr.inactive{opacity:.6}.form-type-badge{color:#3730a3;text-transform:capitalize;background-color:#e0e7ff;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.status-badge{text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-badge.active{color:#065f46;background-color:#d1fae5}.status-badge.inactive{color:#6b7280;background-color:#e5e7eb}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.table-actions .btn-sm{padding:6px 12px;font-size:12px}@media (width<=768px){.consent-form-management{padding:12px}.page-header{flex-direction:column;margin-bottom:24px}.page-header h1{font-size:24px}.page-header button{width:100%}.consent-forms-table-container{display:none}.consent-forms-cards{flex-direction:column;gap:16px;display:flex}.consent-form-card{background:var(--white,#fff);border:1px solid var(--medium-gray,#e5e7eb);border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a}.consent-form-card.inactive{opacity:.6}.consent-form-card-header{border-bottom:1px solid var(--medium-gray,#e5e7eb);margin-bottom:12px;padding-bottom:12px}.consent-form-card-header h3{color:var(--text-dark,#1f2937);margin:0 0 8px;font-size:18px}.consent-form-card-meta{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.consent-form-card-meta-item{justify-content:space-between;align-items:center;font-size:14px;display:flex}.consent-form-card-meta-label{color:var(--text-light,#6b7280);font-weight:500}.consent-form-card-meta-value{color:var(--text-dark,#1f2937)}.consent-form-card-actions{border-top:1px solid var(--medium-gray,#e5e7eb);flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;display:flex}.consent-form-card-actions .btn-sm{width:100%;padding:10px 16px;font-size:14px}}@media (width>=769px){.consent-forms-cards{display:none}}.prescription-management{padding:var(--spacing-lg,24px)}.prescription-management .module-header{margin-bottom:16px}.prescription-management .module-header h2{margin:0 0 4px}.prescription-management .module-header p{color:var(--text-muted,#7f8c8d);margin:0;font-size:.9rem}.pm-tabs{border-bottom:1px solid var(--border-color,#e1e3e5);gap:8px;margin-bottom:16px;display:flex}.pm-tabs button{cursor:pointer;color:var(--text-muted,#7f8c8d);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:.95rem}.pm-tabs button.active{color:var(--primary,#4285f4);border-bottom-color:var(--primary,#4285f4);font-weight:600}.pm-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pm-section-header h3{margin:0}.pm-table-wrapper{background:var(--card-bg,#fff);border-radius:var(--radius,8px);box-shadow:var(--shadow,0 1px 3px #00000014);overflow-x:auto}.pm-table{border-collapse:collapse;width:100%;font-size:.9rem}.pm-table th,.pm-table td{text-align:left;border-bottom:1px solid var(--border-color,#eef0f3);vertical-align:top;padding:10px 14px}.pm-table th{color:var(--text-muted,#7f8c8d);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.pm-row-inactive{opacity:.6}.pm-actions{white-space:nowrap}.pm-btn{border:1px solid var(--border-color,#dfe4ea);border-radius:var(--radius,6px);background:var(--card-bg,#fff);cursor:pointer;white-space:nowrap;align-items:center;width:auto;height:auto;margin-right:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.pm-btn.pm-btn-danger{color:var(--danger,#e74c3c);border-color:var(--danger,#e74c3c)}.pm-modal{min-width:460px;padding:4px}.pm-modal.pm-modal-wide{min-width:640px;max-width:820px}.pm-modal h3{margin:0 0 16px}.pm-modal .form-group{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.pm-modal .form-group input,.pm-modal .form-group select,.pm-modal .form-group textarea{border:1px solid var(--border-color,#dfe4ea);border-radius:var(--radius,6px);padding:6px 8px}.daily-quiz-page{padding:var(--spacing-lg);justify-content:center;display:flex}.daily-quiz-inner{width:100%;max-width:680px}.quiz-streak-banner{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);margin-bottom:var(--spacing-lg);background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));color:#fff;box-shadow:var(--shadow);font-size:.95rem;font-weight:600;display:flex}.quiz-streak-banner.broken{background:linear-gradient(135deg,#95a5a6,#bdc3c7)}.streak-fire{font-size:1.3rem;line-height:1}.streak-text{letter-spacing:.01em}.quiz-meta{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.specialty-badge{background-color:var(--accent-color);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:50px;padding:4px 12px;font-size:.75rem;font-weight:700}.day-counter{color:var(--text-muted,#7f8c8d);font-size:.8rem;font-weight:500}.question-text{color:var(--dark-color);margin-bottom:var(--spacing-lg);font-size:1.15rem;font-weight:600;line-height:1.55}.options-list{margin-bottom:var(--spacing-lg);flex-direction:column;gap:10px;display:flex}.option-btn{align-items:center;gap:var(--spacing-md);background:var(--white);border:1.5px solid var(--border-color,#dfe6e9);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;color:var(--dark-color);padding:14px 16px;font-family:inherit;font-size:.95rem;transition:border-color .15s,background-color .15s,opacity .15s;display:flex;position:relative}.option-btn:hover:not(:disabled){border-color:var(--primary-color);background-color:#3498db0d}.option-btn:disabled{cursor:default}.option-btn.correct{border-color:var(--success-color,#27ae60);color:var(--dark-color);background-color:#27ae601a}.option-btn.wrong{border-color:var(--danger-color,#e74c3c);color:var(--dark-color);background-color:#e74c3c1a}.option-btn.dimmed{opacity:.45}.option-label{background-color:var(--light-color,#ecf0f1);width:28px;min-width:28px;height:28px;color:var(--dark-color);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:background-color .15s;display:inline-flex}.option-btn.correct .option-label{background-color:var(--success-color,#27ae60);color:#fff}.option-btn.wrong .option-label{background-color:var(--danger-color,#e74c3c);color:#fff}.option-text{flex:1;line-height:1.4}.option-icon{padding-left:var(--spacing-sm);margin-left:auto;font-size:1.1rem;font-weight:700}.correct-icon{color:var(--success-color,#27ae60)}.wrong-icon{color:var(--danger-color,#e74c3c)}.explanation-card{background:var(--white);border:1.5px solid var(--primary-color);border-radius:var(--radius);padding:var(--spacing-lg);animation:.3s fadeInUp}.explanation-header{margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:700}.result-correct{color:var(--success-color,#27ae60)}.result-wrong{color:var(--danger-color,#e74c3c)}.explanation-text{color:var(--dark-color);margin-bottom:var(--spacing-md);font-size:.92rem;line-height:1.65}.comeback-message{color:var(--text-muted,#7f8c8d);margin:0;font-size:.85rem;font-style:italic}@keyframes drSlideIn{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes drSlideOut{0%{opacity:1;max-height:600px;transform:translateY(0)scaleY(1)}to{opacity:0;max-height:0;transform:translateY(-8px)scaleY(.95)}}.daily-round-card{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 55%, var(--accent-color) 100%);margin-bottom:var(--spacing-lg);box-shadow:0 6px 24px rgba(var(--primary-rgb), .3);border-radius:14px;padding:20px 22px 18px;animation:.35s drSlideIn;overflow:hidden}.daily-round-card.dr-exit{animation:.4s forwards drSlideOut}.dr-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.dr-title-group{align-items:center;gap:10px;display:flex}.dr-pulse-dot{background:var(--secondary-color);width:9px;height:9px;box-shadow:0 0 0 0 rgba(var(--secondary-rgb), .6);border-radius:50%;flex-shrink:0;animation:1.8s ease-in-out infinite drPulse}@keyframes drPulse{0%{box-shadow:0 0 0 0 rgba(var(--secondary-rgb), .6)}60%{box-shadow:0 0 0 7px rgba(var(--secondary-rgb), 0)}to{box-shadow:0 0 0 0 rgba(var(--secondary-rgb), 0)}}.dr-label{letter-spacing:.14em;text-transform:uppercase;color:#ffffffbf;font-size:.7rem;font-weight:800}.dr-specialty-badge{text-transform:uppercase;letter-spacing:.06em;color:#e3f2fd;background:#ffffff26;border:1px solid #fff3;border-radius:50px;padding:3px 10px;font-size:.72rem;font-weight:700}.dr-meta{align-items:center;gap:12px;display:flex}.dr-streak{color:#fff;background:#ffffff1f;border-radius:50px;padding:3px 10px;font-size:.82rem;font-weight:700}.dr-day{color:#ffffff8c;font-size:.78rem;font-weight:500}.dr-question{color:#fff;margin:0 0 16px;font-size:1rem;font-weight:600;line-height:1.55}.dr-options{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.dq-option{cursor:pointer;color:#e3f2fd;text-align:left;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:9px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:.88rem;transition:background .15s,border-color .15s;display:flex}.dq-option:hover:not(:disabled){background:#fff3;border-color:#fff6}.dq-option:disabled{cursor:default}.dq-option.correct{background:rgba(var(--success-rgb), .25);border-color:var(--secondary-color);color:#e8f5e9}.dq-option.wrong{background:rgba(var(--danger-rgb), .25);border-color:var(--danger-color);color:#ffebee}.dq-option.dimmed{opacity:.38}.dq-label{color:#fff;background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;font-size:.75rem;font-weight:800;display:inline-flex}.dq-option.correct .dq-label{background:var(--success-color)}.dq-option.wrong .dq-label{background:var(--danger-color)}.dq-text{flex:1;line-height:1.4}.dq-icon{color:var(--secondary-color);margin-left:auto;font-size:1rem;font-weight:800}.dq-icon.x{color:#ef9a9a}.dr-result{border-radius:9px;flex-direction:column;gap:5px;padding:12px 14px;animation:.25s fadeInUp;display:flex}.dr-result.correct{background:rgba(var(--success-rgb), .2);border:1px solid rgba(var(--secondary-rgb), .5)}.dr-result.wrong{background:rgba(var(--danger-rgb), .2);border:1px solid rgba(var(--danger-rgb), .4)}.dr-result-label{color:#fff;font-size:.88rem;font-weight:700}.dr-result-explanation{color:#fffc;font-size:.82rem;line-height:1.5}@media (width<=768px){.daily-quiz-page{padding:var(--spacing-md)}.question-text{font-size:1rem}}.lw-module{padding:var(--spacing-lg);max-width:100%}.lw-header{margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;justify-content:space-between;align-items:flex-start;display:flex}.lw-header h2{color:var(--text-color);margin:0 0 4px;font-size:1.6rem;font-weight:700}.lw-subtitle{color:#6b7280;margin:0;font-size:.875rem}.lw-header-actions{gap:var(--spacing-sm);display:flex}.lw-tabs{margin-bottom:var(--spacing-lg);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:4px;width:fit-content;padding:6px;display:flex}.lw-tab{color:#6b7280;cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 18px;font-size:.875rem;font-weight:500;display:flex}.lw-tab:hover{background:var(--light-gray);color:var(--text-color)}.lw-tab-active{background:var(--primary-color)!important;color:#fff!important}.lw-tab-badge{color:inherit;background:#0000001f;border-radius:20px;padding:1px 8px;font-size:.75rem;font-weight:600}.lw-tab-active .lw-tab-badge{background:#ffffff40}.lw-summary{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(4,1fr);display:grid}.lw-card{border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);align-items:center;gap:var(--spacing-md);background:#fff;border-left:4px solid #0000;display:flex}.lw-card-total{border-left-color:var(--primary-color)}.lw-card-inlab{border-left-color:#3b82f6}.lw-card-overdue{border-left-color:var(--danger-color)}.lw-card-ready{border-left-color:var(--success-color)}.lw-card-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.lw-card-total .lw-card-icon{color:var(--primary-color);background:#eff6ff}.lw-card-inlab .lw-card-icon{color:#3b82f6;background:#eff6ff}.lw-card-overdue .lw-card-icon{color:var(--danger-color);background:#fef2f2}.lw-card-ready .lw-card-icon{color:var(--success-color);background:#f0fdf4}.lw-card-value{color:var(--text-color);font-size:1.75rem;font-weight:700;line-height:1}.lw-card-label{color:#6b7280;margin-top:2px;font-size:.8rem}.lw-filters{gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.lw-search-box{align-items:center;gap:var(--spacing-sm);border:1px solid var(--medium-gray);border-radius:var(--radius);min-width:220px;padding:0 var(--spacing-md);box-shadow:var(--shadow);background:#fff;flex:1;display:flex}.lw-search-box svg{color:#9ca3af;flex-shrink:0}.lw-search-box input{background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-size:.9rem}.lw-filters select{padding:10px var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;background:#fff;min-width:140px;font-size:.9rem}.lw-filters select:focus{border-color:var(--primary-color);outline:none}.lw-table-wrap{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:hidden}.lw-table{border-collapse:collapse;width:100%;font-size:.875rem}.lw-table thead{border-bottom:1px solid var(--medium-gray);background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.lw-table th{padding:12px var(--spacing-md);text-align:left;color:#374151;white-space:nowrap;font-weight:600}.lw-table td{padding:12px var(--spacing-md);vertical-align:middle;border-bottom:1px solid #f3f4f6}.lw-table tbody tr:last-child td{border-bottom:none}.lw-table tbody tr:hover{background:#f9fafb}.lw-patient-name{color:var(--text-color);font-weight:600;display:block}.lw-tooth{color:#6b7280;margin-top:2px;font-size:.75rem;display:block}.lw-muted{color:#d1d5db}.lw-td-overdue{color:var(--danger-color);font-weight:600}.lw-chip{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.chip-gray{color:#6b7280;background:#f3f4f6}.chip-blue{color:#1d4ed8;background:#dbeafe}.chip-orange{color:#d97706;background:#fef3c7}.chip-green{color:#16a34a;background:#dcfce7}.chip-teal{color:#0d9488;background:#ccfbf1}.chip-red{color:#dc2626;background:#fee2e2}.lw-overdue-badge{margin-left:6px}.lw-actions{align-items:center;gap:6px;display:flex}.lw-action-btn{border:1px solid var(--medium-gray);cursor:pointer;width:30px;height:30px;transition:var(--transition);background:#fff;border-radius:6px;justify-content:center;align-items:center;display:flex}.lw-btn-advance{color:#2563eb;border-color:#bfdbfe}.lw-btn-advance:hover{background:#dbeafe;border-color:#93c5fd}.lw-btn-edit{color:#6b7280}.lw-btn-edit:hover{color:var(--text-color);background:#f3f4f6}.lw-btn-delete{color:#f87171;border-color:#fecaca}.lw-btn-delete:hover{color:var(--danger-color);background:#fef2f2}.lw-btn-lost{color:#dc2626;background:#fff5f5;border-color:#fca5a5}.lw-btn-lost:hover{background:#fee2e2;border-color:#f87171}.lw-btn-sm{padding:6px 12px;font-size:.8rem}.lw-btn{padding:9px var(--spacing-md);cursor:pointer;transition:var(--transition);border:none;border-radius:8px;align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:inline-flex}.lw-btn-primary{background:var(--primary-color);color:#fff}.lw-btn-primary:hover{opacity:.9;box-shadow:var(--shadow);transform:translateY(-1px)}.lw-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.lw-btn-outline{color:var(--text-color);border:1px solid var(--medium-gray);background:#fff}.lw-btn-outline:hover{background:var(--light-gray)}.lw-empty{padding:60px var(--spacing-lg);text-align:center;color:#9ca3af;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.lw-empty p{margin:0;font-size:1rem}.lw-loading{text-align:center;color:#9ca3af;padding:80px}.lw-spinner{border:3px solid var(--medium-gray);border-top-color:var(--primary-color);width:36px;height:36px;margin:0 auto var(--spacing-md);border-radius:50%;animation:.7s linear infinite lw-spin}@keyframes lw-spin{to{transform:rotate(360deg)}}.lw-modal-overlay{z-index:1000;padding:var(--spacing-md);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lw-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:640px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.lw-modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--medium-gray);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.lw-modal-header h3{margin:0;font-size:1.1rem;font-weight:700}.lw-close-btn{cursor:pointer;color:#6b7280;transition:var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;display:flex}.lw-close-btn:hover{color:var(--danger-color);background:#f3f4f6}.lw-modal-body{padding:var(--spacing-lg);flex:1;overflow-y:auto}.lw-form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.lw-col-full{grid-column:1/-1}.lw-form-group{margin-bottom:var(--spacing-md)}.lw-form-group label{color:#374151;margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.lw-form-group input,.lw-form-group select,.lw-form-group textarea{width:100%;padding:9px var(--spacing-md);border:1px solid var(--medium-gray);box-sizing:border-box;transition:var(--transition);background:#fff;border-radius:8px;font-family:inherit;font-size:.875rem}.lw-form-group input:focus,.lw-form-group select:focus,.lw-form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3498db26}.lw-form-group textarea{resize:vertical}.lw-modal-footer{justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--medium-gray);margin-top:var(--spacing-sm);display:flex}.lw-error-msg{color:var(--danger-color);padding:10px var(--spacing-md);margin-bottom:var(--spacing-md);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:.875rem}.lw-lab-cards{gap:var(--spacing-md);flex-direction:column;display:flex}.lw-lab-card{border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md) var(--spacing-lg);align-items:center;gap:var(--spacing-lg);border-left:4px solid var(--primary-color);transition:var(--transition);background:#fff;display:flex}.lw-lab-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.lw-lab-identity{flex:1;min-width:0}.lw-lab-name{color:var(--text-color);margin-bottom:4px;font-size:1rem;font-weight:700}.lw-lab-meta{color:#6b7280;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;display:flex}.lw-lab-last-order{color:#9ca3af;margin-top:4px;font-size:.75rem}.lw-lab-stats{gap:var(--spacing-sm);flex-wrap:wrap;flex-shrink:0;display:flex}.lw-stat-chip{border-radius:8px;flex-direction:column;align-items:center;min-width:56px;padding:6px 14px;display:flex}.lw-stat-value{font-size:1.1rem;font-weight:700;line-height:1}.lw-stat-label{text-transform:uppercase;letter-spacing:.03em;margin-top:2px;font-size:.68rem;font-weight:500}.lw-stat-total{color:#2563eb;background:#eff6ff}.lw-stat-active{color:#059669;background:#ecfdf5}.lw-stat-overdue{color:#d97706;background:#fef3c7}.lw-stat-lost{color:#dc2626;background:#fef2f2}.lw-stat-turnaround{color:#7c3aed;background:#f5f3ff}.lw-lab-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}@media (width<=900px){.lw-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.lw-module{padding:var(--spacing-md)}.lw-summary{grid-template-columns:1fr 1fr}.lw-header{gap:var(--spacing-md);flex-direction:column}.lw-filters{flex-direction:column}.lw-search-box{min-width:unset}.lw-form-row{grid-template-columns:1fr}.lw-table-wrap{overflow-x:auto}.lw-lab-card{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.lw-lab-actions{align-self:flex-end}}.wam{--wam-navy:#0d2d5a;--wam-sky:#4aade8;--wam-gold:#f5c842;--wam-border:#e3e8ef;--wam-muted:#64748b;--wam-green:#16a34a;--wam-green-bg:#dcfce7;--wam-amber:#b45309;--wam-amber-bg:#fef3c7;--wam-red:#dc2626;--wam-red-bg:#fee2e2;--wam-grey:#94a3b8;--wam-grey-bg:#f1f5f9;color:var(--wam-navy);padding:24px;font-family:DM Sans,system-ui,sans-serif}.wam h1,.wam h2,.wam h3,.wam .wam-tab{font-family:Sora,DM Sans,sans-serif}.wam-header{margin-bottom:20px}.wam-header h1{color:var(--wam-navy);margin:0 0 4px;font-size:24px}.wam-header p{color:var(--wam-muted);margin:0;font-size:14px}.wam-clinic-bar{border:1px solid var(--wam-border);background:#fff;border-radius:10px;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.wam-clinic-bar label{font-size:14px;font-weight:600}.wam-clinic-bar select{border:1px solid var(--wam-border);color:var(--wam-navy);background:#fff;border-radius:8px;flex:0 0 360px;padding:9px 12px;font-size:14px}.wam-tabs{border-bottom:2px solid var(--wam-border);gap:6px;margin-bottom:20px;display:flex}.wam-tab{color:var(--wam-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 20px;font-size:15px;font-weight:600}.wam-tab:hover{color:var(--wam-navy)}.wam-tab.is-active{color:var(--wam-navy);border-bottom-color:var(--wam-sky)}.wam-section{border:1px solid var(--wam-border);background:#fff;border-radius:12px;margin-bottom:22px;padding:20px}.wam-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.wam-section-head h2{margin:0;font-size:17px}.wam-section-head .wam-actions{gap:8px;display:flex}.wam-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;display:inline-flex}.wam-btn:disabled{opacity:.5;cursor:not-allowed}.wam-btn-primary{background:var(--wam-navy);color:#fff}.wam-btn-primary:hover:not(:disabled){background:#0a2247}.wam-btn-sky{background:var(--wam-sky);color:#fff}.wam-btn-sky:hover:not(:disabled){background:#2f97d6}.wam-btn-gold{background:var(--wam-gold);color:var(--wam-navy)}.wam-btn-gold:hover:not(:disabled){background:#e6b82f}.wam-btn-outline{color:var(--wam-navy);border-color:var(--wam-border);background:#fff}.wam-btn-outline:hover:not(:disabled){border-color:var(--wam-sky)}.wam-btn-danger{background:var(--wam-red-bg);color:var(--wam-red)}.wam-btn-danger:hover:not(:disabled){background:#fcc}.wam-btn-sm{padding:6px 10px;font-size:13px}.wam-table{border-collapse:collapse;width:100%;font-size:14px}.wam-table th{text-align:left;color:var(--wam-muted);border-bottom:2px solid var(--wam-border);text-transform:uppercase;letter-spacing:.03em;padding:10px 12px;font-size:12px;font-weight:600}.wam-table td{border-bottom:1px solid var(--wam-border);vertical-align:middle;padding:11px 12px}.wam-table tr:last-child td{border-bottom:none}.wam-table .wam-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.wam-badge{letter-spacing:.02em;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.wam-badge-green{background:var(--wam-green-bg);color:var(--wam-green)}.wam-badge-amber{background:var(--wam-amber-bg);color:var(--wam-amber)}.wam-badge-red{background:var(--wam-red-bg);color:var(--wam-red)}.wam-badge-grey{background:var(--wam-grey-bg);color:var(--wam-muted)}.wam-copy{cursor:pointer;color:var(--wam-sky);background:0 0;border:none;padding:2px 4px;font-size:12px;font-weight:600}.wam-copy:hover{color:var(--wam-navy)}.wam-error{background:var(--wam-red-bg);color:var(--wam-red);border:1px solid #fca5a5;border-radius:8px;margin:10px 0;padding:10px 14px;font-size:14px}.wam-empty{color:var(--wam-muted);text-align:center;padding:18px;font-size:14px}.wam-drawer-backdrop{z-index:1000;background:#0d2d5a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.wam-drawer{background:#fff;width:480px;max-width:92vw;height:100%;padding:24px;animation:.22s ease-out wam-slide-in;overflow-y:auto;box-shadow:-8px 0 30px #0000002e}@keyframes wam-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.wam-drawer-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.wam-drawer-head h3{margin:0;font-size:18px}.wam-drawer-close{cursor:pointer;color:var(--wam-muted);background:0 0;border:none;padding:4px}.wam-drawer-close:hover{color:var(--wam-navy)}.wam-field{margin-bottom:16px}.wam-field label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.wam-field input,.wam-field select,.wam-field textarea{border:1px solid var(--wam-border);width:100%;color:var(--wam-navy);box-sizing:border-box;border-radius:8px;padding:9px 12px;font-family:DM Sans,sans-serif;font-size:14px}.wam-field textarea{resize:vertical;min-height:80px}.wam-field .wam-hint{color:var(--wam-muted);margin-top:4px;font-size:12px}.wam-charcount{color:var(--wam-muted);text-align:right;margin-top:4px;font-size:12px}.wam-form-actions{gap:10px;margin-top:22px;display:flex}.wam-help{color:var(--wam-muted);max-width:640px;margin:0 0 18px;font-size:14px;line-height:1.5}.wam-voice-form{max-width:420px}.wam-field-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.wam-field-row label{margin-bottom:0}.wam-field-row input[type=checkbox]{width:auto}.wam-voice-subsection{border-top:1px solid var(--wam-border);margin-top:26px;padding-top:20px}.wam-voice-subsection h3{color:var(--wam-navy);margin:0 0 12px;font-family:Sora,DM Sans,sans-serif;font-size:16px}.wam-usage-stats{gap:16px;margin-bottom:8px;display:flex}.wam-usage-stat{border:1px solid var(--wam-border);background:#f4f8fc;border-radius:10px;flex-direction:column;flex:none;gap:4px;min-width:130px;padding:14px 18px;display:flex}.wam-usage-num{color:var(--wam-sky,#4aade8);font-family:Sora,DM Sans,sans-serif;font-size:26px;font-weight:700;line-height:1}.wam-usage-label{color:var(--wam-muted);font-size:12px}.wam-confirm h3{margin:0 0 10px;font-size:18px}.wam-confirm p{color:var(--wam-muted);margin:0 0 20px;font-size:14px}.wam-confirm .wam-form-actions{justify-content:flex-end}.wam-steps{align-items:center;gap:0;margin:8px 0 24px;display:flex}.wam-step{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}.wam-step-dot{color:#fff;background:var(--wam-grey);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:flex}.wam-step.done .wam-step-dot{background:var(--wam-green)}.wam-step-label{color:var(--wam-muted);margin-top:8px;font-size:12px;font-weight:600}.wam-step.done .wam-step-label{color:var(--wam-navy)}.wam-step-line{background:var(--wam-grey);flex:none;align-self:flex-start;width:60px;height:3px;margin-top:18px}.wam-step-line.done{background:var(--wam-green)}.wam-onboard-action{border-top:1px dashed var(--wam-border);margin-top:4px;padding-top:18px}.wam-active-banner{background:var(--wam-green-bg);color:var(--wam-green);border:1px solid #86efac;border-radius:10px;align-items:center;gap:10px;padding:16px 18px;font-size:15px;font-weight:600;display:flex}.wam-signup-box{background:var(--wam-grey-bg);border:1px solid var(--wam-border);border-radius:8px;align-items:center;gap:8px;margin:10px 0;padding:10px 12px;display:flex}.wam-signup-box input{color:var(--wam-navy);background:0 0;border:none;flex:1;font-size:13px}.wam-info-note{color:var(--wam-navy);background:#eef6fc;border:1px solid #cfe6f7;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.wam-toasts{z-index:1100;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.wam-toast{color:#fff;border-radius:10px;min-width:280px;max-width:380px;padding:12px 16px;font-size:14px;font-weight:600;animation:.2s ease-out wam-toast-in;box-shadow:0 8px 24px #0000002e}@keyframes wam-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.wam-toast-success{background:var(--wam-green)}.wam-toast-error{background:var(--wam-red)}.wam-toast-info{background:var(--wam-navy)}.wam-modes{flex-wrap:wrap;gap:4px;display:flex}.wam-badge-mode{color:var(--wam-sky);background:#eef6fc;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.wam-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.wam-badge-off{color:var(--wam-red);background:#fdecec;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.wam-access-toggle{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.wam-access-note{color:var(--wam-muted);margin:4px 0 14px;font-size:13px}.wam-access-summary{color:var(--wam-muted);margin-top:10px;font-size:13px;font-weight:600}.wam-dot-green{background:var(--wam-green)}.wam-dot-red{background:var(--wam-red)}.wam-sub-limit-warn{color:var(--wam-amber);background:var(--wam-amber-bg);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.wam-modes-checkboxes{flex-wrap:wrap;gap:14px;margin-top:4px;display:flex}.wam-mode-check{cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.wam-mode-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--wam-sky)}.wam-tip{display:inline-block;position:relative}.wam-tip[data-tip]:hover:after{content:attr(data-tip);background:var(--wam-navy);color:#fff;white-space:nowrap;z-index:5;border-radius:6px;padding:6px 10px;font-size:12px;position:absolute;bottom:125%;right:0}.wam-postop-form{margin:8px 0 16px}.wam-postop-form .form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.wam-postop-form .form-group{flex-direction:column;gap:4px;min-width:180px;display:flex}.wam-postop-form label{color:var(--wam-muted);font-size:12px;font-weight:600}.escalation-queue{--esc-navy:#0d2d5a;--esc-sky:#4aade8;--esc-border:#e3e8ef;--esc-muted:#64748b;--esc-red:#dc2626;--esc-red-bg:#fee2e2;--esc-orange:#f97316;--esc-orange-bg:#fff7ed;--esc-green:#22c55e;--esc-grey:#94a3b8;--esc-grey-bg:#f1f5f9;color:var(--esc-navy);padding:24px;font-family:DM Sans,system-ui,sans-serif}.escalation-queue h2,.escalation-queue h3,.esc-tab{font-family:Sora,DM Sans,sans-serif}.esc-header{margin-bottom:16px}.esc-header h2{color:var(--esc-navy);margin:0 0 4px;font-size:24px}.esc-subtitle{color:var(--esc-muted);margin:0;font-size:14px}.esc-tabs{border-bottom:2px solid var(--esc-border);gap:6px;margin-bottom:20px;display:flex}.esc-tab{color:var(--esc-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 20px;font-family:Sora,DM Sans,sans-serif;font-size:15px;font-weight:600}.esc-tab:hover{color:var(--esc-navy)}.esc-tab-active{color:var(--esc-navy);border-bottom-color:var(--esc-sky)}.esc-empty{text-align:center;color:var(--esc-muted);padding:60px 20px}.esc-empty-emoji{margin-bottom:12px;font-size:48px;display:block}.esc-empty p{font-size:16px}.esc-list{flex-direction:column;gap:12px;display:flex}.esc-card{border:1px solid var(--esc-border);border-left:5px solid var(--esc-grey);background:#fff;border-radius:10px;padding:16px 18px;transition:box-shadow .15s}.esc-card:hover{box-shadow:0 2px 8px #0000000f}.esc-card-urgent{border-left-color:var(--esc-red);background:snow}.esc-card-high{border-left-color:var(--esc-orange);background:#fffcf7}.esc-card-normal{border-left-color:var(--esc-grey)}.esc-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.esc-card-patient{align-items:baseline;gap:8px;display:flex}.esc-card-name{font-size:15px;font-weight:700}.esc-card-phone{color:var(--esc-muted);font-size:13px}.esc-card-badges{align-items:center;gap:8px;display:flex}.esc-priority-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.esc-priority-urgent{background:var(--esc-red-bg);color:var(--esc-red);animation:2s ease-in-out infinite esc-pulse}.esc-priority-high{background:var(--esc-orange-bg);color:var(--esc-orange)}.esc-priority-normal{background:var(--esc-grey-bg);color:var(--esc-grey)}@keyframes esc-pulse{0%,to{opacity:1}50%{opacity:.6}}.esc-risk-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.esc-card-reason{color:var(--esc-muted);margin-bottom:6px;font-size:13px;font-weight:600}.esc-card-message{color:var(--esc-navy);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:14px;font-style:italic;display:-webkit-box;overflow:hidden}.esc-card-flags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.esc-flag-chip{background:var(--esc-red-bg);color:var(--esc-red);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.esc-card-bottom{border-top:1px solid var(--esc-border);align-items:center;gap:12px;margin-top:4px;padding-top:10px;display:flex}.esc-card-time{color:var(--esc-muted);font-size:12px}.esc-card-status{text-transform:uppercase;font-size:12px;font-weight:600}.esc-status-pending{color:var(--esc-orange)}.esc-status-acknowledged{color:var(--esc-sky)}.esc-status-resolved{color:var(--esc-green)}.esc-card-actions{gap:6px;margin-left:auto;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:600;transition:all .15s}.btn-sm{padding:5px 12px}.btn-outline{border:1px solid var(--esc-border);color:var(--esc-navy);background:#fff}.btn-outline:hover{border-color:var(--esc-sky);color:var(--esc-sky)}.btn-primary{background:var(--esc-sky);color:#fff;padding:8px 16px}.btn-primary:disabled,.btn-outline:disabled{opacity:.5;cursor:not-allowed}.esc-detail{max-height:75vh;overflow-y:auto}.esc-detail-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.esc-detail-patient h3{margin:0;font-size:18px}.esc-detail-phone{color:var(--esc-muted);font-size:13px}.esc-detail-meta{align-items:center;gap:8px;display:flex}.esc-detail-status{color:var(--esc-muted);font-size:12px;font-weight:600}.esc-detail-grid{background:var(--esc-grey-bg);border-radius:8px;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;padding:12px;font-size:14px;display:grid}.esc-detail-grid>div{flex-direction:column;gap:2px;display:flex}.esc-detail-grid strong{color:var(--esc-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.esc-red-flags{margin-bottom:14px}.esc-red-flags strong{margin-bottom:6px;font-size:13px;display:block}.esc-flags-list{flex-wrap:wrap;gap:4px;display:flex}.esc-summary-block{margin-bottom:14px}.esc-summary-block strong{margin-bottom:4px;font-size:13px;display:block}.esc-summary-block p{color:var(--esc-navy);margin:0;font-size:14px}.esc-ai-response{background:#f0f7ff;border-radius:6px;padding:8px 12px;font-style:italic}.esc-chat{margin-bottom:16px}.esc-chat>strong{margin-bottom:10px;font-size:14px;display:block}.esc-chat-thread{background:#f8fafc;border-radius:8px;flex-direction:column;gap:8px;max-height:300px;padding:12px;display:flex;overflow-y:auto}.esc-chat-msg{display:flex}.esc-chat-patient{justify-content:flex-start}.esc-chat-assistant{justify-content:flex-end}.esc-chat-bubble{border-radius:12px;max-width:75%;padding:8px 12px;font-size:14px;line-height:1.4}.esc-chat-patient .esc-chat-bubble{border:1px solid var(--esc-border);background:#fff}.esc-chat-assistant .esc-chat-bubble{background:#e8f4fd}.esc-chat-label{color:var(--esc-muted);margin-bottom:2px;font-size:11px;font-weight:600;display:block}.esc-chat-time{color:var(--esc-muted);text-align:right;margin-top:2px;font-size:10px;display:block}.esc-chat-bubble p{margin:0}.esc-detail-actions{border-top:1px solid var(--esc-border);align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.esc-resolve-group{flex:1;gap:8px;display:flex}.esc-resolve-input{border:1px solid var(--esc-border);border-radius:6px;flex:1;padding:8px 12px;font-family:inherit;font-size:14px}.esc-resolve-input:focus{border-color:var(--esc-sky);outline:none}.esc-sidebar-badge{border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.esc-badge-red{color:#fff;background:#dc2626}.esc-badge-normal{color:#fff;background:#f97316}@media (width<=768px){.escalation-queue{padding:14px}.esc-detail-grid{grid-template-columns:1fr}.esc-card-top{flex-direction:column;align-items:flex-start;gap:6px}.esc-detail-actions{flex-direction:column}.esc-resolve-group{width:100%}}.employees-module{padding:var(--spacing-lg)}.employees-module .module-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:flex-start;display:flex}.employees-module .module-header h2{margin:0 0 4px}.employees-module .module-header p{color:var(--text-muted,#7f8c8d);margin:0;font-size:.9rem}.employees-filters{margin-bottom:var(--spacing-md);align-items:center;gap:var(--spacing-sm);display:flex}.employees-filters select{border-radius:var(--radius);border:1px solid var(--border-color,#dfe4ea);margin-left:8px;padding:4px 8px}.employees-table-wrapper{background:var(--card-bg,#fff);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.employees-table{border-collapse:collapse;width:100%;font-size:.9rem}.employees-table th,.employees-table td{text-align:left;border-bottom:1px solid var(--border-color,#eef0f3);white-space:nowrap;padding:10px 14px}.employees-table th{color:var(--text-muted,#7f8c8d);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.employee-status{text-transform:capitalize;border-radius:50px;padding:2px 10px;font-size:.75rem;font-weight:600}.employee-status-active{color:#1e824c;background:#e3f9e5}.employee-status-inactive{color:#6b7280;background:#f3f4f6}.employee-actions{gap:6px;display:flex}.emp-btn{white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:7px;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:600;line-height:1;transition:all .14s;display:inline-flex}.emp-btn--ghost{color:#475467;border-color:#e5e7eb}.emp-btn--ghost:hover{color:#1f2937;background:#f9fafb;border-color:#d0d5dd}.emp-btn--danger{color:#d92d20;border-color:#fecdca}.emp-btn--danger:hover{color:#fff;background:#d92d20;border-color:#d92d20}.employees-module .empty-state{text-align:center;padding:var(--spacing-xl,40px) var(--spacing-lg);color:var(--text-muted,#7f8c8d)}.maintenance-module{padding:var(--spacing-lg,24px)}.maintenance-module .module-header{margin-bottom:var(--spacing-lg,24px);justify-content:space-between;align-items:center;gap:16px;display:flex}.maintenance-module .module-header h2{color:#1f2937;margin:0 0 4px;font-size:1.5rem;font-weight:700}.maintenance-module .module-header p{color:#6b7280;margin:0;font-size:.875rem}.maintenance-filters{align-items:center;gap:8px;margin-bottom:16px;display:flex}.maintenance-filters label{color:#6b7280;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:inline-flex}.maintenance-filters select{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:auto;min-width:140px;padding:7px 12px;font-size:.875rem}.maintenance-table-wrapper{background:#fff;border:1px solid #eef0f3;border-radius:12px;overflow-x:auto;box-shadow:0 1px 3px #1018280f}.maintenance-table{border-collapse:collapse;width:100%;font-size:.9rem}.maintenance-table thead th{text-align:left;color:#98a2b3;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#fafbfc;border-bottom:1px solid #eef0f3;padding:12px 16px;font-size:.72rem;font-weight:600}.maintenance-table thead th:last-child{text-align:right}.maintenance-table tbody td{text-align:left;vertical-align:middle;color:#344054;border-bottom:1px solid #f2f4f7;padding:14px 16px}.maintenance-table tbody tr:last-child td{border-bottom:none}.maintenance-table tbody tr{transition:background .12s}.maintenance-table tbody tr:hover{background:#fafbfc}.maintenance-task-name{color:#1f2937;font-weight:600}.maintenance-task-desc{color:#98a2b3;white-space:normal;max-width:340px;margin-top:3px;font-size:.8rem;line-height:1.4}.maintenance-table tbody tr.maintenance-row-overdue{background:#fef3f2;box-shadow:inset 3px 0 #f04438}.maintenance-table tbody tr.maintenance-row-overdue:hover{background:#fee4e2}.maintenance-table tbody tr.maintenance-row-due-soon{background:#fffaeb;box-shadow:inset 3px 0 #f79009}.maintenance-table tbody tr.maintenance-row-due-soon:hover{background:#fef0c7}.maintenance-next-due{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.maintenance-due-badge{letter-spacing:.02em;white-space:nowrap;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.maintenance-due-overdue{color:#b42318;background:#fee4e2}.maintenance-due-due-soon{color:#b54708;background:#fef0c7}.maintenance-status{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.maintenance-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.maintenance-status-active{color:#067647;background:#ecfdf3}.maintenance-status-inactive{color:#667085;background:#f2f4f7}.maintenance-actions{text-align:right;white-space:nowrap}.mtc-action-group{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.mtc-btn{white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-size:.8rem;font-weight:600;line-height:1;transition:all .14s;display:inline-flex}.mtc-btn svg{flex-shrink:0}.mtc-btn--done{color:#067647;background:#ecfdf3;border-color:#abefc6}.mtc-btn--done:hover{color:#fff;background:#067647;border-color:#067647}.mtc-btn--ghost{color:#475467;border-color:#e5e7eb}.mtc-btn--ghost:hover{color:#1f2937;background:#f9fafb;border-color:#d0d5dd}.mtc-btn--danger{color:#d92d20;border-color:#fecdca;padding:6px 8px}.mtc-btn--danger:hover{color:#fff;background:#d92d20;border-color:#d92d20}.maintenance-module .empty-state,.maintenance-module .loading-container{text-align:center;color:#667085;background:#fff;border:1px dashed #e5e7eb;border-radius:12px;padding:48px 24px}.maintenance-module .empty-state h3{color:#344054;margin:0 0 6px}.maintenance-module .empty-state p{margin:0;font-size:.9rem}@media (width<=640px){.mtc-btn span,.mtc-btn--done{gap:4px}.maintenance-task-desc{max-width:200px}}.dashboard{padding:var(--spacing-md)}@media (width<=768px){.dashboard{padding:var(--spacing-sm)}.dashboard .dashboard-header{gap:var(--spacing-sm);padding:var(--spacing-sm);flex-direction:column;align-items:stretch}.dashboard .dashboard-header h2{text-align:center;font-size:1.5rem}.dashboard .dashboard-header .btn{width:100%;padding:var(--spacing-sm);justify-content:center;font-size:.9rem}.stats-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr}.stat-card{padding:var(--spacing-sm)}.stat-icon{width:40px;height:40px;margin-right:var(--spacing-sm)}.stat-content h3{font-size:1.5rem}.stat-content p{font-size:.9rem}.dashboard-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:1fr}.card-header{gap:var(--spacing-sm);flex-direction:column;align-items:stretch}.card-header h3{text-align:center;font-size:1.2rem}.card-header .btn{width:100%;padding:var(--spacing-sm);justify-content:center;font-size:.9rem}.appointments-list,.patients-list{gap:var(--spacing-xs)}.appointment-item,.patient-item{padding:var(--spacing-sm)}.appointment-time,.patient-name{font-size:.9rem}.appointment-patient,.patient-contact{font-size:.8rem}.patient-avatar{width:34px;min-width:34px;height:34px;margin-right:var(--spacing-sm)}.patient-info{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}}@media (width<=480px){.dashboard{padding:var(--spacing-xs)}.dashboard .dashboard-header h2{font-size:1.3rem}.stat-card{padding:var(--spacing-xs)}.stat-icon{width:35px;height:35px}.stat-content h3{font-size:1.3rem}.stat-content p{font-size:.8rem}.card-header h3{font-size:1.1rem}.appointment-item,.patient-item{padding:var(--spacing-xs)}.appointment-time,.patient-name{font-size:.8rem}.appointment-patient,.patient-contact{font-size:.7rem}.patient-avatar{width:30px;min-width:30px;height:30px;margin-right:var(--spacing-xs)}.appointment-calendar{height:auto;min-height:350px}}.dashboard .dashboard-header{margin-bottom:var(--spacing-lg);background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.dashboard .dashboard-header h2{color:var(--text-dark);margin-bottom:0;font-size:24px;font-weight:600}.dashboard .dashboard-header .btn{padding:6px 12px;font-size:12px}.stats-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(1,1fr);display:grid}.stat-card{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-md);transition:var(--transition);align-items:center;display:flex}.stat-card:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;margin-right:var(--spacing-md);color:var(--white);border-radius:12px;justify-content:center;align-items:center;display:flex}.stat-content{flex:1}.stat-content h3{margin-bottom:0;font-size:24px}.stat-content p{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:14px}.stat-trend{font-size:12px}.trend-up{color:var(--secondary-color)}.trend-down{color:var(--danger-color)}.trend-period{color:var(--text-light);margin-left:var(--spacing-xs)}.dashboard-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:1fr;display:grid}.card-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.card-header h3{margin-bottom:0}.appointments-list,.patients-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.appointment-item{padding:var(--spacing-sm);border-radius:var(--radius);background-color:var(--light-gray);transition:var(--transition);align-items:center;display:flex}.appointment-item:hover{background-color:var(--medium-gray)}.appointment-item.my-appointment{border-left:4px solid var(--primary-color);background-color:#3498db0d}.appointment-doctor{margin:4px 0}.doctor-badge{border-radius:12px;padding:2px 6px;font-size:11px;font-weight:500}.doctor-badge.my-appointment{background-color:var(--primary-color);color:#fff}.doctor-badge.other-doctor{background-color:var(--light-gray);color:var(--text-dark)}.appointment-time{text-align:center;min-width:80px;font-weight:600}.appointment-time .time{font-size:14px;font-weight:600}.appointment-time .end-time{color:var(--text-light);margin-top:2px;font-size:11px}.appointment-details{margin:0 var(--spacing-md);flex:1}.appointment-patient{font-weight:500}.appointment-treatment{color:var(--text-light);font-size:12px}.appointment-status{align-items:center;gap:var(--spacing-sm);display:flex}.status-badges{gap:var(--spacing-xs);flex-direction:column;align-items:flex-end;display:flex}.appointment-type-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.badge-consultation{color:#fff;background-color:#3b82f6}.badge-visiting{color:#fff;background-color:#f59e0b}.badge-regular{color:#fff;background-color:#10b981}.patient-item{padding:var(--spacing-sm);border-radius:var(--radius);background-color:var(--light-gray);transition:var(--transition);align-items:center;display:flex}.patient-item:hover{background-color:var(--medium-gray)}.patient-avatar{width:40px;height:40px;margin-right:var(--spacing-md);border-radius:50%;overflow:hidden}.patient-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.patient-details{flex:1}.patient-name{font-weight:500}.patient-info{color:var(--text-light);font-size:12px}.dashboard-content{gap:var(--spacing-lg);min-height:calc(100vh - 120px);display:flex}.dashboard-main{gap:var(--spacing-lg);flex-direction:column;flex:1;display:flex}.dashboard-sidebar{background:var(--white);border-radius:var(--radius);width:300px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);position:relative;overflow:hidden}.sidebar-content{padding:var(--spacing-lg)}.sidebar-content h3{margin:0 0 var(--spacing-md) 0;color:var(--text-dark);font-size:1.1rem;font-weight:600}.quick-actions{gap:var(--spacing-sm);flex-direction:column;display:flex}.quick-actions .btn{text-align:center;justify-content:center;align-items:center;width:100%;display:flex}@media (width<=1024px){.dashboard-content{flex-direction:column}.dashboard-sidebar{order:-1;width:100%}.quick-actions{gap:var(--spacing-sm);flex-flow:wrap}.quick-actions .btn{min-width:150px;padding:var(--spacing-sm) var(--spacing-md);flex:1}}@media (width<=768px){.dashboard-sidebar{margin-bottom:var(--spacing-md);width:100%}.sidebar-content{padding:var(--spacing-md)}.sidebar-content h3{margin-bottom:var(--spacing-sm);font-size:1rem}.quick-actions{gap:var(--spacing-xs);flex-direction:column}.quick-actions .btn{font-size:14px;width:100%!important;padding:12px var(--spacing-md)!important;text-align:center!important;justify-content:center!important;align-items:center!important;min-width:0!important;max-width:100%!important;display:flex!important}}@media (width<=480px){.sidebar-content{padding:var(--spacing-sm)}.sidebar-content h3{font-size:.95rem}.quick-actions .btn{font-size:13px;padding:12px var(--spacing-sm)!important;text-align:center!important;justify-content:center!important;width:100%!important;min-width:0!important}}.loading-spinner{padding:var(--spacing-xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.spinner{border:4px solid var(--light-gray);border-top:4px solid var(--primary-color);width:40px;height:40px;margin-bottom:var(--spacing-md);border-radius:50%;animation:1s linear infinite spin}.error-message{padding:var(--spacing-xl);text-align:center;background-color:var(--light-gray);border-radius:var(--radius);margin:var(--spacing-md) 0;flex-direction:column;justify-content:center;align-items:center;display:flex}.error-message p{color:var(--danger-color);margin-bottom:var(--spacing-md);font-weight:500}.no-appointments,.no-patients{text-align:center;padding:var(--spacing-lg);color:var(--text-light);font-style:italic}.quick-stats-section{margin-bottom:var(--spacing-lg)}.quick-stats-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.quick-stat-item{padding:var(--spacing-md);background-color:var(--light-gray);border-radius:var(--radius);text-align:center}.quick-stat-label{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:12px}.quick-stat-value{color:var(--primary-color);font-size:24px;font-weight:600}@media (width>=576px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=992px){.stats-grid{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}.reminders-section{margin-bottom:var(--spacing-lg)}.reminders-list{gap:var(--spacing-sm);max-height:400px;padding-right:var(--spacing-xs);flex-direction:column;display:flex;overflow-y:auto}.reminders-list::-webkit-scrollbar{width:6px}.reminders-list::-webkit-scrollbar-track{background:var(--light-gray);border-radius:3px}.reminders-list::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.reminders-list::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.reminder-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius);background-color:var(--light-gray);border-left:4px solid;transition:all .2s;display:flex}.reminder-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.reminder-item.urgent{background-color:#fef2f2;border-left-color:#dc2626}.reminder-item.warning{background-color:#fffbeb;border-left-color:#f59e0b}.reminder-item.info{background-color:#eff6ff;border-left-color:#3b82f6}.reminder-item.success{background-color:#ecfdf5;border-left-color:#10b981}.reminder-icon{flex-shrink:0;font-size:20px}.reminder-content{flex:1;min-width:0}.reminder-title{color:var(--text-color);margin-bottom:var(--spacing-xs);font-size:14px;font-weight:600}.reminder-details{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:12px;line-height:1.4}.reminder-time{color:var(--primary-color);font-size:11px;font-weight:500}.loading-placeholder{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);color:var(--text-light);font-size:14px;display:flex}.no-reminders{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius);background-color:var(--light-gray);color:var(--text-light);text-align:center;display:flex}.no-reminders .reminder-icon{color:var(--success-color);font-size:24px}.no-reminders .reminder-content{flex:1}.no-reminders .reminder-title{color:var(--text-color);margin-bottom:var(--spacing-xs);font-weight:600}.no-reminders .reminder-details{color:var(--text-light);font-size:12px}.reminder-count{color:var(--primary-color);margin-bottom:var(--spacing-xs);font-size:12px;font-weight:600}.reminder-amount{color:var(--warning-color);margin-bottom:var(--spacing-xs);font-size:12px;font-weight:600}.reminder-actions{gap:var(--spacing-xs);flex-shrink:0;display:flex}@media (width<=768px){.reminders-list{max-height:300px}.reminder-item{padding:var(--spacing-sm)}.reminder-actions{gap:var(--spacing-xs);flex-direction:column}.reminder-actions .btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:11px}}.inventory-section{margin-bottom:var(--spacing-lg)}.inventory-update-form{gap:var(--spacing-md);flex-direction:column;display:flex}.search-section{position:relative}.search-section label{color:var(--text-color);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;display:block}.dropdown-container{position:relative}.inventory-dropdown{width:100%;padding:var(--spacing-sm);border:2px solid var(--light-gray);border-radius:var(--radius);cursor:pointer;background-color:#fff;font-size:14px;transition:border-color .2s}.inventory-dropdown:focus{border-color:var(--primary-color);outline:none}.inventory-dropdown option{padding:var(--spacing-sm);font-size:14px}.no-item-selected{text-align:center;padding:var(--spacing-lg);color:var(--text-light);background-color:var(--light-gray);border-radius:var(--radius);font-style:italic}.stock-update-section label{color:var(--text-color);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;display:block}.quantity-controls{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.quantity-btn{border-radius:var(--radius);justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;font-weight:700;display:flex}.quantity-input{text-align:center;border:2px solid var(--light-gray);border-radius:var(--radius);width:80px;height:40px;padding:var(--spacing-sm);font-size:16px;font-weight:600}.quantity-input:focus{border-color:var(--primary-color);outline:none}.current-stock{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--light-gray);border-radius:var(--radius);display:flex}.stock-label{color:var(--text-color);font-size:14px;font-weight:500}.stock-value{color:var(--primary-color);font-size:18px;font-weight:600}.update-stock-btn{width:100%;padding:var(--spacing-sm);font-size:14px;font-weight:600;transition:background-color .2s}.update-stock-btn:disabled{background-color:var(--light-gray);cursor:not-allowed;opacity:.6}.stock-update-message{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);text-align:center;font-size:14px;font-weight:500}.stock-update-message.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.stock-update-message.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.adjustment-controls{margin:var(--spacing-md) 0}.adjustment-label{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.adjustment-value{border-radius:4px;padding:4px 8px;font-size:16px;font-weight:700}.adjustment-value.positive{color:#28a745;background-color:#d4edda}.adjustment-value.negative{color:#dc3545;background-color:#f8d7da}.adjustment-value.neutral{color:#6c757d;background-color:#e9ecef}.quantity-btn.add-btn{color:#28a745;background-color:#d4edda;border-color:#28a745}.quantity-btn.add-btn:hover{color:#fff;background-color:#28a745}.quantity-btn.remove-btn{color:#dc3545;background-color:#f8d7da;border-color:#dc3545}.quantity-btn.remove-btn:hover{color:#fff;background-color:#dc3545}.quick-adjustments{gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.quick-btn{min-width:40px;padding:4px 8px;font-size:12px}.preview-stock{margin:var(--spacing-md) 0;padding:var(--spacing-sm);border-radius:var(--radius);border-left:4px solid var(--primary-color);background-color:#e8f4fd;justify-content:space-between;align-items:center;display:flex}.preview-label{color:var(--text-color);font-size:14px;font-weight:600}.preview-value{color:var(--primary-color);font-size:16px;font-weight:700}@media (width<=768px){.quantity-controls{justify-content:center}.quantity-input{width:100px}.reminder-item{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.reminder-content{width:100%}}.notepad-section{margin-bottom:var(--spacing-lg)}.notepad-wrapper{padding:0}.dashboard-patient-search{margin-bottom:var(--spacing-lg)}.fullscreen-patient-modal{z-index:9999;animation:.2s fadeIn;position:fixed;inset:0}.fullscreen-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-md);background-color:#000000bf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.fullscreen-modal-container{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:95vw;max-height:95vh;animation:.3s slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.fullscreen-modal-close{z-index:10000;cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 2px 8px #00000026}.fullscreen-modal-close:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 12px #0003}.fullscreen-modal-close svg{width:20px;height:20px;color:var(--text-color,#333)}.fullscreen-modal-content{padding:var(--spacing-md);flex:1;height:100%;overflow-y:auto}.fullscreen-modal-content .patient-profile{max-width:100%;margin:0}@media (width<=768px){.dashboard-patient-search{margin-bottom:var(--spacing-md);padding:0}.fullscreen-modal-backdrop{padding:0}.fullscreen-modal-container{border-radius:0;max-width:100vw;max-height:100vh}.fullscreen-modal-close{width:36px;height:36px;top:12px;right:12px}.fullscreen-modal-close svg{width:18px;height:18px}.fullscreen-modal-content{padding:var(--spacing-sm)}}.next-patient-card{background:var(--color-surface,#fff);border:1.5px solid var(--color-border,#e5e7eb);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 20px;padding:14px 20px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.next-patient-card--arrived{background:linear-gradient(135deg,#f0fdf4 0%,#fff 60%);border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.next-patient-card__label{letter-spacing:.08em;color:#6b7280;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.next-patient-card--arrived .next-patient-card__label{color:#16a34a}.next-patient-pulse{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse-ring;display:inline-block}@keyframes pulse-ring{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.next-patient-card__info{flex:1;align-items:center;gap:12px;display:flex}.next-patient-card__name{color:var(--color-text,#111827);font-size:15px;font-weight:600}.next-patient-card__time{color:#6b7280;font-size:13px}.next-patient-card__btn{background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.next-patient-card--arrived .next-patient-card__btn{background:#16a34a}.next-patient-card__btn:hover{opacity:.9}.next-patient-card--arrived{padding-right:44px}@media (width<=768px){.next-patient-card{gap:10px;padding:12px 14px}.next-patient-card--arrived{padding-right:44px}.next-patient-card__info{flex-direction:column;align-items:flex-start;gap:2px}.next-patient-card__btn{justify-content:center;width:100%}}.appointment-status{flex-direction:column;align-items:flex-end}.appointment-status .status-badges{align-items:flex-end}@media (width<=480px){.appointment-status{min-width:0}.appointment-status .btn-patient-arrived{white-space:normal;text-align:center;padding:3px 6px;font-size:.65rem}}.notepad-container{background:var(--white);border-radius:var(--radius);padding:var(--spacing-lg);border:1px solid var(--medium-gray)}.notepad-add-form{margin-bottom:var(--spacing-md)}.notepad-input-group{gap:var(--spacing-sm);align-items:center;display:flex}.notepad-input{padding:10px var(--spacing-md);border:1px solid var(--medium-gray);border-radius:var(--radius);font-size:14px;font-family:var(--font-family);color:var(--text-color);background:var(--light-gray);transition:var(--transition);flex:1}.notepad-input:focus{border-color:var(--primary-color);background:var(--white);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.notepad-input::placeholder{color:var(--muted-color);font-style:italic}.notepad-add-btn{padding:10px var(--spacing-md);background:var(--primary-color);color:var(--white);border-radius:var(--radius);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;min-width:42px;display:flex}.notepad-add-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.notepad-add-btn:disabled{background:var(--muted-color);cursor:not-allowed;opacity:.7;transform:none}.notepad-items{max-height:300px;padding-right:4px;overflow-y:auto}.notepad-items::-webkit-scrollbar{width:5px}.notepad-items::-webkit-scrollbar-track{background:var(--light-gray);border-radius:3px}.notepad-items::-webkit-scrollbar-thumb{background:var(--medium-gray);border-radius:3px}.notepad-items::-webkit-scrollbar-thumb:hover{background:var(--light-dark)}.notepad-item{padding:10px var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--white);border-radius:var(--radius);border-left:3px solid var(--medium-gray);box-shadow:var(--shadow);transition:var(--transition);justify-content:space-between;align-items:center;display:flex}.notepad-item:hover{box-shadow:var(--shadow-strong);border-left-color:var(--primary-color);transform:translateY(-1px)}.notepad-item.completed{background:var(--light-gray);border-left-color:var(--success-color);opacity:.8}.notepad-item.completed .notepad-text{color:var(--muted-color);text-decoration:line-through}.notepad-item-content{align-items:center;gap:var(--spacing-md);flex:1;min-width:0;display:flex}.notepad-checkbox{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.notepad-checkbox input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.notepad-checkmark{background-color:var(--white);border:2px solid var(--medium-gray);width:18px;height:18px;transition:var(--transition);border-radius:4px;position:relative}.notepad-checkbox:hover .notepad-checkmark{border-color:var(--primary-color)}.notepad-checkbox input:checked~.notepad-checkmark{background-color:var(--success-color);border-color:var(--success-color)}.notepad-checkmark:after{content:"";display:none;position:absolute}.notepad-checkbox input:checked~.notepad-checkmark:after{display:block}.notepad-checkbox .notepad-checkmark:after{border:solid var(--white);border-width:0 2px 2px 0;width:5px;height:9px;top:1px;left:5px;transform:rotate(45deg)}.notepad-item-text{flex:1;min-width:0}.notepad-text{color:var(--text-color);word-wrap:break-word;cursor:pointer;padding:2px 0;font-size:14px;line-height:1.5;display:block}.notepad-text:hover{color:var(--primary-color)}.notepad-edit-input{width:100%;padding:6px var(--spacing-sm);border:2px solid var(--primary-color);border-radius:var(--radius);font-size:14px;font-family:var(--font-family);color:var(--text-color);background:var(--white);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.notepad-item-actions{gap:var(--spacing-xs);opacity:0;margin-left:var(--spacing-sm);transition:opacity .2s;display:flex}.notepad-item:hover .notepad-item-actions{opacity:1}.notepad-action-btn{cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px 7px;display:flex}.notepad-action-btn.edit{color:var(--primary-color)}.notepad-action-btn.edit:hover{background:rgba(var(--primary-rgb), .1)}.notepad-action-btn.delete{color:var(--danger-color)}.notepad-action-btn.delete:hover{background:rgba(var(--danger-rgb), .1)}.notepad-action-btn.save{color:var(--success-color)}.notepad-action-btn.save:hover{background:rgba(var(--success-rgb), .1)}.notepad-action-btn.cancel{color:var(--muted-color)}.notepad-action-btn.cancel:hover{background:rgba(var(--dark-rgb), .08)}.notepad-loading{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-md);color:var(--muted-color);font-size:14px;display:flex}.notepad-empty{padding:var(--spacing-xl) var(--spacing-md);color:var(--muted-color);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.notepad-empty-icon{margin-bottom:var(--spacing-md);opacity:.5;font-size:40px}.notepad-empty-text{font-size:14px;font-style:italic}@media (width<=768px){.notepad-container{padding:var(--spacing-md)}.notepad-input-group{gap:var(--spacing-sm);flex-direction:column}.notepad-add-btn{justify-content:center;width:100%}.notepad-item{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.notepad-item-actions{opacity:1;justify-content:flex-end}.notepad-items{max-height:220px}}.patient-search-container{width:100%;margin:0;position:relative}.patient-search-input-wrapper{border:2px solid var(--border-color,#e0e0e0);background:#fff;border-radius:12px;align-items:center;padding:12px 16px;transition:all .2s;display:flex;position:relative;box-shadow:0 2px 4px #0000000d}.patient-search-input-wrapper:focus-within{border-color:var(--primary-color,#3498db);box-shadow:0 0 0 3px #3498db1a}.patient-search-container .patient-search-input{color:var(--text-color,#333);background:0 0;border:none;outline:none;flex:1;order:1;width:100%;min-width:0;padding:0 48px 0 0;font-size:16px}.patient-search-container .patient-search-input::placeholder{color:var(--text-muted,#999)}.patient-search-input-wrapper .search-icon{color:var(--text-muted,#999);pointer-events:none;flex-shrink:0;width:20px;height:20px;display:block;margin:0!important;position:absolute!important;top:50%!important;left:auto!important;right:16px!important;transform:translateY(-50%)!important}.patient-search-input-wrapper .search-loading{align-items:center;display:flex;margin:0!important;position:absolute!important;top:50%!important;left:auto!important;right:16px!important;transform:translateY(-50%)!important}.patient-search-container .spinner-small{border:2px solid var(--border-color,#e0e0e0);border-top-color:var(--primary-color,#3498db);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.patient-search-input-wrapper .clear-search-btn{cursor:pointer;color:var(--text-muted,#999);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;margin:0!important;position:absolute!important;top:50%!important;left:auto!important;right:16px!important;transform:translateY(-50%)!important}.patient-search-container .clear-search-btn:hover{color:var(--text-color,#333)}.patient-search-results{border:1px solid var(--border-color,#e0e0e0);z-index:1000;background:#fff;border-radius:12px;max-height:400px;animation:.2s slideDown;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.search-results-header{color:var(--text-muted,#666);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color,#f0f0f0);background:var(--light-gray,#f8f9fa);z-index:1;padding:8px 16px;font-size:12px;font-weight:600;position:sticky;top:0}.patient-search-result-item{cursor:pointer;border-bottom:1px solid var(--border-color,#f0f0f0);align-items:center;padding:12px 16px;transition:background-color .2s;display:flex}.patient-search-result-item:last-child{border-bottom:none}.patient-search-result-item:hover,.patient-search-result-item.selected{background-color:var(--hover-bg,#f5f5f5)}.patient-result-avatar{background:linear-gradient(135deg, var(--primary-color,#3498db), var(--secondary-color,#2ecc71));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-right:12px;font-size:16px;font-weight:600;display:flex}.patient-result-info{flex:1;min-width:0}.patient-result-name{color:var(--text-color,#333);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:15px;font-weight:600;overflow:hidden}.patient-result-details{color:var(--text-muted,#666);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.patient-search-no-results{text-align:center;color:var(--text-muted,#999);padding:24px 16px;font-size:14px}@media (width<=768px){.patient-search-input-wrapper{padding:10px 14px}.patient-search-input{font-size:14px}.patient-search-results{max-height:300px}.patient-search-result-item{padding:10px 14px}.patient-result-avatar{width:36px;height:36px;font-size:14px}.patient-result-name{font-size:14px}.patient-result-details{font-size:12px}}.admin-financial-dashboard{background:#f8fafc;max-width:1400px;min-height:100vh;margin:0 auto;padding:2rem}.dashboard-header{text-align:center;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px #0000001a}.dashboard-header h1{margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.dashboard-header p{opacity:.9;font-size:1.1rem}.financial-metrics{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.metric-card{background:#fff;border-left:4px solid;border-radius:16px;align-items:center;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px #0000001a}.metric-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.metric-card.primary{border-left-color:#3b82f6}.metric-card.secondary{border-left-color:#10b981}.metric-card.warning{border-left-color:#f59e0b}.metric-card.danger{border-left-color:#ef4444}.metric-icon{background:#f1f5f9;border-radius:16px;justify-content:center;align-items:center;width:70px;height:70px;font-size:2.5rem;display:flex}.metric-content h3{color:#1e293b;margin:0 0 .5rem;font-size:2rem;font-weight:700}.metric-content p{color:#64748b;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.metric-trend{align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;display:flex}.metric-trend.positive{color:#10b981}.metric-trend.negative{color:#ef4444}.metric-trend.neutral{color:#6b7280}.clinic-overview{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.overview-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.overview-card h3{color:#1e293b;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.overview-stats{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.stat-item{text-align:center;background:#f8fafc;border-radius:12px;padding:1rem}.stat-number{color:#3b82f6;margin-bottom:.25rem;font-size:2rem;font-weight:700;display:block}.stat-label{color:#64748b;font-size:.875rem;font-weight:500}.revenue-breakdown{flex-direction:column;gap:.75rem;display:flex}.revenue-item{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.revenue-item.total{color:#fff;background:#3b82f6;font-weight:600}.revenue-label{font-weight:500}.revenue-amount{font-weight:600}.payment-reminders{margin-bottom:2rem}.payment-reminders h2{color:#1e293b;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.reminders-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1rem;display:grid}.reminder-card{background:#fff;border-left:4px solid #f59e0b;border-radius:12px;padding:1.5rem;transition:transform .2s;box-shadow:0 2px 4px #0000001a}.reminder-card.overdue{background:#fef2f2;border-left-color:#ef4444}.reminder-card:hover{transform:translateY(-2px)}.reminder-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.reminder-header h4{color:#1e293b;margin:0;font-size:1.1rem;font-weight:600}.reminder-status{text-transform:uppercase;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.reminder-status.upcoming{color:#92400e;background:#fef3c7}.reminder-status.overdue{color:#991b1b;background:#fee2e2}.reminder-details p{color:#64748b;margin:.5rem 0;font-size:.9rem}.reminder-details strong{color:#1e293b}.reminder-actions{gap:.5rem;margin-top:1rem;display:flex}.recent-transactions{margin-bottom:2rem}.recent-transactions h2{color:#1e293b;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.transactions-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.transactions-table table{border-collapse:collapse;width:100%}.transactions-table th{text-align:left;color:#374151;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:1rem;font-weight:600}.transactions-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:1rem}.transactions-table tr:hover{background:#f9fafb}.transaction-type{text-transform:uppercase;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.transaction-type.subscription{color:#1e40af;background:#dbeafe}.transaction-type.setup_fee{color:#92400e;background:#fef3c7}.amount{color:#059669;font-weight:600}.status-badge{text-transform:uppercase;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.status-success{color:#166534;background:#dcfce7}.status-warning{color:#92400e;background:#fef3c7}.status-danger{color:#991b1b;background:#fee2e2}.quick-actions{margin-bottom:2rem}.quick-actions h2{color:#1e293b;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.action-card{cursor:pointer;text-align:left;background:#fff;border:none;border-radius:12px;align-items:center;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 4px #0000001a}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-icon{background:#f1f5f9;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.action-content h4{color:#1e293b;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.action-content p{color:#64748b;margin:0;font-size:.9rem}.btn{cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-outline{color:#3b82f6;background:0 0;border:2px solid #3b82f6}.btn-outline:hover{color:#fff;background:#3b82f6}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.loading-spinner{color:#64748b;justify-content:center;align-items:center;height:200px;font-size:1.2rem;display:flex}.error-message{text-align:center;background:#fff;border-radius:12px;max-width:500px;margin:2rem auto;padding:2rem;box-shadow:0 2px 4px #0000001a}.error-message h3{color:#dc2626;margin-bottom:1rem}.error-message p{color:#64748b;margin-bottom:1.5rem}@media (width<=768px){.admin-financial-dashboard{padding:1rem}.financial-metrics,.clinic-overview,.reminders-grid,.actions-grid{grid-template-columns:1fr}.transactions-table{overflow-x:auto}.transactions-table table{min-width:600px}.dashboard-header h1{font-size:2rem}}.user-profile-modal{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-strong);width:100%;max-width:600px;max-height:90vh;position:relative;overflow-y:auto}.user-profile-content{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:800px;padding:var(--spacing-lg);margin:0 auto}.profile-page{padding:var(--spacing-lg);max-width:1000px;margin:0 auto}.profile-page-header{margin-bottom:var(--spacing-lg)}.user-profile-body{padding:0}.user-profile-header{padding:var(--spacing-lg) 0;border-bottom:1px solid var(--medium-gray);margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.user-profile-header h2{color:var(--text-color);margin:0;font-size:24px;font-weight:600}.close-button{color:var(--text-light);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.close-button:hover{background-color:var(--light-gray);color:var(--text-color)}.user-profile-content{padding:var(--spacing-lg)}.profile-avatar-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--medium-gray);align-items:center;display:flex}.profile-avatar{margin-right:var(--spacing-lg);position:relative}.profile-avatar .avatar-placeholder.large{background-color:var(--primary-color);width:80px;height:80px;color:var(--white);border:3px solid var(--primary-color);border-radius:50%;justify-content:center;align-items:center;font-size:32px;font-weight:600;display:flex}.avatar-edit-button{background:var(--primary-color);color:var(--white);cursor:pointer;width:28px;height:28px;transition:var(--transition);box-shadow:var(--shadow);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;right:0}.avatar-edit-button:hover{background:var(--primary-dark);transform:scale(1.1)}.profile-info h3{margin:0 0 var(--spacing-xs) 0;color:var(--text-color);font-size:20px;font-weight:600}.profile-info .user-role{margin:0 0 var(--spacing-xs) 0;color:var(--primary-color);font-size:14px;font-weight:500}.profile-info .user-email,.profile-info .user-phone{color:var(--text-light);margin:0;font-size:14px}.profile-info .user-clinic{color:var(--primary-color);margin:0;font-size:14px;font-weight:500}.profile-form{margin-bottom:var(--spacing-xl)}.form-section{margin-bottom:var(--spacing-lg)}.form-section h4{margin:0 0 var(--spacing-md) 0;color:var(--text-color);border-bottom:1px solid var(--medium-gray);padding-bottom:var(--spacing-sm);font-size:16px;font-weight:600}.form-group{margin-bottom:var(--spacing-md)}.form-group label{color:var(--text-color);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;display:block}.form-input{width:100%;padding:var(--spacing-md);border:2px solid var(--medium-gray);border-radius:var(--radius);transition:var(--transition);background:var(--white);font-size:16px}.form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3498db1a}.form-input.error{border-color:var(--danger-color);box-shadow:0 0 0 3px #e74c3c1a}.error-message{color:var(--danger-color);margin-top:var(--spacing-xs);font-size:12px;display:block}.info-display{padding:var(--spacing-md);background:var(--light-gray);border-radius:var(--radius);color:var(--text-color);align-items:center;min-height:20px;font-size:16px;display:flex}.clinic-name-display{background:var(--primary-color);color:var(--white);font-weight:500}.field-note{margin-top:var(--spacing-xs);color:var(--text-light);font-size:12px;font-style:italic;display:block}.info-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.info-item{flex-direction:column;display:flex}.info-item label{color:var(--text-color);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600}.profile-actions{justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);display:flex}.edit-actions{gap:var(--spacing-md);display:flex}.btn{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);transition:var(--transition);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-sm);border:none;font-size:16px;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:var(--shadow-strong);transform:translateY(-1px)}.btn-secondary{background-color:var(--light-gray);color:var(--text-color);border:1px solid var(--medium-gray)}.btn-secondary:hover:not(:disabled){background-color:var(--medium-gray)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{animation:1s linear infinite spin}@media (width<=768px){.user-profile-modal{max-width:100%;margin:var(--spacing-sm)}.user-profile-header,.user-profile-content{padding:var(--spacing-md)}.profile-avatar-section{text-align:center;gap:var(--spacing-md);flex-direction:column}.profile-avatar{margin-right:0}.info-grid{grid-template-columns:1fr}.profile-actions,.edit-actions{flex-direction:column}.btn{width:100%}}@media (width<=480px){.user-profile-header h2{font-size:20px}.profile-avatar img{width:60px;height:60px}.profile-info h3{font-size:18px}}.modal-overlay{z-index:1000;padding:var(--spacing-sm);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{width:fit-content;max-width:95vw;max-height:90vh;margin:auto}.modal-content{border-radius:var(--radius);width:fit-content;min-width:300px;max-height:90vh;box-shadow:var(--shadow-strong);background:var(--white);padding:var(--spacing-lg);overflow-y:auto}@media (width<=768px){.modal-content{width:100%;min-width:auto;max-height:95vh;padding:var(--spacing-md)}.modal-container{width:100%;max-width:95vw;margin:10px}}@media (width<=480px){.modal-content{width:100%;min-width:auto;max-height:98vh;padding:var(--spacing-sm)}.modal-container{width:100%;max-width:98vw;margin:5px}}@media (prefers-color-scheme:dark){.user-profile-modal{background:var(--white)!important;color:var(--text-color)!important}.user-profile-header{background:var(--white)!important;border-bottom-color:var(--medium-gray)!important}.form-input{background:var(--white)!important;border-color:var(--medium-gray)!important;color:var(--text-color)!important}.form-input:focus{border-color:var(--primary-color)!important}.info-display{background:var(--light-gray)!important;color:var(--text-color)!important}.btn-secondary{background:var(--light-gray)!important;border-color:var(--medium-gray)!important;color:var(--text-color)!important}.btn-secondary:hover:not(:disabled){background:var(--medium-gray)!important}.form-section h4{border-bottom-color:var(--primary-color)!important}.profile-avatar-section,.profile-actions{border-color:var(--medium-gray)!important}}@media (prefers-reduced-motion:reduce){.btn,.form-input,.avatar-edit-button{transition:none}.spinner{animation:none}}.password-reset-form{margin-top:var(--spacing-md);padding:var(--spacing-lg);background:var(--light-gray);border-radius:var(--radius);border:1px solid var(--medium-gray)}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container .form-input{padding-right:45px}.password-toggle-btn{color:var(--text-light);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text-color);background-color:var(--light-gray)}.password-toggle-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.password-strength-container{margin-top:var(--spacing-sm)}.password-strength-bar{background-color:var(--medium-gray);width:100%;height:4px;margin-bottom:var(--spacing-xs);border-radius:2px;overflow:hidden}.password-strength-fill{border-radius:2px;height:100%;transition:all .3s}.password-strength-label{text-align:right;font-size:12px;font-weight:600}.password-requirements{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--white);border-radius:var(--radius);border:1px solid var(--medium-gray)}.password-requirements h5{margin:0 0 var(--spacing-sm) 0;color:var(--text-color);font-size:14px;font-weight:600}.password-requirements ul{margin:0;padding:0;list-style:none}.password-requirements li{margin-bottom:var(--spacing-xs);align-items:center;font-size:13px;display:flex}.password-requirements li:last-child{margin-bottom:0}.requirement-icon{width:16px;height:16px;margin-right:var(--spacing-sm);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.requirement-met,.requirement-met .requirement-icon{color:var(--success-color,#27ae60)}.requirement-unmet{color:var(--text-light)}.requirement-unmet .requirement-icon{color:var(--danger-color,#e74c3c)}.password-reset-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);justify-content:flex-end;display:flex}.password-reset-actions .btn{min-width:120px}.btn:focus,.form-input:focus,.close-button:focus,.avatar-edit-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.booking-widget{background:#fff;border-radius:12px;max-width:500px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;box-shadow:0 4px 20px #0000001a}.booking-widget-header{color:#fff;text-align:center;background:#3b82f6;padding:24px}.booking-widget-header h2{margin:0;font-size:24px;font-weight:600}.booking-widget-header p{opacity:.9;margin:8px 0 0;font-size:14px}.booking-widget-content{background-color:#f5f5f5;padding:24px}.booking-step{margin-bottom:24px}.booking-step h3{color:#333;margin:0 0 16px;font-size:18px;font-weight:600}.booking-form-group{margin-bottom:16px}.booking-form-group label{color:#555;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.booking-form-group input,.booking-form-group select,.booking-form-group textarea{box-sizing:border-box;border:2px solid #e1e5e9;border-radius:8px;width:100%;padding:12px;font-size:14px;transition:border-color .2s}.booking-form-group input:focus,.booking-form-group select:focus,.booking-form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #667eea1a}.booking-time-slots{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin-bottom:16px;display:grid}.booking-time-slot{cursor:pointer;text-align:center;background:#fff;border:2px solid #e1e5e9;border-radius:8px;padding:12px 8px;font-size:13px;font-weight:500;transition:all .2s}.booking-time-slot:hover{background:#f8f9ff;border-color:#3b82f6}.booking-time-slot.selected{color:#fff;background:#3b82f6;border-color:#3b82f6}.booking-progress{justify-content:space-between;margin-bottom:24px;display:flex;position:relative}.booking-progress:before{content:"";z-index:1;background:#000;height:2px;position:absolute;top:50%;left:0;right:0}.booking-progress-step{color:#000;z-index:2;background:#fff;border:2px solid #e1e5e9;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;transition:all .3s;display:flex;position:relative}.booking-progress-step.active,.booking-progress-step.completed{color:#000;background:#3b82f6;border-color:#3b82f6}.booking-progress-labels{color:#000;justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.booking-actions{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.booking-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.booking-btn-primary{color:#fff;background:#3b82f6}.booking-btn-primary:hover{background:#5a6fd8;transform:translateY(-1px)}.booking-btn-secondary{color:#666;background:#fff;border:2px solid #e1e5e9}.booking-btn-secondary:hover{background:#f8f9fa;border-color:#d1d5db}.booking-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking-alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.booking-alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.booking-alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.booking-loading{color:#666;justify-content:center;align-items:center;padding:40px;display:flex}.booking-spinner{border:2px solid #e1e5e9;border-top-color:#3b82f6;border-radius:50%;width:24px;height:24px;margin-right:12px;animation:1s linear infinite spin}.booking-success{text-align:center;padding:40px 24px}.booking-success-icon{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;font-size:32px;display:flex}.booking-success h3{color:#3b82f6;margin:0 0 16px;font-size:20px}.booking-success-message{color:#1e40af;background:#dbeafe;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:500}.booking-appointment-details{text-align:left;background:#f8f9fa;border-radius:8px;margin:16px 0;padding:16px}.booking-appointment-details p{color:#000;margin:4px 0;font-size:14px}.booking-appointment-details strong{color:#333}@media (width<=480px){.booking-widget{border-radius:0;min-height:100vh;margin:0}.booking-widget-header,.booking-widget-content{padding:20px}.booking-time-slots{grid-template-columns:repeat(3,1fr)}.booking-actions{flex-direction:column}.booking-btn{width:100%}}.booking-widget.iframe-mode{box-shadow:none;border:none;border-radius:0}.booking-widget.iframe-mode .booking-widget-header{border-radius:0}@media (prefers-color-scheme:dark){.booking-widget{color:#f9fafb;background:#1f2937}.booking-widget-header{background:#3b82f6}.booking-form-group input,.booking-form-group select,.booking-form-group textarea{color:#000;border-color:#4b5563}.booking-form-group input:focus,.booking-form-group select:focus,.booking-form-group textarea:focus{border-color:#6366f1}.booking-time-slot{color:#f9fafb;background:#374151;border-color:#4b5563}.booking-time-slot:hover{background:#4b5563}}
