*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::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: rgb(59 130 246 / .5);--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-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-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{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.static{position:static}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-8{margin-top:2rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.aspect-video{aspect-ratio:16 / 9}.h-6{height:1.5rem}.h-full{height:100%}.w-6{width:1.5rem}.w-\[95\%\]{width:95%}.w-full{width:100%}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.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)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / 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-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-20{padding-bottom:5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-none{line-height:1}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.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-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 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}.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;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-4{padding-left:1rem;padding-right:1rem}}@media (min-width: 768px){.md\:w-1\/2{width:50%}.md\:max-w-lg{max-width:32rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.lg\:max-w-xl{max-width:36rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:max-w-2xl{max-width:42rem}}.header{background-color:var(--header-bg);box-shadow:0 2px 4px #0000001a;top:0;left:0;right:0}.header-container{max-width:1200px;margin:0 auto;padding:0 20px;height:64px;display:flex;justify-content:space-between;align-items:center}.logo a{color:var(--text-white);font-size:1.5rem;font-weight:600;text-decoration:none;transition:color .3s ease}.logo a:hover{opacity:.9}.header-right{display:flex;align-items:center;gap:20px}.header-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:24px}.header-nav a{color:var(--text-white);text-decoration:none;font-weight:500;padding:8px 12px;border-radius:6px;transition:all .3s ease;opacity:.8}.header-nav a:hover{opacity:1;background-color:#ffffff1a}.user-section{position:relative}.user-avatar{width:40px;height:40px;border-radius:50%;background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--text-white)}.user-avatar:hover{background-color:#fff3}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:8px;background-color:var(--header-bg);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:240px;padding:8px 0;animation:dropdownFadeIn .2s ease;border:1px solid rgba(255,255,255,.1)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-info{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.user-name{font-weight:600;color:var(--text-white);margin-bottom:4px}.user-role{font-size:.85rem;color:#ffffffb3}.dropdown-divider{height:1px;background-color:#ffffff1a;margin:8px 0}.dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 16px;color:var(--text-white);text-decoration:none;transition:all .2s ease;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:.95rem;opacity:.8}.dropdown-item:hover{background-color:#ffffff1a;opacity:1}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{background-color:#ef44441a}.mobile-menu-button{display:none;font-size:1.5rem;color:var(--text-white);cursor:pointer;padding:8px}@media (max-width: 768px){.header-nav{display:none;position:absolute;top:64px;left:0;right:0;background-color:var(--header-bg);padding:20px;box-shadow:0 4px 6px #0000001a}.header-nav.open{display:block}.header-nav ul{flex-direction:column;gap:16px}.mobile-menu-button{display:block}.dropdown-menu{right:-20px}}.dashboard-container{max-width:1200px;margin:0 auto;padding:20px}.dashboard-container h1{margin-bottom:20px;color:#333;border-bottom:2px solid #eee;padding-bottom:10px}.welcome-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background-color:#f9f9f9;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000000d}.welcome-section h2{margin:0;font-size:1.5rem;color:#333}.profile-link{background-color:#76bacb;color:#fff;padding:8px 15px;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color .3s}.profile-link:hover{background-color:#5a9eaf}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center;transition:transform .3s,box-shadow .3s}.stat-card:hover{transform:translateY(-5px);box-shadow:0 4px 12px #00000026}.stat-card h3{margin-top:0;font-size:1rem;color:#666;margin-bottom:10px}.stat-value{font-size:2rem;font-weight:700;color:#333;margin:0}.appointments-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;margin-bottom:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{margin:0;font-size:1.3rem;color:#333}.view-all-link{color:#76bacb;text-decoration:none;font-weight:500;transition:color .3s}.view-all-link:hover{color:#5a9eaf;text-decoration:underline}.appointments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.appointment-card{background-color:#f9f9f9;border-radius:8px;padding:15px;box-shadow:0 1px 3px #0000001a;transition:transform .3s,box-shadow .3s}.appointment-card:hover{transform:translateY(-3px);box-shadow:0 3px 6px #00000026}.appointment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.appointment-date{font-weight:600;color:#333}.appointment-status{padding:4px 8px;border-radius:4px;font-size:12px;color:#fff;font-weight:500}.appointment-time{font-size:1.1rem;font-weight:600;margin-bottom:10px;color:#444}.appointment-customer,.appointment-person{margin-bottom:5px;font-size:.9rem;color:#666}.error-message{color:#e74c3c;background-color:#fadbd8;padding:10px;border-radius:4px;margin-bottom:15px}.quick-links{display:flex;gap:15px;flex-wrap:wrap}.quick-link{background-color:#76bacb;color:#fff;padding:10px 20px;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color .3s;flex:1;text-align:center;min-width:200px}.quick-link:hover{background-color:#5a9eaf}@media (max-width: 768px){.stats-section{grid-template-columns:repeat(2,1fr)}.appointments-list{grid-template-columns:1fr}.quick-links{flex-direction:column}}@media (max-width: 480px){.stats-section{grid-template-columns:1fr}.welcome-section{flex-direction:column;align-items:flex-start;gap:10px}}.data-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;overflow:hidden}.data-table-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:15px}.data-table-header h2{margin:0;color:var(--primary-color);font-size:1.5rem}.data-table-search{display:flex;flex-direction:column;gap:10px}.search-input-container{position:relative;max-width:400px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#999}.search-input{width:100%;padding:10px 10px 10px 35px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:var(--font-family)}.search-columns{display:flex;flex-direction:column;gap:8px}.search-columns span{font-size:14px;font-weight:500;color:#666}.search-column-options{display:flex;flex-wrap:wrap;gap:10px}.search-column-option{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.search-column-option input{cursor:pointer}.data-table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background-color:#f8f9fa}.data-table th{padding:12px 15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid var(--border-color);position:sticky;top:0;background-color:#f8f9fa;z-index:10}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{background-color:#eaeaea}.th-content{display:flex;align-items:center;justify-content:space-between}.sort-icon{margin-left:5px;display:inline-flex;align-items:center;color:#999}.data-table td{padding:12px 15px;border-bottom:1px solid var(--border-color)}.data-table tbody tr:hover{background-color:#f5f5f5}.data-table tr.clickable{cursor:pointer}.loading-cell,.empty-cell{text-align:center;padding:30px!important;color:#666}.loading-cell{display:flex;align-items:center;justify-content:center;gap:10px}.loading-spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.data-table-pagination{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:10px}.pagination-info{font-size:13px;color:#666}.pagination-controls{display:flex;gap:5px}.pagination-button{background-color:#fff;border:1px solid var(--border-color);color:var(--text-color);padding:6px 10px;font-size:13px;cursor:pointer;border-radius:4px;transition:all .2s;min-width:35px}.pagination-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#ccc}.pagination-button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}@media (min-width: 768px){.data-table-search{flex-direction:row;align-items:flex-start;justify-content:space-between}.search-input-container{flex:1;max-width:300px}.search-columns{flex:1;max-width:400px}}@media (max-width: 767px){.data-table-pagination{flex-direction:column;align-items:flex-start}.pagination-controls{width:100%;justify-content:center}}.modal{background:#fff;padding:20px;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:550px;max-height:90vh;overflow-y:auto;animation:modal-appear .3s ease-out}@keyframes modal-appear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.3rem;color:var(--primary-color);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.close-button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#777;display:flex;align-items:center;justify-content:center;padding:5px;width:30px;height:30px;min-width:30px;min-height:30px;border-radius:50%;transition:background-color .2s;flex-shrink:0}.close-button:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:14px 16px}.form-group{margin-bottom:12px;position:relative}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.1)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.view-mode-field{background-color:#f8f9fa!important;border:1px solid #e9ecef!important;color:#212529!important;font-weight:500!important;padding:8px 10px!important}.input-info{font-size:11px;color:#666;margin-top:3px;font-style:italic}.form-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.form-row .form-group{flex:1;min-width:120px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}.cancel-button,.close-button-text{padding:8px 14px;background-color:#f0f0f0;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background-color .2s}.save-button{padding:8px 14px;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background-color .2s}.cancel-button:hover,.close-button-text:hover{background-color:#e0e0e0}.save-button:hover{background-color:var(--secondary-color)}.save-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.error{color:#dc3545;font-size:11px;margin-top:3px;display:block}@media (max-width: 768px){.modal-container{width:95%;max-height:95vh}.form-row{flex-direction:column;gap:0}.modal-header h2{font-size:1.2rem}.close-button{width:25px;height:25px;min-width:25px;min-height:25px;font-size:1rem}}.customer-input-container,.customer-input,.search-customer-button,.customer-search-container,.selected-customer-display{display:none}.customer-selection-area,.user-selection-area{width:100%;margin-bottom:10px;display:flex;flex-direction:column;align-items:center}.selected-customer-info,.selected-user-info{padding:6px}.customer-name-display,.user-name-display{font-size:14px;color:#2c3e50;font-weight:500}.change-customer-button,.change-user-button{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:8px 15px;margin-left:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background-color .2s}.change-customer-button:hover,.change-user-button:hover{background-color:#2980b9}.select-customer-button,.select-user-button{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:8px 15px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background-color .2s;margin-top:10px;width:100%;max-width:200px}.select-customer-button:hover,.select-user-button:hover{background-color:#2980b9}.customer-details-container,.user-details-container{display:flex;flex-direction:column;width:100%}.customer-details-container p,.user-details-container p{margin:3px 0;font-size:13px;color:#555}.customer-contact-info,.user-contact-info{display:flex;flex-direction:column;flex:1}.customer-info,.user-info{align-items:center;font-size:12px}.customer-button-container,.user-button-container{display:flex;justify-content:center;width:100%;margin-top:10px}.role-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;text-transform:uppercase;margin-top:3px}.detail-button-container{margin-bottom:10px;margin-top:0}.detail-button{display:flex;align-items:center;gap:6px;padding:8px 14px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background-color .2s}.detail-button:hover{background-color:#45a049}.detail-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.selected-customer-inline{display:inline-flex;align-items:center;margin-left:8px;font-weight:400}.selected-customer-inline strong{margin-right:8px;color:var(--primary-color)}.customer-phone-inline{display:inline-flex;align-items:center;font-size:.85rem;color:#666}.selected-user-inline{display:inline-flex;align-items:center;margin-left:8px;font-weight:400}.selected-user-inline strong{margin-right:8px;color:var(--primary-color)}.role-badge-inline{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.7rem;background-color:#e3e3e2;color:#333;margin-left:4px;vertical-align:middle}.role-badge-inline.admin{background-color:gold;color:#333}.role-badge-inline.user{background-color:#76bacb;color:#fff}.customer-header,.user-header{display:inline-flex;align-items:center;vertical-align:middle}.icon-button{background:none;border:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0;margin-left:5px}.edit-button{background-color:#f0f0f0;color:#555}.edit-button:hover{background-color:#e0e0e0;color:#333}.mini-select-button{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;display:flex;align-items:center;gap:5px;cursor:pointer;transition:background-color .2s;margin-left:5px}.mini-select-button:hover{background-color:#2980b9}.mini-select-button:disabled{background-color:#ccc;cursor:not-allowed}.label-container{display:flex;align-items:center;margin-bottom:5px}.label-container label{margin-right:5px;margin-bottom:0;font-weight:500;font-size:.9rem}.no-selection{color:#888;font-style:italic;margin-top:3px;padding:4px;background-color:#f8f8f8;border-radius:4px;font-size:.85rem}.selected-user-info{padding:6px 8px;background-color:#f5f5f5;border-radius:4px;border-left:3px solid #4caf50;margin-top:4px;display:flex;align-items:center;justify-content:space-between}.selected-user-info strong{margin-right:10px;color:var(--primary-color)}.customer-contact-details{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px;font-size:.8rem}.customer-info{display:inline-flex;align-items:center;color:#555;padding-right:4px}.form-group:last-of-type{margin-bottom:8px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.customer-search-modal{background-color:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.header-buttons{display:flex;align-items:center;gap:10px}.add-customer-button{display:flex;align-items:center;gap:5px;padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-customer-button:hover{background-color:#45a049}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#777;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#333}.modal-body{padding:20px}.form-row{display:flex;gap:15px;margin-bottom:15px}.form-group{flex:1;margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#555}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.loading-spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.error-message{padding:10px 15px;background-color:#fff8f8;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:15px}.search-results h3{margin-top:0;margin-bottom:10px;font-size:1.1rem;color:#333}.customer-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto;border:1px solid #eee;border-radius:4px}.customer-item{padding:12px 15px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .2s}.customer-item:last-child{border-bottom:none}.customer-item:hover{background-color:#f5f8fa}.customer-name{font-weight:500;color:#2c3e50;display:flex;align-items:center}.customer-phone,.customer-address{font-size:14px;color:#7f8c8d;margin-top:4px;display:flex;align-items:center}.icon{margin-right:8px;font-size:14px}.no-results{text-align:center;padding:20px;color:#666}.create-customer-button{display:flex;align-items:center;justify-content:center;gap:8px;margin:15px auto 0;padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.create-customer-button:hover{background-color:#45a049}.create-customer-form{margin-top:20px;padding:15px;background-color:#f9f9f9;border-radius:4px}.create-customer-form h3{margin-top:0;margin-bottom:10px;font-size:1.1rem;color:#333}.customer-preview{margin:15px 0;padding:10px;background-color:#fff;border:1px solid #eee;border-radius:4px}.customer-preview div{margin-bottom:5px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.cancel-button{padding:8px 16px;background-color:#e0e0e0;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.cancel-button:hover{background-color:#d0d0d0}.confirm-button{padding:8px 16px;background-color:#2ecc71;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.confirm-button:hover{background-color:#27ae60}.confirm-button:disabled{background-color:#95a5a6;cursor:not-allowed}.modal-footer{padding:15px 20px;border-top:1px solid #eee;text-align:right}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.success-modal{background-color:#fff;border-radius:8px;width:90%;max-width:400px;box-shadow:0 4px 20px #0003;animation:modal-appear .3s ease-out}.success-modal-header{background-color:#4caf50;color:#fff;padding:15px 20px;border-top-left-radius:8px;border-top-right-radius:8px}.success-modal-header h3{margin:0;font-size:1.3rem}.success-modal-body{padding:20px;text-align:center}.success-modal-body p{margin:10px 0;font-size:16px;color:#333}.success-customer-info,.success-customer-name,.success-customer-phone,.success-customer-address,.success-question{display:none}.success-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid #eee}.success-modal-footer .cancel-button{padding:8px 16px;background-color:#f0f0f0;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:14px}.success-modal-footer .confirm-button{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.success-modal-footer .cancel-button:hover{background-color:#e0e0e0}.success-modal-footer .confirm-button:hover{background-color:#45a049}.test-button{margin-left:10px;padding:8px 16px;background-color:#ff9800;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.test-button:hover{background-color:#e68a00}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.user-search-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#e0e0e0;color:#333}.modal-body{padding:20px;overflow-y:auto;flex:1}.search-form{margin-bottom:20px}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-group{flex:1;margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#555}.form-group input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin-bottom:10px}.error-message{color:#d9534f;padding:10px;background-color:#f8d7da;border-radius:4px;margin-bottom:16px}.search-results{margin-top:20px}.search-results h3{margin-top:0;margin-bottom:12px;color:#333;font-size:1.2rem}.user-list{list-style:none;padding:0;margin:0}.user-item{padding:16px;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:12px;cursor:pointer;transition:background-color .2s}.user-item:hover{background-color:#f5f5f5}.user-name{font-weight:600;font-size:1.1rem;margin-bottom:8px;display:flex;align-items:center}.user-username,.user-phone,.user-email,.user-address{margin-bottom:6px;color:#555;display:flex;align-items:center}.icon{margin-right:8px;color:#666}.user-role{margin-top:8px}.role-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase}.role-badge.admin{background-color:#dc3545;color:#fff}.role-badge.user{background-color:#28a745;color:#fff}.no-results{padding:20px;text-align:center;color:#666;background-color:#f8f9fa;border-radius:6px}.modal-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;background-color:#f8f9fa}.cancel-button{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.cancel-button:hover{background-color:#5a6268}.user-item.unavailable{opacity:.7;background-color:#f5f5f5;cursor:not-allowed}.unavailable-message{color:#dc3545;font-size:.9em;margin-top:5px;font-style:italic}.appointment-detail-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.appointment-detail-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;width:90%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.appointment-detail-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.appointment-detail-modal-header h2{margin:0;font-size:1.5rem;color:#343a40}.appointment-detail-modal-content{padding:20px;overflow-y:auto;max-height:calc(90vh - 70px)}.close-button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#6c757d;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#e9ecef;color:#343a40}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#495057}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.image-item{position:relative;width:100%;padding-bottom:100%;background-color:#f5f5f5;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .2s ease}.image-item:hover{transform:scale(1.03)}.image-item .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:4px}.image-item .remove-image{position:absolute;top:5px;right:5px;background-color:#dc3545cc;color:#fff;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;z-index:2;padding:0}.image-item .view-image{position:absolute;top:5px;right:32px;background-color:#17a2b8cc;color:#fff;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;z-index:2;padding:0}.image-item .remove-image:hover{background-color:#dc3545}.image-item .view-image:hover{background-color:#17a2b8}.upload-button{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px;padding:8px 12px;background-color:#f0f0f0;border:1px dashed #ccc;border-radius:4px;cursor:pointer;transition:all .2s}.upload-button:hover{background-color:#e5e5e5;border-color:#aaa}.upload-button svg{color:#555}.file-input{display:none}.no-images{margin-top:10px;padding:15px;background-color:#f5f5f5;border-radius:4px;text-align:center;color:#666;font-style:italic}.upload-button:disabled{background-color:#f0f0f0;border-color:#ddd;color:#999;cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.cancel-button{padding:8px 16px;background-color:#f8f9fa;border:1px solid #ced4da;border-radius:4px;font-size:1rem;color:#495057;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:#e9ecef;border-color:#adb5bd}.save-button{padding:8px 16px;background-color:#007bff;border:1px solid #007bff;border-radius:4px;font-size:1rem;color:#fff;cursor:pointer;transition:all .2s}.save-button:hover{background-color:#0069d9;border-color:#0062cc}.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:1.2rem;color:#6c757d}.image-view-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease}.image-view-modal{position:relative;max-width:90%;max-height:90%;background-color:transparent;animation:zoomIn .3s ease}.full-size-image{max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;border-radius:4px;box-shadow:0 5px 15px #00000080}.close-image-button{position:absolute;top:-40px;right:0;background-color:#ffffff4d;color:#fff;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;z-index:2;padding:0}.close-image-button:hover{background-color:#ffffff80}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.confirmation-modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;width:90%;max-width:450px;animation:modal-slide-in .3s ease-out;overflow:hidden}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.confirmation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.confirmation-modal-header.warning{background-color:#fff3cd;color:#856404;border-bottom:1px solid #ffeeba}.confirmation-modal-header.danger{background-color:#f8d7da;color:#721c24;border-bottom:1px solid #f5c6cb}.confirmation-modal-header.info{background-color:#d1ecf1;color:#0c5460;border-bottom:1px solid #bee5eb}.confirmation-modal-header h2{margin:0;font-size:1.3rem;display:flex;align-items:center;gap:10px}.icon-warning,.icon-danger{font-size:1.2rem}.confirmation-modal-body{padding:20px}.confirmation-message{margin:0 0 20px;font-size:16px;line-height:1.5;color:#333}.confirmation-actions{display:flex;justify-content:flex-end;gap:12px}.cancel-button{padding:10px 16px;background-color:#f0f0f0;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.confirm-button{padding:10px 16px;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.confirm-button.warning{background-color:#ffc107}.confirm-button.danger{background-color:#dc3545}.confirm-button.info{background-color:#17a2b8}.cancel-button:hover{background-color:#e0e0e0}.confirm-button.warning:hover{background-color:#e0a800}.confirm-button.danger:hover{background-color:#c82333}.confirm-button.info:hover{background-color:#138496}@media (max-width: 768px){.confirmation-modal-container{width:95%}.confirmation-modal-header h2{font-size:1.1rem}.confirmation-message{font-size:14px}}.appointment-change-modal{background:#fff;border-radius:8px;padding:20px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.modal-header h2{margin:0;color:var(--primary-color);font-size:1.3rem}.current-appointment-info{background-color:#f8f9fa;padding:12px;border-radius:6px;margin-bottom:15px;font-size:13px}.current-appointment-info h3{margin-top:0;margin-bottom:8px;color:var(--primary-color);font-size:14px}.current-appointment-info p{margin:5px 0;font-size:13px}.mini-calendar-section{border:1px solid #eee;border-radius:6px;padding:10px;max-width:280px;margin:0 auto 15px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-header button{background:none;border:none;font-size:16px;color:var(--primary-color);cursor:pointer;padding:3px 8px}.calendar-header button:hover{background-color:rgba(var(--primary-color-rgb),.1);border-radius:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekday{text-align:center;font-weight:500;font-size:11px;color:#666;padding:3px}.calendar-day.today{border:2px solid #007bff;border-radius:50%}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;border-radius:4px;transition:all .2s;padding:4px;min-width:25px;min-height:25px}.calendar-day:hover:not(.empty){background-color:rgba(var(--primary-color-rgb),.1)}.calendar-day.selected{background-color:var(--primary-color);color:#fff}.calendar-day.empty{background:none;cursor:default}.available-slots{margin-top:15px}.available-slots h3{color:var(--primary-color);font-size:14px;margin-bottom:8px}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:180px;overflow-y:auto;padding:8px;border:1px solid #eee;border-radius:6px}.time-slot-button{padding:6px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s;font-size:13px}.time-slot-button.available:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.time-slot-button.selected{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);font-weight:500;transform:scale(1.05);box-shadow:0 2px 5px #0000001a}.time-slot-button.unavailable{background-color:#e0e0e0;color:#888;cursor:not-allowed;border-color:#ccc;opacity:.8}.time-slot-button.unavailable:hover{background-color:#e0e0e0;color:#888;border-color:#ccc}.employee-filter{margin-top:20px;padding:15px;border:1px solid #eee;border-radius:6px}.employee-filter h3{color:var(--primary-color);font-size:16px;margin-top:0;margin-bottom:10px}.employees-list{display:flex;flex-wrap:wrap;gap:10px}.employee-button{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s;font-size:14px}.employee-button:hover{background-color:rgba(var(--primary-color-rgb),.1)}.employee-button.selected{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid #eee}.cancel-button,.save-button{padding:6px 14px;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px}.cancel-button{background-color:#f8f9fa;border:1px solid #ddd}.cancel-button:hover{background-color:#e9ecef}.save-button{background-color:var(--primary-color);color:#fff;border:none}.save-button:hover:not(:disabled){background-color:var(--secondary-color)}.save-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}@media (max-width: 576px){.appointment-change-modal{width:95%;padding:15px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.calendar-day{font-size:12px}.employee-button{padding:6px 12px;font-size:13px}}.appointment-calendar-page{padding:20px;max-width:1200px;margin:0 auto}h1{margin-bottom:20px;color:var(--primary-color)}.calendar-controls{display:flex;justify-content:space-between;margin-bottom:20px;align-items:center;flex-wrap:wrap;gap:15px}.date-picker{display:flex;align-items:center;gap:10px}.date-picker label{font-weight:500;display:flex;align-items:center;gap:8px}.date-input-container{position:relative;display:flex;align-items:center}.date-picker input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.calendar-button{background-color:var(--primary-color);color:#fff;border:none;cursor:pointer;padding:8px 12px;border-radius:4px;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.calendar-button:hover{background-color:var(--secondary-color)}.appointment-person-filter{display:flex;flex-direction:column;gap:5px;min-width:250px}.appointment-person-filter label{font-weight:500;font-size:14px}.appointment-person-select{width:100%}.select__control{border-color:#ddd;box-shadow:none;min-height:38px}.select__control:hover{border-color:var(--primary-color)}.select__control--is-focused{border-color:var(--primary-color)!important;box-shadow:0 0 0 1px var(--primary-color)!important}.select__option--is-selected{background-color:var(--primary-color)!important}.select__option:hover{background-color:rgba(var(--primary-color-rgb),.1)!important}.select__option--is-focused{background-color:rgba(var(--primary-color-rgb),.05)!important}.select__indicator{color:#999}.select__indicator:hover{color:var(--primary-color)}.select__placeholder{color:#999}.select__single-value{color:var(--text-color)}.mini-calendar{position:absolute;top:100%;left:0;z-index:100;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:280px;padding:12px;margin-top:5px}.mini-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mini-calendar-header button{background:none;border:none;cursor:pointer;padding:5px 10px;font-size:16px;color:var(--primary-color)}.month-year-selector{display:flex;gap:5px;align-items:center}.month-selector,.year-selector{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;color:var(--text-color);outline:none}.month-selector:hover,.year-selector:hover{border-color:var(--primary-color)}.month-selector:focus,.year-selector:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2)}.month-selector{width:100px}.year-selector{width:70px}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-calendar-weekday{text-align:center;font-size:12px;font-weight:500;color:#777;padding:5px}.mini-calendar-day{position:relative;text-align:center;padding:8px;font-size:13px;cursor:pointer;border-radius:4px}.mini-calendar-day:hover{background-color:#f5f5f5}.mini-calendar-day.empty{cursor:default}.mini-calendar-day.selected{background-color:var(--primary-color);color:#fff}.mini-calendar-day.has-appointment{font-weight:500}.appointment-dot{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background-color:var(--primary-color)}.mini-calendar-day.selected .appointment-dot{background-color:#fff}.appointment-count{font-size:14px;color:#555;background-color:#f5f5f5;padding:6px 12px;border-radius:4px;font-weight:500}.filter-indicator{display:inline-block;margin-left:8px;font-size:13px;color:var(--primary-color);font-weight:500}.error-message{background-color:#e74c3c1a;color:var(--error-color);padding:10px 15px;border-radius:4px;margin-bottom:20px}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid var(--primary-color);width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:10px}.calendar-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow-x:auto}.no-appointments{display:flex;justify-content:center;align-items:center;padding:40px;color:#777;font-size:16px;text-align:center}.calendar-table{width:100%;border-collapse:collapse!important;table-layout:fixed}.calendar-table thead{display:table-header-group}.calendar-table thead tr{background-color:var(--primary-color);color:#fff}.calendar-table th{padding:10px;text-align:center;font-weight:500;position:sticky;top:0;z-index:5;white-space:nowrap;background-color:var(--primary-color);border:none}.calendar-table tbody{display:table-row-group}.calendar-table th,.calendar-table td{border:0}.calendar-table thead tr th:first-child{border-top-left-radius:8px}.calendar-table thead tr th:last-child{border-top-right-radius:8px}.calendar-table thead tr th{border-right:0;border-left:0}.calendar-table thead{display:table-header-group;width:100%}.time-header{width:120px;min-width:120px}.customer-header,.person-header{width:160px;min-width:160px}.status-header{width:110px;min-width:110px}.notes-header{width:auto;min-width:180px}.actions-header{width:140px;min-width:140px}.calendar-table td:nth-child(1){width:120px;min-width:120px;max-width:120px}.calendar-table td:nth-child(2),.calendar-table td:nth-child(3){width:160px;min-width:160px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.calendar-table td:nth-child(4){width:110px;min-width:110px;max-width:110px}.calendar-table td:nth-child(5){width:auto;min-width:180px;overflow:hidden;text-overflow:ellipsis}.calendar-table td:nth-child(6){width:140px;min-width:140px;max-width:140px}.actions-cell{display:flex;justify-content:center;gap:5px}.time-cell{padding:0 10px!important;font-size:14px;color:#555;background-color:#f9f9f9;width:80px;text-align:center;position:sticky;left:0;z-index:5}.appointment-cell{position:relative;background-color:#fff}.appointment-cell.selected{background-color:#e9ecef}.hour-start{border-top:2px solid #ddd}.hour-start .time-cell{font-weight:700;color:#333}.appointment{height:100%}.appointment-start{position:relative}.appointments-container{max-height:38px;overflow:hidden;transition:max-height .3s ease;display:flex;flex-direction:column;gap:2px}.appointments-container.expanded{max-height:none}.appointment-info{margin:5px 3px;padding:6px 10px;border-radius:4px;font-size:14px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:inherit;min-height:30px}.appointment-info.hovered{background-color:#e9ecef}td:nth-child(5) .appointment-info{white-space:normal;overflow:visible;text-overflow:clip;max-height:60px;overflow-y:auto;display:block;font-size:13px;background-color:inherit}td:nth-child(5) .appointment-info.hovered{background-color:#e9ecef}.multiple-indicator{background-color:#ffffff4d;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700;margin-left:5px}.status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500;text-align:center;color:#fff;white-space:nowrap;box-shadow:0 1px 3px #0000001a}.appointment-count-badge{position:absolute;top:2px;right:2px;background-color:#ffffffb3;color:#333;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.appointment-actions{display:flex;justify-content:center;gap:5px;padding:5px;border-radius:4px;transition:background-color .2s;min-height:32px;width:100%}.appointment-actions.hovered{background-color:rgba(var(--primary-color-rgb),.05)}.action-button{background:none;border:none;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;width:28px;height:28px;border-radius:4px;transition:background-color .3s}.action-button.view{color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.1)}.action-button.edit{color:#f39c12;background-color:#f39c121a}.action-button.delete{color:var(--error-color);background-color:#dc35451a}.action-button.more{color:#555;background-color:#5555551a}.action-button.add{color:#27ae60;background-color:#27ae601a}.action-button:hover{background-color:#00000026}.action-button.view:hover{background-color:rgba(var(--primary-color-rgb),.2)}.action-button.edit:hover{background-color:#f39c1233}.action-button.delete:hover{background-color:#dc354533}.action-button.more:hover{background-color:#5553}.action-button.add:hover{background-color:#27ae6033}@media (max-width: 1200px){.notes-header{width:150px;min-width:150px}.customer-header,.person-header{width:160px;min-width:160px}.calendar-table td:nth-child(2),.calendar-table td:nth-child(3){width:160px;min-width:160px;max-width:160px}.calendar-table td:nth-child(5){width:auto;min-width:150px}}@media (max-width: 992px){.notes-header{width:120px;min-width:120px}.customer-header,.person-header{width:160px;min-width:160px}.calendar-table td:nth-child(2),.calendar-table td:nth-child(3){width:160px;min-width:160px;max-width:160px}.calendar-table td:nth-child(5){width:auto;min-width:120px}}@media (max-width: 768px){.calendar-controls{flex-direction:column;align-items:flex-start;gap:10px}.appointment-count{align-self:flex-end}.calendar-container{overflow-x:auto}.calendar-table{min-width:800px}.notes-header{width:100px;min-width:100px}.status-header{width:80px}.actions-header{width:110px}.customer-header,.person-header{width:160px;min-width:160px}.time-cell{font-size:12px}.appointment-info{padding:2px 6px;font-size:13px}.action-button{width:24px;height:24px}.mini-calendar{width:250px}td:nth-child(2) .appointment-info,td:nth-child(3) .appointment-info{font-size:10px;padding:2px 3px}td:nth-child(5) .appointment-info{font-size:10px;max-height:35px;padding:2px 4px}.status-badge{padding:1px 4px;font-size:9px}}.selected-date{font-weight:600;color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.1);padding:6px 12px;border-radius:4px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.date-part{display:inline-block}.date-day{font-weight:700;min-width:25px;text-align:center}.date-month{text-transform:capitalize}.date-year{font-weight:500}.employee-dropdown-container{position:relative;display:flex;align-items:center;margin-left:10px}.employee-button{color:var(--primary-color);border:none;cursor:pointer;padding:8px 12px;border-radius:4px;font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;transition:background-color .3s}.employee-button:hover{background-color:var(--secondary-color)}.employee-button-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.employee-clear-button{background-color:#ffffff4d;color:#fff;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;margin-left:5px;transition:background-color .2s}.employee-clear-button:hover{background-color:#ffffff80}.employee-dropdown{position:absolute;top:100%;left:0;z-index:100;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:250px;padding:12px;margin-top:5px}.employee-dropdown-header{border-bottom:1px solid #eee;padding-bottom:8px;margin-bottom:8px}.employee-dropdown-header h3{margin:0;font-size:16px;color:var(--primary-color)}.employee-dropdown-list{max-height:250px;overflow-y:auto}.employee-item{padding:8px 12px;cursor:pointer;border-radius:4px;transition:background-color .2s}.employee-item:hover{background-color:#f5f5f5}.employee-item.selected{background-color:rgba(var(--primary-color-rgb),.1);font-weight:500;color:var(--primary-color)}.employee-item.all-employees{border-bottom:1px solid #eee;margin-bottom:5px;padding-bottom:10px;font-weight:500}.no-employees{padding:12px;text-align:center;color:#777;font-style:italic}.action-dropdown{display:inline-block}.action-dropdown-button{background:none;border:none;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s}.action-dropdown-button:hover{background-color:#f0f0f0}.action-dropdown-content{display:none;position:absolute;right:0;top:100%;background-color:#333;min-width:150px;box-shadow:0 2px 10px #0000001a;z-index:9999;border-radius:4px;overflow:hidden;margin-top:5px}.action-dropdown-content.show{display:block!important}.action-dropdown-content .action-button{display:flex;align-items:center;gap:8px;text-align:left;padding:8px 12px;background:none;border:none;cursor:pointer;transition:background-color .2s;color:#fff;height:auto;justify-content:flex-start;width:100%}.action-dropdown-content .action-button:hover{background-color:#444}.action-dropdown-content .view-button:hover{color:var(--primary-color)}.action-dropdown-content .edit-button:hover{color:var(--secondary-color)}.action-dropdown-content .delete-button:hover{color:var(--danger-color)}.time-label{display:flex;align-items:center;justify-content:space-between;padding:5px;font-weight:500;color:#666;border-bottom:1px solid #eee}.expand-button{background:none;border:none;padding:2px 5px;cursor:pointer;color:#666;transition:transform .2s ease}.expand-button.expanded{transform:rotate(180deg)}.calendar-table tr.row-hovered td,.calendar-table tr.row-hovered .appointment-cell{background-color:#f5f5f5}.calendar-table tr.row-hovered .time-cell{background-color:#eaecee}.calendar-table tr.row-hovered .appointment-info{background-color:#e9ecef}.calendar-table tr.row-hovered td:nth-child(5) .appointment-info{background-color:#e9ecef}.calendar-table tr.row-hovered .appointment-actions{background-color:#e9ecef}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background-color:#fffc;z-index:1000;position:fixed;top:0;left:0;right:0;bottom:0}.spinner{border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.spinner-small{width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-top:2px solid var(--primary-color, #3498db)}.spinner-medium{width:30px;height:30px;border:3px solid rgba(0,0,0,.1);border-top:3px solid var(--primary-color, #3498db)}.spinner-large{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-top:4px solid var(--primary-color, #3498db)}.spinner-text{color:var(--text-color, #333);font-size:16px;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.new-appointment-page{position:relative;min-height:60vh;padding:20px}.error-message{background-color:#e74c3c1a;color:var(--error-color, #e74c3c);padding:12px 15px;border-radius:4px;margin-bottom:20px;text-align:center;font-weight:500}.success-message{background-color:#2ecc711a;color:#2ecc71;padding:12px 15px;border-radius:4px;margin-bottom:20px;text-align:center;font-weight:500}.profile-container{max-width:800px;margin:0 auto;padding:20px}.profile-container h1{margin-bottom:30px;color:#333;border-bottom:2px solid #eee;padding-bottom:10px}.user-info{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.user-info h2{margin-top:0;margin-bottom:20px;color:#333;font-size:1.5rem}.user-info p{margin-bottom:15px;font-size:1rem;color:#555;padding:8px 0;border-bottom:1px solid #eee}.user-info p:last-of-type{border-bottom:none;margin-bottom:25px}.user-info button{background-color:#76bacb;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.user-info button:hover{background-color:#5a9eaf}@media (max-width: 768px){.profile-container{padding:15px}.user-info{padding:20px}}:root{--primary-color: #2563eb;--primary-color-rgb: 37, 99, 235;--secondary-color: #1d4ed8;--error-color: #dc2626;--text-color: #333;--light-bg: #f8fafc;--border-color: #e2e8f0;--sidebar-width: 250px;--sidebar-collapsed-width: 60px;--header-height: 60px;--footer-height: 200px;--font-family: "Poppins", sans-serif;--sidebar-bg: #1e293b;--header-bg: #0f172a;--text-white: #ffffff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);line-height:1.6;color:var(--text-color);background-color:var(--light-bg);font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:600;margin-bottom:1rem}.layout{display:flex;flex-direction:column;min-height:100vh;position:relative}.layout-container{display:flex;flex:1}.main-content{flex:1;padding:20px;margin-left:var(--sidebar-width);transition:margin-left .3s ease,width .3s ease;width:calc(100% - var(--sidebar-width))}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}.header{background-color:var(--header-bg);box-shadow:0 2px 5px #0000001a;position:sticky;top:0;z-index:100;height:var(--header-height)}.header-container{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:100%;max-width:1200px;margin:0 auto}.logo a{font-size:1.5rem;font-weight:700;color:var(--text-white);text-decoration:none;font-family:var(--font-family)}.header-right{display:flex;align-items:center}.user-welcome{margin-right:20px}.user-welcome span{font-weight:700}.header-nav ul{display:flex;list-style:none}.header-nav li{margin-left:20px}.header-nav a{color:var(--text-white);text-decoration:none;transition:color .3s;opacity:.8}.header-nav a:hover{opacity:1}.logout-button{background:none;border:none;color:var(--error-color);cursor:pointer;font-size:1rem;padding:0;width:auto}.logout-button:hover{text-decoration:underline;background:none}.mobile-menu-button{display:none;align-items:center;justify-content:center;width:30px;height:30px;cursor:pointer;color:var(--text-color);font-size:1.5rem}.sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);box-shadow:2px 0 5px #0000001a;height:calc(100vh - var(--header-height));position:fixed;top:var(--header-height);left:0;overflow-y:auto;transition:width .3s ease;z-index:90}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{padding:10px;display:flex;justify-content:flex-end;border-bottom:1px solid rgba(255,255,255,.1);height:50px}.sidebar-toggle{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#ffffff1a;transition:background-color .3s ease;color:var(--text-white)}.sidebar-toggle:hover{background-color:#fff3}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar-user{padding:10px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);height:80px}.sidebar.collapsed .sidebar-user{justify-content:center;padding:10px 5px}.user-avatar{min-width:30px;width:30px;height:30px;border-radius:50%;background-color:var(--primary-color);color:var(--text-white);display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:10px;font-size:1rem;text-transform:uppercase;box-shadow:0 2px 5px #0003;transition:transform .3s ease,box-shadow .3s ease}.user-avatar:hover{transform:scale(1.05);box-shadow:0 4px 8px #0000004d}.sidebar.collapsed .user-avatar{margin:0 auto}.user-info{overflow:hidden}.user-name{color:var(--text-white);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{color:#ffffffb3;font-size:.8rem}.sidebar-nav{padding:8px 0}.sidebar-nav ul{list-style:none}.sidebar-nav li{margin-bottom:3px;height:32px;display:flex;align-items:center}.sidebar-nav a{display:flex;align-items:center;padding:8px 12px;color:var(--text-white);text-decoration:none;transition:background-color .3s;width:100%;height:100%;font-size:.9rem;opacity:.7}.sidebar-nav a:hover{background-color:#ffffff1a;opacity:1}.sidebar-nav li.active a{background-color:#ffffff1a;border-left:3px solid var(--primary-color);font-weight:700;opacity:1}.sidebar-nav .icon{margin-right:10px;font-size:.9rem;min-width:18px;text-align:center;display:flex;align-items:center;justify-content:center;color:var(--text-white)}.sidebar-nav .text{font-size:.9rem}.sidebar.collapsed .sidebar-nav .text{display:none}.sidebar.collapsed .sidebar-nav a{justify-content:center;padding:8px 5px}.sidebar.collapsed .sidebar-nav .icon{margin-right:0}.footer{background-color:#2c3e50;color:#fff;padding:40px 0 20px;margin-top:auto;width:calc(100% - var(--sidebar-collapsed-width));margin-left:var(--sidebar-collapsed-width);transition:margin-left .3s ease,width .3s ease}.sidebar.collapsed~.footer{width:calc(100% - var(--sidebar-collapsed-width));margin-left:var(--sidebar-collapsed-width)}.sidebar:not(.collapsed)~.footer{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width)}.footer-container{max-width:1200px;margin:0 auto;padding:0 20px}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:30px}.footer-section{flex:1;min-width:250px;margin-bottom:20px;padding-right:20px}.footer-section h3{margin-bottom:15px;color:var(--primary-color)}.footer-section ul{list-style:none}.footer-section li{margin-bottom:8px}.footer-section a{color:#ecf0f1;text-decoration:none;transition:color .3s}.footer-section a:hover{color:var(--primary-color)}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid #34495e}.login-container{max-width:400px;margin:50px auto;padding:20px;background-color:#fff;border-radius:5px;box-shadow:0 2px 10px #0000001a}.login-container h2{text-align:center;margin-bottom:20px;color:var(--primary-color)}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:600}.form-group input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:4px;font-size:16px}button{width:100%;padding:4px;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}button:hover{background-color:var(--secondary-color)}button:disabled{background-color:var(--border-color);cursor:not-allowed}.error-message{color:var(--error-color);margin-bottom:15px;padding:10px;background-color:#e74c3c1a;border-radius:4px;text-align:center}.home-container{max-width:600px;margin:0 auto;padding:20px;background-color:#fff;border-radius:5px;box-shadow:0 2px 10px #0000001a}.home-container h1{text-align:center;margin-bottom:30px;color:var(--primary-color)}.user-info{padding:5px;background-color:var(--light-bg);border-radius:5px}.user-info h2{margin-bottom:15px;color:var(--primary-color)}.user-info p{margin-bottom:10px}.user-info button{margin-top:10px;background-color:var(--error-color)}.user-info button:hover{background-color:#c0392b}.icon{display:inline-flex;align-items:center;justify-content:center;margin-right:10px;font-size:1.5rem}.footer-icon{margin-right:8px;font-size:1rem}.logout-icon{margin-right:5px}@media (max-width: 768px){.layout-container{flex-direction:column}.sidebar{width:100%;height:auto;position:static;margin-top:var(--header-height)}.sidebar.collapsed{width:100%;height:50px;overflow:hidden}.main-content,.main-content.sidebar-collapsed{margin-left:0;width:100%;padding:10px}.footer,.sidebar.collapsed~.footer,.sidebar:not(.collapsed)~.footer{width:100%;margin-left:0}.header-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background-color:#fff;box-shadow:0 5px 5px #0000001a}.header-nav.open{display:block}.header-nav ul{flex-direction:column;padding:10px 0}.header-nav li{margin:0}.header-nav a{display:block;padding:10px 20px}.mobile-menu-button{display:flex}.footer-content{flex-direction:column}.footer-section{margin-bottom:30px}}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;top:var(--swiper-navigation-top-offset, 50%);width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next{display:none!important}.swiper-button-prev svg,.swiper-button-next svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-prev svg,.swiper-rtl .swiper-button-next svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset, 10px);right:auto}.swiper-button-lock{display:none}.swiper-button-prev:after,.swiper-button-next:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset, 10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}
