@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);
/*!
 * TakeToki Design System v1.0.0
 * Système de design CSS réutilisable et portable
 * 
 * MIT License
 * Copyright (c) 2025 TakeToki
 * 
 * USAGE:
 * 1. Copier ce fichier dans votre projet
 * 2. Importer: <link rel="stylesheet" href="taketoki-design-system.css">
 * 3. Utiliser les classes: <button class="btn btn-primary">Click me</button>
 * 
 * PERSONNALISATION:
 * Modifier les variables CSS au début du fichier pour adapter les couleurs,
 * espacements, ombres, etc. à votre charte graphique.
 */:root{--primary:#5b21b6;--primary-light:#a78bfa;--secondary:#ec4899;--secondary-dark:#db2777;--text-medium:#6b7280;--text-white:#fff;--bg-dark:#1f2937;--spacing-16:4rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"SF Mono","Monaco","Inconsolata","Fira Mono","Droid Sans Mono","Source Code Pro",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:#111827;font-family:var(--font-sans)}.btn,body{line-height:1.5}.btn{border-radius:.5rem;font-family:inherit;gap:.5rem;gap:var(--spacing-2);padding:.5rem 1rem;transition:all .15s ease}.btn:disabled{pointer-events:none}.btn:focus-visible{outline:2px solid #5b21b6;outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background-color:#5b21b6;background-color:var(--primary);border-color:#5b21b6;border-color:var(--primary);color:var(--text-white)}.btn-primary:hover:not(:disabled){background-color:#4c1d95;border-color:#4c1d95}.btn-secondary{background-color:#ec4899;background-color:var(--secondary);border-color:#ec4899;border-color:var(--secondary);color:var(--text-white)}.btn-secondary:hover:not(:disabled){background-color:#db2777;border-color:#db2777}.btn-success{background-color:#10b981;border-color:#10b981;color:var(--text-white)}.btn-success:hover:not(:disabled){background-color:#059669}.btn-warning{background-color:#f59e0b;background-color:var(--warning);border-color:#f59e0b;border-color:var(--warning);color:#fff;color:var(--text-white)}.btn-warning:hover:not(:disabled){background-color:#d97706}.btn-danger{background-color:#ef4444;border-color:#ef4444;color:var(--text-white)}.btn-outline{border-color:#5b21b6;border-color:var(--primary);color:#5b21b6;color:var(--primary)}.btn-outline:hover:not(:disabled){background-color:#5b21b6;background-color:var(--primary);color:var(--text-white)}.btn-ghost{color:#6b7280}.btn-ghost:hover:not(:disabled){background-color:#f3f4f6}.btn-link{background-color:initial;border-color:#0000;color:#5b21b6;color:var(--primary);text-decoration:underline}.btn-link:hover:not(:disabled){color:#4c1d95;color:var(--primary-dark)}.btn-xs{font-size:.75rem;padding:.25rem .5rem;padding:var(--spacing-1) var(--spacing-2)}.btn-sm{padding:.25rem .75rem}.btn-lg{padding:.75rem 1.5rem}.btn-xl{font-size:1.125rem;padding:1rem 2rem;padding:var(--spacing-4) var(--spacing-8)}.btn-icon{aspect-ratio:1;padding:.5rem;padding:var(--spacing-2)}.form-group{margin-bottom:1rem}.form-label{color:#111827;margin-bottom:.5rem}.form-label.required:after{color:#ef4444}.form-input,.form-select,.form-textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#111827;font-family:inherit;line-height:1.5;padding:.5rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af;color:var(--text-light)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#5b21b6;border-color:var(--primary)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:#f3f4f6}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444;border-color:var(--error)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-error{color:#ef4444}.form-error,.form-help{display:block;margin-top:.25rem}.form-help{color:#9ca3af}.form-checkbox,.form-radio{align-items:center;display:inline-flex;gap:.5rem;gap:var(--spacing-2)}.form-checkbox input,.form-radio input{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:.25rem;border-radius:var(--radius-sm);cursor:pointer;height:1rem;width:1rem}.form-radio input{border-radius:9999px;border-radius:var(--radius-full)}.card{border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;margin-bottom:1rem;padding:1.5rem}.card-hover{transition:box-shadow .3s ease,transform .3s ease;transition:box-shadow var(--transition-normal) ease,transform var(--transition-normal) ease}.card-hover:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:1rem}.card-title{color:#111827}.card-subtitle{color:#6b7280;margin-top:.25rem}.card-footer{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.container{padding:0 1rem}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.container-fluid{padding:0 1rem}.row{margin:0 -.5rem}.col{padding:0 .5rem}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.inline-flex{display:inline-flex}.flex-nowrap{flex-wrap:nowrap}.justify-evenly{justify-content:space-evenly}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem;gap:var(--spacing-5)}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem;margin:var(--spacing-5)}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.mt-1{margin-top:.25rem;margin-top:var(--spacing-1)}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem;margin-top:var(--spacing-3)}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem;margin-top:var(--spacing-8)}.mb-1{margin-bottom:.25rem;margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem;margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem;margin-bottom:var(--spacing-8)}.ml-1{margin-left:.25rem;margin-left:var(--spacing-1)}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem;margin-left:var(--spacing-3)}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem;margin-right:var(--spacing-1)}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem;margin-right:var(--spacing-3)}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-2{margin-bottom:.5rem;margin-bottom:var(--spacing-2);margin-top:.5rem;margin-top:var(--spacing-2)}.my-4{margin-bottom:1rem;margin-bottom:var(--spacing-4);margin-top:1rem;margin-top:var(--spacing-4)}.p-1{padding:.25rem;padding:var(--spacing-1)}.p-2{padding:.5rem}.p-3{padding:.75rem;padding:var(--spacing-3)}.p-4{padding:1rem}.p-5{padding:1.25rem;padding:var(--spacing-5)}.p-6{padding:1.5rem}.p-8{padding:2rem;padding:var(--spacing-8)}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem;padding-top:var(--spacing-6)}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem;padding-bottom:var(--spacing-6)}.pl-0{padding-left:0}.pl-2{padding-left:.5rem;padding-left:var(--spacing-2)}.pl-4{padding-left:1rem;padding-left:var(--spacing-4)}.pr-0{padding-right:0}.pr-2{padding-right:.5rem;padding-right:var(--spacing-2)}.pr-4{padding-right:1rem;padding-right:var(--spacing-4)}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-left:var(--spacing-2);padding-right:.5rem;padding-right:var(--spacing-2)}.px-4{padding-left:1rem;padding-left:var(--spacing-4);padding-right:1rem;padding-right:var(--spacing-4)}.px-6{padding-left:1.5rem;padding-left:var(--spacing-6);padding-right:1.5rem;padding-right:var(--spacing-6)}.py-0{padding-bottom:0;padding-top:0}.py-2{padding-bottom:.5rem;padding-bottom:var(--spacing-2);padding-top:.5rem;padding-top:var(--spacing-2)}.py-4{padding-bottom:1rem;padding-bottom:var(--spacing-4);padding-top:1rem;padding-top:var(--spacing-4)}.py-6{padding-bottom:1.5rem;padding-bottom:var(--spacing-6);padding-top:1.5rem;padding-top:var(--spacing-6)}h1,h2,h3,h4,h5,h6{color:#111827;margin:0 0 1rem}p{margin:0 0 1rem}a{color:#5b21b6;color:var(--primary);transition:color .15s ease;transition:color var(--transition-fast) ease}a:hover{color:#4c1d95;color:var(--primary-dark);text-decoration:underline}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-justify{text-align:justify}.text-primary{color:#5b21b6;color:var(--primary)}.text-secondary{color:#ec4899;color:var(--secondary)}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-error{color:#ef4444}.text-info{color:#3b82f6;color:var(--info)}.text-muted{color:#9ca3af}.text-white{color:#fff;color:var(--text-white)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{border-radius:9999px;gap:.25rem;gap:var(--spacing-1);padding:.25rem .5rem}.badge-primary{color:#5b21b6;color:var(--primary)}.badge-secondary{background-color:#ec48991a;color:#ec4899;color:var(--secondary)}.badge-success{color:#10b981}.badge-warning{color:#f59e0b}.badge-error{color:#ef4444}.badge-info{color:#3b82f6}.badge-outline{background-color:initial;border:1px solid}.modal-overlay{animation:fadeIn .15s ease;animation:fadeIn var(--transition-fast) ease;padding:1rem;z-index:1040}.modal-content{animation:slideUp .3s ease;animation:slideUp var(--transition-normal) ease;background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}.modal-sm{max-width:400px}.modal-md{max-width:600px}.modal-lg{max-width:800px}.modal-xl{max-width:1024px}.modal-header{border-bottom:1px solid #e5e7eb;padding:1.5rem}.modal-close{color:#6b7280;color:var(--text-medium);font-size:1.5rem;line-height:1;padding:.25rem;padding:var(--spacing-1)}.modal-close:hover{color:#111827;color:var(--text-dark)}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid #e5e7eb;gap:.5rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert{align-items:flex-start;border-radius:.5rem;display:flex;gap:.75rem;gap:var(--spacing-3);margin-bottom:1rem;padding:1rem}.alert-success{border-color:#10b981;color:#10b981}.alert-warning{border-color:#f59e0b;color:#f59e0b}.alert-error{border-color:#ef4444;color:#ef4444}.alert-info{border-color:#3b82f6;color:#3b82f6}.alert-title{font-weight:600;margin-bottom:.25rem;margin-bottom:var(--spacing-1)}.spinner{border:2px solid #e5e7eb;border-radius:9999px;border-top-color:#5b21b6;border-top-color:var(--primary)}.spinner-sm{border-width:1.5px;height:1rem;width:1rem}.spinner-lg{border-width:3px;height:2.5rem;width:2.5rem}.loading-overlay{flex-direction:column;gap:1rem;gap:var(--spacing-4);z-index:1050}.tooltip{display:inline-block;position:relative}.tooltip-text{background-color:#1f2937;background-color:var(--bg-dark);border-radius:.5rem;border-radius:var(--radius-md);bottom:125%;color:#fff;color:var(--text-white);font-size:.75rem;left:50%;opacity:0;padding:.5rem .75rem;padding:var(--spacing-2) var(--spacing-3);position:absolute;transform:translateX(-50%);transition:opacity .15s ease;transition:opacity var(--transition-fast) ease;visibility:hidden;white-space:nowrap;z-index:1070;z-index:var(--z-tooltip)}.tooltip-text:after{border:5px solid #0000;border-top-color:#1f2937;border-color:var(--bg-dark) #0000 #0000 #0000;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.table{background-color:#fff;background-color:var(--bg-white);border-collapse:collapse;border-radius:.75rem;border-radius:var(--radius-lg);overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);padding:.75rem 1rem;padding:var(--spacing-3) var(--spacing-4);text-align:left}.table th{background-color:#f3f4f6;background-color:var(--bg-grey);color:#111827;color:var(--text-dark);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table tbody tr:hover{background-color:#f9fafb;background-color:var(--bg-light)}.table tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(2n){background-color:#f9fafb;background-color:var(--bg-light)}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #e5e7eb;border:1px solid var(--gray-200)}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.static{position:static}.w-auto{width:auto}.w-screen{width:100vw}.h-auto{height:auto}.h-screen{height:100vh}.rounded-none{border-radius:0}.rounded-sm{border-radius:.25rem}.rounded{border-radius:.5rem}.rounded-lg{border-radius:.75rem}.rounded-xl{border-radius:1rem;border-radius:var(--radius-xl)}.rounded-full{border-radius:9999px}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d}.shadow,.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.bg-primary{background-color:#5b21b6;background-color:var(--primary)}.bg-secondary{background-color:#ec4899;background-color:var(--secondary)}.bg-success{background-color:#10b981;background-color:var(--success)}.bg-warning{background-color:#f59e0b;background-color:var(--warning)}.bg-error{background-color:#ef4444;background-color:var(--error)}.bg-info{background-color:#3b82f6;background-color:var(--info)}.bg-white{background-color:#fff;background-color:var(--bg-white)}.bg-light{background-color:#f9fafb;background-color:var(--bg-light)}.bg-grey{background-color:#f3f4f6;background-color:var(--bg-grey)}.bg-dark{background-color:#1f2937;background-color:var(--bg-dark)}@media (max-width:640px){.container{padding:0 .75rem;padding:0 var(--spacing-3)}.card{padding:1rem;padding:var(--spacing-4)}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:flex-column{flex-direction:column}.sm\:text-center{text-align:center}}@media (min-width:641px) and (max-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}}@media (min-width:769px) and (max-width:1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}}@media (min-width:1025px){.xl\:hidden{display:none}.xl\:block{display:block}.xl\:flex{display:flex}}.help-tooltip-container{align-items:center;cursor:help;display:inline-flex;margin-left:5px}.help-icon{font-size:14px;height:18px;opacity:.7;transition:opacity .2s;width:18px}.help-icon:hover{opacity:1}.help-icon.info{color:#3b82f6}.help-icon.tip{color:#10b981}.help-icon.question{color:#8b5cf6}.help-icon.warn{color:#f59e0b}.help-tooltip{border:1px solid #e5e7eb;box-shadow:0 4px 12px #00000026;color:#4b5563;font-size:.85rem;padding:10px;z-index:1000}.help-tooltip:before{border:6px solid #0000;height:0;width:0}.help-tooltip.top:before{border-top-color:#fff;filter:drop-shadow(0 2px 1px rgba(0,0,0,.1));left:50%;top:100%;transform:translateX(-50%)}.help-tooltip.bottom:before{border-bottom-color:#fff;bottom:100%;filter:drop-shadow(0 -2px 1px rgba(0,0,0,.1));left:50%;transform:translateX(-50%)}.help-tooltip.left:before{border-left-color:#fff;filter:drop-shadow(2px 0 1px rgba(0,0,0,.1));left:100%;top:50%;transform:translateY(-50%)}.help-tooltip.right:before{border-right-color:#fff;filter:drop-shadow(-2px 0 1px rgba(0,0,0,.1));right:100%;top:50%;transform:translateY(-50%)}.help-tooltip-title{border-bottom:1px solid #e5e7eb;color:#1f2937;margin-bottom:5px;padding-bottom:5px}.help-tooltip-content{font-size:.85rem}@media (max-width:768px){.help-tooltip{width:200px}}@media (max-width:640px){.help-tooltip{bottom:10px;left:10px;position:fixed;right:10px;top:auto;transform:none;width:calc(100% - 20px)}.help-tooltip.bottom:before,.help-tooltip.left:before,.help-tooltip.right:before,.help-tooltip.top:before{display:none}}.section-help{background:#f8f9fa;border-left:3px solid #5b21b6;border-radius:4px;font-size:14px;margin-bottom:15px;padding:12px 15px}.section-help h4{align-items:center;color:#333;display:flex;margin-bottom:6px;margin-top:0}.section-help h4 .helper-icon{color:#5b21b6;margin-right:8px}.section-help p{color:#555;margin:0}.section-help ul{margin:8px 0 0;padding-left:20px}.section-help li{margin-bottom:4px}:root{--z-base:1;--z-menu-bg:990;--z-header:995;--z-menu-trigger:996;--z-menu-content:997;--z-menu-controls:1000}@keyframes fadeInMenu{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0;transform:translateY(-10px)}to{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:1;transform:translateY(0)}}@keyframes fadeInMenuLink{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLogo{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.nav-links.active{align-items:center!important;animation:fadeInMenu .4s ease forwards!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;background-color:#5b21b6d9!important;box-shadow:0 0 20px #0000004d!important;flex-direction:column!important;gap:15px!important;height:100vh!important;justify-content:center!important;left:0!important;overflow-y:auto!important;padding:80px 20px 40px!important;position:fixed!important;right:0!important;top:0!important;transition:all .4s ease-in-out!important;width:100vw!important;z-index:990!important;z-index:var(--z-menu-bg)!important}.home-nav .logo{position:relative!important;z-index:995!important;z-index:var(--z-header)!important}.nav-links.active~.logo{opacity:0!important;visibility:hidden!important}.home-nav .logo img{height:60px!important;position:relative!important;width:auto!important;z-index:995!important;z-index:var(--z-header)!important}.mobile-menu-btn{align-items:center!important;background-color:#ffffff26!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;flex-direction:column!important;height:44px!important;justify-content:center!important;position:relative!important;transition:all .3s ease!important;width:44px!important;z-index:996!important;z-index:var(--z-menu-trigger)!important}.mobile-menu-btn:hover{background-color:#ffffff40!important;transform:scale(1.05)!important}.mobile-menu-btn span{background-color:#fff!important;border-radius:3px!important;display:block!important;height:2.5px!important;margin:3px 0!important;transition:all .3s ease!important;width:24px!important}.mobile-menu-logo{animation:fadeInLogo .5s ease-out .1s backwards!important;left:20px!important;opacity:0!important;pointer-events:auto!important;position:absolute!important;top:20px!important;visibility:hidden!important;z-index:1000!important;z-index:var(--z-menu-controls)!important}.nav-links.active .mobile-menu-logo{opacity:1!important;visibility:visible!important}.mobile-menu-logo img{filter:brightness(0) invert(1) drop-shadow(0 2px 4px rgba(0,0,0,.2))!important;height:50px!important;position:relative!important;width:auto!important}.mobile-menu-close{align-items:center!important;animation:fadeInCloseButton .5s ease-out .2s backwards!important;background-color:#fff3!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;height:40px!important;justify-content:center!important;position:absolute!important;right:20px!important;top:20px!important;transition:all .3s ease!important;width:40px!important;z-index:1000!important;z-index:var(--z-menu-controls)!important}.mobile-menu-close:hover{background-color:#ffffff4d!important;transform:scale(1.05)!important}.mobile-menu-close:after,.mobile-menu-close:before{background-color:#fff!important;border-radius:3px!important;box-shadow:0 1px 2px #0003!important;content:""!important;height:2.5px!important;position:absolute!important;width:22px!important}.mobile-menu-close:before{transform:rotate(45deg)!important}.mobile-menu-close:after{transform:rotate(-45deg)!important}.mobile-menu-links{align-items:center!important;display:flex!important;flex-direction:column!important;gap:15px!important;justify-content:center!important;padding:20px 0!important;width:100%!important;z-index:997!important;z-index:var(--z-menu-content)!important}.mobile-menu-links a{animation:fadeInMenuLink .4s ease-out forwards;border-radius:30px!important;color:#fff!important;font-size:1.25rem!important;font-weight:500!important;letter-spacing:.02em!important;opacity:0;padding:10px 20px!important;position:relative!important;text-align:center!important;text-decoration:none!important;transform:translateY(10px);transition:all .3s ease!important}.mobile-menu-links a:first-child{animation-delay:.1s}.mobile-menu-links a:nth-child(2){animation-delay:.2s}.mobile-menu-links a:nth-child(3){animation-delay:.3s}.mobile-menu-links a:nth-child(4){animation-delay:.4s}.mobile-menu-links .nav-auth{animation-delay:.5s;animation:fadeInMenuLink .4s ease-out .5s forwards;opacity:0}.mobile-menu-links a:hover{background-color:#ffffff26!important;transform:translateY(-2px)!important}.mobile-menu-links .nav-auth{display:flex!important;justify-content:center!important;margin-top:15px!important;width:100%!important}.mobile-menu-links .double-btn-main{backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;background:#fff3!important;border:1px solid #ffffff4d!important;box-shadow:0 8px 20px #0000001a!important;min-width:280px!important;transition:all .3s ease!important}.mobile-menu-links .double-btn-main:hover{background:#ffffff40!important;box-shadow:0 10px 25px #00000026!important;transform:translateY(-3px)!important}}@media (max-width:768px){.logo img{height:60px!important;width:auto!important}.mobile-menu-btn.active{background-color:#fff!important;transform:rotate(0deg)!important}.mobile-menu-btn.active span{background-color:#5b21b6!important;margin:0!important;position:absolute!important}.mobile-menu-btn.active span:first-child{transform:rotate(45deg)!important;width:24px!important}.mobile-menu-btn.active span:nth-child(2){opacity:0!important}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg)!important;width:24px!important}}@media (min-width:769px){.nav-links{justify-content:flex-end!important}.mobile-menu-links,.nav-links{align-items:center!important;display:flex!important;flex-direction:row!important}.mobile-menu-links{height:100%!important;padding:0!important;width:100%!important}.mobile-menu-links a{margin:0 15px!important;padding:8px 10px!important;width:auto!important}.mobile-menu-links .nav-auth{margin-left:15px!important;margin-top:0!important;width:auto!important}}.logo,.logo img{z-index:995!important;z-index:var(--z-header)!important}:root{--text-color-dark:#1f2937;--text-color-medium:#6b7280;--text-color-light:#9ca3af;--box-shadow:0 4px 6px #0000001a;--bg-gradient:linear-gradient(to bottom right,#f9fafb,#f3f4f6)}body{color:var(--text-color-dark);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.App{min-height:100vh}.booking-placeholder,.dashboard-placeholder{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:100px auto;max-width:800px;padding:40px 20px;text-align:center}.booking-placeholder h1,.dashboard-placeholder h1{color:#5b21b6;margin-bottom:20px}.booking-placeholder button,.dashboard-placeholder button{background-color:#5b21b6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:10px 20px}.booking-placeholder button:hover,.dashboard-placeholder button:hover{background-color:#4c1d95}*{margin:0;padding:0}button{cursor:pointer}a{color:inherit;text-decoration:none}ol,ul{list-style:none}.auth-container{background-color:#fff}.auth-logo{margin-bottom:40px}.auth-logo h1{color:#fff;font-size:2.5rem;margin:0}.tagline{font-size:1rem;margin-top:5px;opacity:.9}.auth-info{display:flex;flex:1 1;flex-direction:column;justify-content:center}.auth-info h2{color:#fff;font-size:1.8rem;margin-bottom:20px}.auth-info p{line-height:1.6;margin-bottom:20px}.auth-features{padding-left:20px}.auth-features li{margin-bottom:10px}.auth-back-button{background-color:initial;border:1px solid #ffffff4d;color:#ffffffb3;display:inline-block;font-size:.9rem;margin-top:20px;padding:8px 16px;transition:all .2s;width:auto}.auth-back-button:hover{background-color:#ffffff1a;color:#fff}.auth-tab:hover:not(.active){color:var(--text-color-dark)}@media (max-width:768px){.auth-container{flex-direction:column}.auth-forms,.auth-sidebar{padding:30px}}.verification-container{margin:0 auto;max-width:600px;padding:2rem}.verification-status{margin-top:2rem;padding:2rem}.loader{border:4px solid #f3f4f6;height:40px;width:40px}.taketoki-success-message{background:#fff;border-radius:24px;box-shadow:0 2px 16px #5b21b61a;color:#3a256a;margin:0 auto 24px;max-width:420px;padding:32px 24px 24px;text-align:center}.taketoki-success-title{color:#7e3ff2;font-size:1.5rem;font-weight:700;margin-bottom:12px}.taketoki-success-text{color:#3a256a;font-size:1.08rem;line-height:1.6;margin-bottom:24px}.taketoki-success-btn{background:linear-gradient(90deg,#7e3ff2,#1976d2);border:none;border-radius:24px;box-shadow:0 2px 8px #5b21b614;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:8px;padding:14px 32px;transition:background .2s}.taketoki-success-btn:hover{background:linear-gradient(90deg,#6a2eea,#1251a3)}:root{--text-color:#111827}a.forgot-password-link,button[type=button]:not(.auth-tab):not(.password-toggle-btn){background:none;border:none;border-radius:4px;color:#5b21b6;color:var(--primary-color);cursor:pointer;font-size:.9rem;font-weight:500;text-align:center;text-decoration:none;transition:all .2s ease}a.forgot-password-link:hover,button[type=button]:not(.auth-tab):not(.password-toggle-btn):hover{background-color:#5b21b614;color:#4c1d95;color:var(--primary-dark)}a[href="#"],button[type=button]#forgot-password{background-color:initial;border:none;color:#5b21b6;color:var(--primary-color);cursor:pointer;display:inline-block;font-size:.9rem;margin-top:10px;padding:8px 12px;text-align:center;text-decoration:underline;transition:all .2s ease;width:auto}a[href="#"]:hover,button[type=button]#forgot-password:hover{background-color:#5b21b60d;border-radius:4px;color:#4c1d95;color:var(--primary-dark);text-decoration:underline}.auth-page{align-items:center;background:var(--bg-gradient);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-container{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:flex;max-width:1000px;min-height:600px;overflow:hidden;width:100%}.auth-sidebar{background:linear-gradient(135deg,#5b21b6,var(--secondary-color));background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;display:flex;flex:1 1;flex-direction:column;padding:40px}.auth-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:450px;overflow:hidden;width:100%}.auth-header{padding:20px;text-align:center}.auth-header h1{color:#5b21b6;color:var(--primary-color);font-size:2rem;margin-bottom:20px}.auth-tabs{margin-bottom:30px}.auth-tab{background:none;color:var(--text-color-medium);font-size:1rem;margin-right:10px;padding:10px 20px;transition:all .2s}.auth-tab.active{border-bottom-color:#5b21b6;border-bottom-color:var(--primary-color);color:var(--primary-color)}.auth-tab:hover:not(.active){border-bottom-color:var(--gray-200);color:#111827;color:var(--text-color)}.auth-content{padding:20px}.auth-forms{background-color:var(--card-bg);color:#111827;color:var(--text-color);display:flex;flex:1 1;flex-direction:column;padding:40px}.form-group label{color:#111827}.form-group input{border:1px solid #e5e7eb;border-radius:4px;font-size:16px;padding:10px}.form-group input:focus{border-color:#5b21b6;box-shadow:0 0 0 2px #5b21b61a}.auth-button{background-color:#5b21b6;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:10px;padding:12px;transition:background-color .2s;width:100%}.auth-button:hover{background-color:#4c1d95;background-color:var(--primary-dark)}.auth-button:disabled{background-color:#6b7280;background-color:var(--text-color-light);cursor:not-allowed}.auth-error{background-color:#fee2e2;color:#ef4444;color:var(--error-color)}.auth-error,.auth-success{border-radius:4px;margin-bottom:15px;padding:10px}.auth-success{align-items:center;background-color:#d1fae5;color:#10b981;color:var(--success-color);flex-direction:column}.auth-success,.loading-dots{display:flex;justify-content:center}.loading-dots{margin-top:5px}.loading-dots span{animation:dotFade 1.4s ease-in-out infinite both;background-color:#10b981;background-color:var(--success-color);border-radius:50%;display:inline-block;height:6px;margin:0 3px;width:6px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dotFade{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.password-mismatch{color:#ef4444;color:var(--error-color);font-size:.85rem;margin-top:5px}[data-theme=dark] .auth-forms{background-color:var(--card-bg)}[data-theme=dark] .verification-status.loading{background-color:var(--bg-color-light)}[data-theme=dark] .loader{border-color:var(--gray-300);border-top-color:#5b21b6;border-top-color:var(--primary-color)}.auth-form-container{color:var(--text-color);display:flex;flex:1 1;flex-direction:column}.auth-subtitle{color:var(--text-color-medium);margin-bottom:30px}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group input:not([type=checkbox]){background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);font-size:16px;padding:12px;transition:border-color .2s}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-transparent);outline:none}.form-group input.error{border-color:#ef4444}.error-message{font-size:14px;margin-top:5px}.error-message.general{background-color:#fee2e2;border-radius:var(--border-radius);margin-bottom:20px;padding:10px}.form-group.checkbox{flex-direction:row;gap:10px}.password-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.forgot-link{background:none;border:none;border-radius:4px;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s ease-in-out}.forgot-link:hover{background-color:#4a89dc1a;background-color:rgba(var(--primary-color-rgb,74,137,220),.1);color:#3b7dd8;color:var(--primary-color-dark,#3b7dd8)}.forgot-link:focus{outline:2px solid #4a89dc4d;outline:2px solid rgba(var(--primary-color-rgb,74,137,220),.3);outline-offset:2px}.switch-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:none;transition:color .2s ease}.switch-link:hover{color:#3b7dd8;color:var(--primary-color-dark,#3b7dd8);text-decoration:underline}.auth-submit-button{background-color:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:10px;padding:12px;transition:background-color .2s}.auth-submit-button:hover{background-color:var(--primary-color-dark)}.auth-submit-button:disabled{background-color:var(--gray-300);cursor:not-allowed}.auth-switch{color:var(--text-color-medium);margin-top:auto;padding-top:30px;text-align:center}.gdpr-info{background-color:var(--bg-color);border-radius:var(--border-radius);margin-bottom:20px;padding:15px}.gdpr-info h3{color:var(--text-color);font-size:16px;margin-bottom:10px;margin-top:0}.gdpr-info p{color:var(--text-color-medium);font-size:14px;margin:0}.auth-button-group{display:flex;gap:10px;margin-top:10px}.auth-back-button{background-color:var(--gray-200);border:none;border-radius:var(--border-radius);color:var(--text-color-dark);cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px;transition:background-color .2s}.auth-back-button:hover{background-color:var(--gray-300)}.auth-submit-button{flex:2 1}.success-message{border-radius:var(--border-radius);color:var(--text-color-medium);margin-bottom:30px;padding:15px}.verification-status{border-radius:var(--border-radius);margin:20px 0;padding:20px;text-align:center}.verification-status.loading{background-color:#f9fafb}.verification-status.success{background-color:#ecfdf5;color:#065f46}.verification-status.error{background-color:#fee2e2;color:#b91c1c}.loader{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid var(--primary-color);height:30px;margin:20px auto;width:30px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-container{animation:modalFadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;max-width:450px;padding:0;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #eee}.modal-header h2{color:#333;font-size:18px;margin:0}.modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:24px;transition:color .2s}.modal-close:hover{color:#333}.modal-subtitle{color:#666;font-size:14px;margin-bottom:20px;margin-top:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.button-secondary{background-color:#f0f0f0;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.button-secondary:hover{background-color:#e0e0e0}.button-primary{background-color:#4a89dc;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.button-primary:hover{background-color:#3b7dd8}.button-primary:disabled{background-color:#a0bfef}.forgot-password-modal .success-message{background-color:#e7f3eb;border-left:4px solid #5cb85c;border-radius:4px;margin:10px 0;padding:15px}:root{--background-color:#f9fafb;--card-background:#fff;--calendar-available:#5b21b61a;--hover-bg:#e5e7eb}.bk-booking-page{background-color:#f9fafb;background-color:var(--bg-color);color:#1f2937;color:var(--text-color);display:flex;justify-content:center;min-height:100vh;padding:20px}.bk-booking-container{background-color:#fff;background-color:var(--card-bg);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a;box-shadow:var(--box-shadow);max-width:900px;overflow:hidden;width:100%}.bk-booking-header{background-color:#5b21b6;background-color:var(--primary-color);border-radius:8px 8px 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:0 2px 4px #0000001a;color:#fff;padding:20px}.bk-provider-info{align-items:center;display:flex}.bk-provider-logo{background-color:#fff;border:2px solid #ffffffb3;border-radius:50%;box-shadow:0 2px 5px #0000001a;height:60px;margin-right:15px;object-fit:cover;width:60px}.bk-provider-details{display:flex;flex-direction:column}.bk-provider-name{font-size:1.4rem;font-weight:600;margin:0 0 5px}.bk-provider-title{font-size:.95rem;margin:0;opacity:.9}.bk-booking-subtitle{font-size:1rem;font-weight:400;margin-top:15px;opacity:.8}.provider-header,.provider-header h2,.provider-header h3{display:none}.provider-profession{margin-bottom:20px}.bk-booking-progress{background-color:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px}.bk-progress-step{align-items:center;display:flex;flex:1 1;flex-direction:column;position:relative}.bk-progress-step:not(:last-child):after{background-color:#e5e7eb;background-color:var(--border-color);content:"";height:2px;left:50%;position:absolute;top:15px;width:100%;z-index:0}.bk-progress-step.active:not(:last-child):after,.bk-progress-step.completed:not(:last-child):after{background-color:#5b21b6;background-color:var(--primary-color)}.bk-step-number{align-items:center;background-color:#e5e7eb;background-color:var(--border-color);border-radius:50%;color:#6b7280;color:var(--text-color-light);display:flex;font-weight:700;height:30px;justify-content:center;margin-bottom:5px;position:relative;width:30px;z-index:1}.bk-progress-step.active .bk-step-number{background-color:#5b21b6;background-color:var(--primary-color);color:#fff}.bk-progress-step.completed .bk-step-number{background-color:#10b981;background-color:var(--success-color);color:#fff}.bk-step-label{color:#6b7280;color:var(--text-color-light);font-size:.9rem}.bk-progress-step.active .bk-step-label{color:#5b21b6;color:var(--primary-color);font-weight:500}.bk-progress-step.completed .bk-step-label{color:#10b981;color:var(--success-color)}.bk-booking-content{padding:30px}.bk-booking-step h2{font-size:1.5rem;margin-top:0}.bk-booking-step h2,.bk-selected-date{color:#1f2937;color:var(--text-color);margin-bottom:20px}.bk-selected-date{font-weight:500}.bk-booking-summary{background-color:#f9fafb;background-color:var(--background-color);border-radius:8px;border-radius:var(--border-radius);font-weight:500;margin-bottom:20px;padding:10px 15px}.bk-booking-period-info{background-color:#f0f9ff;border-left:4px solid #3b82f6;border-radius:6px;margin-bottom:15px;padding:12px 16px}.bk-period-title{color:#1e40af;font-size:1.1rem;font-weight:600;margin:0 0 8px}.bk-period-description{color:#4b5563;font-size:.9rem;margin:8px 0}.bk-period-dates{color:#1e40af;font-size:.95rem;font-weight:500;margin:8px 0 0}.fixed-period-container{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.bk-calendar-container{align-items:flex-start;display:flex;flex-direction:row;gap:20px;margin-bottom:25px}.bk-calendar-wrapper{flex:3 1;max-width:500px}.bk-time-slots-wrapper{background-color:#f9fafb;background-color:var(--bg-color);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);flex:2 1;min-height:300px;padding:15px}.bk-time-slots-title{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);color:#1f2937;color:var(--text-color);font-size:1.1rem;margin-bottom:15px;margin-top:0;padding-bottom:8px}.bk-booking-calendar{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;padding:20px}.bk-calendar-header{margin-bottom:20px}.bk-calendar-header h3{color:#1f2937;color:var(--text-color);font-size:1.3rem;margin:0}.bk-month-nav{background-color:initial;border:none;color:#333;font-size:24px;height:32px;width:32px}.bk-month-nav:hover{background-color:#f3f4f6}.bk-calendar-weekdays{grid-gap:4px;gap:4px}.bk-weekday{font-size:14px}.bk-calendar-days{grid-gap:4px;gap:4px}.bk-calendar-day{font-size:14px;height:45px;position:relative;transition:all .2s ease}.bk-day-number{position:relative;z-index:1}.bk-day-inactive{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.bk-day-full{color:#b91c1c;cursor:not-allowed}.bk-day-high-availability{color:#16a34a;cursor:pointer}.bk-day-medium-availability{color:#d97706;cursor:pointer}.bk-day-low-availability{color:#ea580c;cursor:pointer}.bk-day-high-availability.bk-selectable:hover{background-color:#6ee7b7}.bk-day-medium-availability.bk-selectable:hover{background-color:#fcd34d}.bk-day-low-availability.bk-selectable:hover{background-color:#fb923c}.bk-day-disabled{color:#9ca3af;cursor:not-allowed}.bk-selectable{cursor:pointer}.bk-selectable:hover{transform:scale(1.05);transition:all .2s ease}.bk-calendar-error,.bk-calendar-loading{padding:20px;text-align:center}.bk-calendar-legend{font-size:12px;gap:12px;justify-content:center;margin-top:20px}.bk-legend-item{gap:6px}.bk-legend-color{border-radius:4px;height:16px;width:16px}.bk-legend-color.inactive{background-color:#e5e7eb}.bk-legend-color.disabled{border:1px solid #9ca3af}.bk-booking-time-slots{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin-top:20px;padding:20px}.bk-time-period{margin-bottom:20px}.bk-period-label{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);color:#1f2937;color:var(--text-color);font-size:1.1rem;margin-bottom:15px;margin-top:0;padding-bottom:5px}.bk-time-slots-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.bk-time-slot-button{background-color:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#1f2937;color:var(--text-color);cursor:pointer;font-size:.95rem;padding:10px;transition:all .2s}.bk-time-slot-button:hover{background-color:#5b21b6;background-color:var(--primary-color);border-color:#5b21b6;border-color:var(--primary-color);color:#fff}.bk-time-slots-actions{display:flex;justify-content:flex-start;margin-top:20px}.bk-no-time-slots{color:#6b7280;color:var(--text-color-light);padding:30px 0;text-align:center}.time-slots-container{background-color:#fff;box-shadow:0 2px 4px #0000001a;margin-top:20px}.time-slots-list{margin-top:20px}.time-slot-group{margin-bottom:30px}.time-slot-group h4{border-bottom:1px solid var(--gray-200);color:var(--text-color-dark);font-size:1.1rem;margin-bottom:10px;padding-bottom:5px}.slots-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:10px}.time-slot-btn{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem}.time-slot-btn:hover{background-color:#e0f2fe;border-color:#93c5fd}.time-slot-btn.selected{background-color:#5b21b6;border-color:#4c1d95}.selected-slot-info{background-color:#f8f9fa;border-left:4px solid #5b21b6;border-radius:8px;margin-top:30px;padding:15px}.confirm-slot-btn{background-color:#5b21b6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-weight:500;margin-top:15px;padding:10px 20px;transition:background-color .2s}.confirm-slot-btn:hover{background-color:#4c1d95}.no-time-slots{background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;padding:30px;text-align:center}.no-time-slots h3{color:#6b7280;margin-bottom:10px}.custom-slots-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.custom-slot-card{background-color:#fff;border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000000d;cursor:pointer;padding:20px;transition:all .3s ease}.custom-slot-card:hover{border-color:#5b21b6;border-color:var(--primary-color);box-shadow:0 4px 12px #5b21b626;transform:translateY(-2px)}.custom-slot-card.selected{background-color:#10b9810d;border-color:#10b981;border-color:var(--success-color,#10b981);border-width:3px;box-shadow:0 4px 12px #10b98126}.slot-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.slot-title{color:var(--text-color-dark);font-size:1.1rem;font-weight:600;margin:0}.slot-time{background-color:#f3f4f6;background-color:var(--gray-100,#f3f4f6);border-radius:12px;color:#6b7280;color:var(--text-color-light);font-size:.95rem;font-weight:500;padding:4px 12px}.slot-description{color:#1f2937;color:var(--text-color);font-size:.95rem;line-height:1.5;margin:12px 0}.slot-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200,#e5e7eb);justify-content:space-between;margin-top:15px;padding-top:12px}.slot-footer,.slot-mode{align-items:center;display:flex}.slot-mode{color:#6b7280;color:var(--text-color-light);font-size:.9rem;gap:6px}.mode-icon{font-size:1.1rem}.slot-places{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:6px}.slot-places.available{color:#10b981;color:var(--success-color,#10b981)}.slot-places.full{color:#ef4444;color:var(--error-color)}.slot-select-btn{background-color:#5b21b6;background-color:var(--primary-color);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:15px;padding:12px 20px;transition:all .2s ease;width:100%}.slot-select-btn:hover{background-color:#4c1d95;background-color:var(--primary-color-dark,#4c1d95);transform:scale(1.02)}.slot-select-btn:active{transform:scale(.98)}.custom-slot-card.selected .slot-select-btn{background-color:#10b981;background-color:var(--success-color,#10b981)}.custom-slot-card.selected .slot-select-btn:hover{background-color:#059669}@media (max-width:768px){.custom-slot-card{padding:15px}.slot-header{align-items:flex-start;flex-direction:column;gap:8px}.slot-time{align-self:flex-start}.slot-title{font-size:1rem}.slot-footer{align-items:flex-start;flex-direction:column;gap:10px}.slot-mode,.slot-places{width:100%}}.time-slots-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px}.loading-spinner.small{border-width:3px;height:30px;width:30px}.no-date-selected{min-height:200px}.bk-client-info-form{margin-bottom:30px}.bk-form-group{margin-bottom:20px}.bk-form-group label{color:#1f2937;color:var(--text-color);display:block;font-weight:500;margin-bottom:8px}.bk-required-mark{color:#ef4444;color:var(--error-color);margin-left:3px}.bk-form-group input,.bk-form-group textarea{background-color:#fff;background-color:var(--input-bg);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#1f2937;color:var(--text-color);font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.bk-form-group input:focus,.bk-form-group textarea:focus{border-color:#5b21b6;border-color:var(--primary-color);box-shadow:0 0 0 2px #5b21b61a;box-shadow:0 0 0 2px var(--primary-color-transparent);outline:none}.bk-form-group input.error,.bk-form-group textarea.error{border-color:#ef4444;border-color:var(--error-color)}.bk-error-message{color:#ef4444;color:var(--error-color);font-size:.85rem;margin-top:5px}.bk-form-actions{display:flex;justify-content:space-between;margin-top:30px}.bk-back-button{background-color:#f9fafb;background-color:var(--bg-color);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#1f2937;color:var(--text-color);cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s}.bk-back-button:hover{background-color:#e5e7eb;background-color:var(--hover-bg)}.bk-confirm-button,.bk-submit-button{background-color:#5b21b6;background-color:var(--primary-color);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s}.bk-confirm-button:hover,.bk-submit-button:hover{background-color:#4c1d95;background-color:var(--primary-color-dark)}.bk-privacy-note{color:#6b7280;color:var(--text-color-light);font-size:.9rem;margin-top:30px;padding:15px}.bk-client-notifications-settings,.bk-privacy-note{background-color:#f9fafb;background-color:var(--background-color);border-radius:8px;border-radius:var(--border-radius)}.bk-client-notifications-settings{margin:30px 0;padding:20px}.bk-client-notifications-settings h3{color:#1f2937;color:var(--text-color);font-size:1.1rem;margin-bottom:15px;margin-top:0}.bk-form-group.checkbox{align-items:center;display:flex;margin-bottom:15px}.bk-form-group.checkbox input[type=checkbox]{margin-right:10px;width:auto}.bk-notification-info{color:#6b7280;color:var(--text-color-light);font-size:.9rem;font-style:italic;margin-top:15px}.bk-booking-summary-details{background-color:#f9fafb;background-color:var(--background-color);border-radius:8px;border-radius:var(--border-radius);margin-bottom:20px;padding:20px}.bk-booking-summary-details h3{color:#1f2937;color:var(--text-color);font-size:1.1rem;margin-bottom:10px;margin-top:15px}.bk-booking-summary-details p{margin:8px 0}.bk-booking-privacy-notice{background-color:#f8fafc;border-left:3px solid #94a3b8;border-radius:8px;border-radius:var(--border-radius);margin:20px 0;padding:15px}.bk-booking-privacy-notice h3{color:#1f2937;color:var(--text-color);font-size:1rem;margin-bottom:10px;margin-top:0}.bk-booking-privacy-notice p{color:#6b7280;color:var(--text-color-light);font-size:.9rem;margin:0}.bk-booking-actions{display:flex;justify-content:space-between;margin-top:30px}.bk-booking-confirmation{padding:20px 0;text-align:center}.bk-confirmation-header{margin-bottom:30px}.bk-confirmation-icon{align-items:center;background-color:#10b981;background-color:var(--success-color);border-radius:50%;color:#fff;display:flex;font-size:2.5rem;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.bk-confirmation-header h2{color:#10b981;color:var(--success-color);font-size:1.8rem;margin:0}.bk-confirmation-details{margin:0 auto;max-width:600px;text-align:left}.bk-confirmation-reference{background-color:#f9fafb;background-color:var(--background-color);border-radius:8px;border-radius:var(--border-radius);margin-bottom:30px;padding:15px;text-align:center}.bk-additional-info,.bk-appointment-details,.bk-cancellation-policy,.bk-next-steps{margin-bottom:30px}.bk-additional-info h3,.bk-appointment-details h3,.bk-cancellation-policy h3,.bk-next-steps h3{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);color:#1f2937;color:var(--text-color);font-size:1.2rem;margin-bottom:15px;margin-top:0;padding-bottom:8px}.bk-detail-item{display:flex;margin-bottom:10px}.bk-detail-label{color:#1f2937;color:var(--text-color);font-weight:500;width:80px}.bk-detail-value{flex:1 1}.bk-detail-value.message{white-space:pre-line}.bk-next-steps ul{margin:0;padding-left:20px}.bk-next-steps li{color:#1f2937;color:var(--text-color);margin-bottom:8px}.bk-confirmation-actions{margin-top:40px}.bk-home-button{background-color:#5b21b6;background-color:var(--primary-color);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .2s}.bk-home-button:hover{background-color:#4c1d95;background-color:var(--primary-color-dark)}.bk-booking-page.error,.bk-booking-page.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:30px;text-align:center}.bk-loading-spinner{animation:spin 1s linear infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#5b21b6;height:24px;margin:0 auto 10px;width:24px}.bk-loading-spinner.small{border-width:2px;height:20px;width:20px}.bk-calendar-loading,.bk-time-slots-loading{color:#6b7280;color:var(--text-color-light);padding:30px 0;text-align:center}.bk-calendar-error,.bk-time-slots-error{color:#ef4444;color:var(--error-color);padding:30px 0;text-align:center}@media (max-width:768px){.bk-booking-container{border-radius:0}.bk-booking-progress{overflow-x:auto;padding:15px 10px}.bk-progress-step{min-width:80px}.bk-booking-content{padding:20px 15px}.bk-time-slots-grid{grid-template-columns:repeat(2,1fr)}.bk-form-actions{flex-direction:column;gap:10px}.bk-back-button,.bk-confirm-button,.bk-submit-button{width:100%}.bk-detail-item{flex-direction:column;margin-bottom:15px}.bk-detail-label{margin-bottom:5px;width:100%}.bk-calendar-container{flex-direction:column}.bk-calendar-wrapper,.bk-time-slots-wrapper{max-width:100%;width:100%}.bk-time-slots-wrapper{margin-top:20px}.bk-provider-logo{height:50px;width:50px}.bk-provider-name{font-size:1.2rem}.bk-provider-title{font-size:.85rem}}@media (max-width:480px){.bk-booking-header{padding:15px}.bk-provider-logo{height:50px;width:50px}.bk-provider-details h1{font-size:1.5rem}.bk-step-label{font-size:.8rem}.bk-booking-step h2{font-size:1.3rem}.bk-time-slots-grid{grid-template-columns:1fr}}@media (max-width:768px){.bk-calendar-container{flex-direction:column!important;gap:10px!important}.bk-calendar-wrapper,.bk-time-slots-wrapper{margin-top:0!important;max-width:100%!important;width:100%!important}.bk-booking-calendar{padding:12px!important}.bk-calendar-day{border-radius:8px!important;font-size:15px!important;font-weight:500!important;height:40px!important}.bk-calendar-legend{grid-gap:8px!important;display:grid!important;font-size:12px!important;gap:8px!important;grid-template-columns:repeat(2,1fr)!important;margin-top:10px!important}.bk-legend-item{align-items:center!important;display:flex!important;justify-content:flex-start!important}.bk-month-nav{background-color:#0000000d!important;font-size:26px!important;height:40px!important;width:40px!important}}@media (max-width:480px){.bk-calendar-days{gap:2px!important}.bk-calendar-day{font-size:14px!important;height:36px!important}.bk-calendar-header h3{font-size:18px!important}.bk-weekday{font-size:12px!important;padding:4px 0!important}.bk-calendar-legend{grid-template-columns:1fr!important}}.bk-theme-toggle{align-items:center;background-color:#5b21b6;background-color:var(--primary-color);border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:fixed;right:20px;width:40px;z-index:1000}.calendar-downloads{background-color:#f7f7ff;border-left:4px solid #5b21b6;border-radius:.5rem;margin-top:1.5rem;padding:1.25rem}.calendar-downloads h4{color:#5b21b6;margin-bottom:1rem;margin-top:0}.calendar-buttons{flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.calendar-button{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000000d;color:#1f2937;font-size:.875rem;padding:.75rem 1.25rem;transition:all .2s ease}.calendar-button:hover{border-color:#5b21b6;box-shadow:0 2px 8px #5b21b626;transform:translateY(-1px)}.calendar-icon{font-size:1.25rem;margin-right:.5rem}.calendar-help{color:#6b7280;font-size:.875rem;margin-top:.5rem}.provider-info{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1rem}.provider-info h3{color:#4c1d95;margin-bottom:.5rem}.provider-description{color:#6b7280;font-size:.875rem}.provider-profession{color:#6b7280;font-size:1.1rem;font-weight:400;margin-bottom:25px;margin-top:-5px;text-align:center}.booking-details{margin-bottom:1.5rem}.detail-item{display:flex;margin-bottom:.75rem}.detail-label{flex:1 1;font-weight:500}.detail-value{flex:2 1}.confirmation-actions{gap:1rem;margin-top:2rem}.action-button{border-radius:.375rem;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.action-button.home{background-color:#f3f4f6;border:1px solid #e5e7eb;color:#4b5563}.action-button.new-booking{background-color:#5b21b6;border:none;color:#fff}.action-button:hover{transform:translateY(-1px)}.action-button.home:hover{background-color:#e5e7eb}.action-button.new-booking:hover{background-color:#4c1d95}.calendar-timeslots-layout{display:flex;gap:30px;margin-top:20px}.calendar-side,.timeslots-side{flex:1 1;min-width:300px}.select-date-message,.timeslots-side{display:flex;flex-direction:column}.select-date-message{align-items:center;background-color:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;color:#6b7280;height:100%;justify-content:center;padding:40px 20px;text-align:center}.select-date-icon{font-size:3rem;margin-bottom:15px}.confirmation-success-card{margin:0 auto;max-width:700px;text-align:center}.confirmation-header{margin-bottom:30px}.success-icon{color:#10b981;height:70px;margin:0 auto 20px;width:70px}.confirmation-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:30px;text-align:left}.calendar-download-section{background-color:#f0f9ff;border-left:4px solid #0ea5e9;border-radius:8px;padding:20px}.calendar-download-section h4{color:#0369a1;font-weight:500;margin-bottom:15px}.calendar-download-button{align-items:center;background-color:#fff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;display:inline-flex;font-weight:500;padding:10px 16px;text-decoration:none;transition:all .2s}.calendar-download-button:hover{background-color:#e0f2fe;border-color:#0ea5e9;transform:translateY(-2px)}.calendar-download-button svg{margin-right:8px}.calendar-note{color:#0c4a6e;font-size:.85rem;margin-top:12px}.calendar-hours-layout{display:flex;gap:30px;margin-top:20px}.calendar-left{flex:1 1;min-width:320px}.hours-right{flex:1 1;min-width:300px}.select-date-prompt{align-items:center;background-color:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;display:flex;flex-direction:column;height:300px;justify-content:center;padding:30px;text-align:center}.calendar-icon{color:#d1d5db;font-size:3rem;margin-bottom:20px}@media (max-width:768px){.calendar-hours-layout{flex-direction:column}.calendar-left,.hours-right{width:100%}.calendar-timeslots-layout{flex-direction:column}.calendar-side,.timeslots-side{width:100%}}@media (max-width:640px){.calendar-buttons,.confirmation-actions{flex-direction:column}}.booking-container{font-family:Inter,sans-serif;margin:0 auto;max-width:1000px;padding:40px 20px}.booking-header{margin-bottom:40px;text-align:center}.booking-header h1{color:#5b21b6;font-size:2rem;margin-bottom:25px}.progress-steps{justify-content:center;margin:30px 0}.progress-step{width:120px}.step-circle{align-items:center;background-color:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;font-weight:600;height:40px;justify-content:center;margin-bottom:10px;width:40px}.progress-step.active .step-circle{background-color:#5b21b6;color:#fff}.progress-connector{background-color:#e5e7eb;flex:1 1;height:3px;margin:0 10px;max-width:100px}.step-label{color:#6b7280;font-size:.9rem;font-weight:500}.progress-step.active .step-label{color:#5b21b6;font-weight:600}.date-time-grid{display:flex;flex-direction:column;gap:30px;margin-top:30px;width:100%}.calendar-container,.time-slots-container{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a}.time-slots-container{margin-top:15px;max-height:500px;overflow-y:auto;padding:20px}.time-slots-section{margin-bottom:30px}.time-period-title{border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:1.2rem;margin-bottom:15px;padding-bottom:8px}.time-slots-section:first-child .time-period-title{color:#0369a1}.time-slots-section:last-child .time-period-title{color:#b45309}.time-slots-section:first-child .time-period-title:before{content:"☀️ "}.time-slots-section:last-child .time-period-title:before{content:"⏱️ "}.no-date-selected{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px 20px;text-align:center}.select-date-icon{color:#9ca3af;font-size:48px;margin-bottom:20px}.client-info-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:0 auto 30px;max-width:700px;padding:30px}.client-info-form h2{border-bottom:1px solid var(--gray-200);color:#5b21b6;color:var(--primary-color);font-size:1.8rem;margin-bottom:25px;padding-bottom:10px}.form-group label{color:var(--text-color-dark)}.form-group input,.form-group textarea{background-color:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--text-color-dark);font-size:1rem;padding:12px;transition:border-color .3s,box-shadow .3s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#5b21b6;border-color:var(--primary-color);box-shadow:0 0 0 3px #5b21b61a;outline:none}.form-group .required-mark{color:#e53e3e;margin-left:3px}.form-group .form-help-text{color:var(--text-color-medium);display:block;font-size:.85rem;margin-top:6px}.form-group.privacy-checkbox{align-items:flex-start;border-top:1px solid var(--gray-200);display:flex;margin-top:25px;padding-top:20px}.form-group.privacy-checkbox input{margin-right:10px;margin-top:3px;width:auto}.form-group.privacy-checkbox label{font-size:.9rem;font-weight:400;line-height:1.5}.form-buttons{display:flex;gap:15px;margin-top:30px}.button-primary,.button-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;min-width:120px;padding:12px 24px;transition:background-color .3s,transform .1s}.button-secondary{background-color:var(--gray-200);color:var(--text-color-dark)}.button-secondary:hover{background-color:var(--gray-300)}.button-primary{background-color:#5b21b6;background-color:var(--primary-color);color:#fff}.button-primary:hover{background-color:#4c1d95;background-color:var(--primary-color-dark)}.button-primary:disabled{background-color:var(--gray-300);cursor:not-allowed}.form-group .error-message{color:#e53e3e;font-size:.85rem;margin-top:5px}.form-group .input-error{background-color:#fff5f5;border-color:#e53e3e}.selected-date-time{background-color:#f0f4fa;border-left:4px solid #5b21b6;border-left:4px solid var(--primary-color);border-radius:6px;margin-bottom:25px;padding:15px}.selected-date-time h3{color:#5b21b6;color:var(--primary-color);font-size:1.1rem;margin-bottom:10px}.selected-date-time p{line-height:1.5;margin:5px 0}.booking-confirmation{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:600px;padding:40px}.confirmation-icon{align-items:center;background-color:#10b981;border-radius:50%;color:#fff;display:flex;font-size:40px;font-weight:700;height:80px;justify-content:center;margin:0 auto 25px;width:80px}.booking-confirmation.error .confirmation-icon{background-color:#ef4444}.booking-confirmation h2{color:#10b981;margin-bottom:25px}.booking-confirmation.error h2{color:#ef4444}.confirmation-details{margin:30px 0}.confirmation-message{font-size:1.1rem;margin-bottom:25px}.booking-info{background-color:#f3f4f6;border-radius:8px;margin-bottom:20px;padding:20px}.info-item{margin-bottom:10px}.info-label{color:#4b5563;font-weight:600;width:120px}.cancellation-info{color:#6b7280;font-size:.9rem;margin-top:20px}.confirmation-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.cancel-button,.home-button{border-radius:6px;display:inline-block;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .2s}.home-button{background-color:#5b21b6;color:#fff}.home-button:hover{background-color:#4c1d95}.cancel-button{background-color:#f9fafb;color:#ef4444}.cancel-button:hover{background-color:#fee2e2;border-color:#ef4444}.client-notifications{background-color:#f3f4f6;border-radius:8px;margin-top:30px;padding:25px}.client-notifications h3{color:#374151;font-size:1.2rem;margin-bottom:20px}.notification-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.notification-option{background:#fff;border-radius:6px;padding:15px}.notification-option h4{color:#4b5563;font-size:1rem;margin-bottom:15px}.calendar-buttons{display:flex;gap:10px;margin-top:15px}.calendar-button{align-items:center;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;display:inline-flex;font-size:.9rem;justify-content:center;padding:10px 16px;text-decoration:none}.calendar-button:hover{background-color:#f3f4f6}.calendar-button.added{background-color:#d1fae5;border-color:#10b981;color:#047857}.calendar-button.google{background-color:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.reminder-info{color:#6b7280;font-size:.9rem;margin-top:10px}.cancellation-info h4{color:#4b5563;font-size:1rem;margin:15px 0 10px}.booking-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-spinner{border:5px solid #f3f4f6;height:50px;margin-bottom:20px;width:50px}.booking-error{align-items:center;background-color:#fee2e2;border:1px solid #ef4444;border-radius:6px;color:#b91c1c;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.booking-error button{background:#0000;border:none;color:#b91c1c;cursor:pointer;font-weight:600}.bk-booking-calendar{padding:10px}.bk-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.bk-month-nav{align-items:center;background:none;border:1px solid #d1d5db;border-radius:50%;cursor:pointer;display:flex;height:30px;justify-content:center;width:30px}.bk-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.bk-weekday{color:#4b5563;font-size:.85rem;font-weight:600;padding:8px 0;text-align:center}.bk-calendar-days{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.bk-calendar-day{align-items:center;aspect-ratio:1;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;justify-content:center}.bk-current-month{color:#1f2937}.bk-other-month{color:#9ca3af}.bk-day-inactive{background-color:#f9fafb;cursor:default}.bk-day-disabled{background-color:#f3f4f6;cursor:default}.bk-day-full{background-color:#fee2e2;cursor:default}.bk-day-high-availability{background-color:#dcfce7}.bk-day-medium-availability{background-color:#fef3c7}.bk-day-low-availability{background-color:#ffedd5}.bk-selectable:hover{background-color:#5b21b6;color:#fff}.bk-calendar-legend{display:flex;flex-wrap:wrap;font-size:.8rem;gap:10px;margin-top:15px}.bk-legend-item{align-items:center;display:flex;margin-right:10px}.bk-legend-color{border-radius:3px;height:12px;margin-right:5px;width:12px}.bk-legend-color.high-availability{background-color:#dcfce7}.bk-legend-color.medium-availability{background-color:#fef3c7}.bk-legend-color.low-availability{background-color:#ffedd5}.bk-legend-color.full{background-color:#fee2e2}.bk-legend-color.disabled{background-color:#f3f4f6}.bk-time-slots{display:flex;flex-direction:column;gap:10px}.bk-time-slot{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 15px;transition:all .2s}.bk-time-slot:hover{background-color:#f3f4f6;border-color:#5b21b6}.bk-time-slot.selected{background-color:#5b21b6;border-color:#4c1d95;color:#fff}.bk-slot-time{font-weight:600}.bk-slot-duration{color:#6b7280;font-size:.85rem}.bk-time-slot.selected .bk-slot-duration{color:#e0e7ff}.bk-no-slots{color:#6b7280;padding:30px 20px;text-align:center}.bk-day-title{color:#374151;font-size:1.1rem;font-weight:600;margin-bottom:15px}.back-button{align-items:center;background:none;border:none;color:#5b21b6;cursor:pointer;display:flex;font-weight:600;margin-bottom:20px}.back-button:hover{text-decoration:underline}.calendar-download-section{margin:25px 0;text-align:center}.add-to-calendar-button{align-items:center;background-color:#34d399;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;margin:0 auto;padding:12px 24px;transition:all .2s}.add-to-calendar-button:hover{background-color:#10b981;box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.add-to-calendar-button.added{background-color:#d1fae5;border:1px solid #10b981;color:#047857}.calendar-help-text{color:#6b7280;font-size:.85rem;margin-top:8px}.ics-download-button-container{margin:25px 0;text-align:center}.ics-download-button{align-items:center;background-color:#3b82f6;border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;margin:0 auto;padding:14px 24px;transition:all .3s ease}.ics-download-button:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2z'/%3E%3C/svg%3E");content:"";display:inline-block;height:24px;width:24px}.ics-download-button:hover{background-color:#2563eb;box-shadow:0 6px 8px #00000026;transform:translateY(-2px)}.ics-download-button.added{background-color:#10b981}.ics-download-button.added:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 13 4 4L19 7'/%3E%3C/svg%3E")}.ics-download-button:not(.added){animation:pulse 2s infinite}.booking-logo-container{background-color:#5b21b6;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center;width:100%}.booking-logo{height:auto;max-width:400px}.time-slot-button{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#1f2937;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-bottom:10px;padding:12px 15px;text-align:center;transition:all .2s ease;width:100%}.time-slot-button:hover{background-color:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px)}.time-slot-button.selected{background-color:#5b21b6;border-color:#4c1d95;color:#fff}.time-slot-time{font-size:1rem;font-weight:600;margin-bottom:4px}.time-slot-duration{color:#6b7280;display:block;font-size:.85rem;margin-top:4px}.time-slot-button.selected .time-slot-duration{color:#e0e7ff}.time-slots{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:25px;margin-top:15px}@media (max-width:640px){.time-slots{grid-template-columns:1fr 1fr}}@media (max-width:480px){.time-slots{grid-template-columns:1fr}}.help-tooltip-container{display:inline-block;margin-left:6px;position:relative;vertical-align:middle}.help-icon{align-items:center;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;width:20px}.help-tooltip{animation:fadeIn .2s ease;background:#fff;border-radius:6px;box-shadow:0 3px 12px #00000026;color:#333;font-size:14px;line-height:1.5;padding:12px 16px;position:absolute;width:250px;z-index:100}.help-tooltip:before{background:#fff;content:"";height:10px;position:absolute;transform:rotate(45deg);width:10px}.help-tooltip.top{bottom:calc(100% + 10px);left:50%;transform:translateX(-50%)}.help-tooltip.top:before{bottom:-5px;left:calc(50% - 5px)}.help-tooltip.bottom{left:50%;top:calc(100% + 10px);transform:translateX(-50%)}.help-tooltip.bottom:before{left:calc(50% - 5px);top:-5px}.help-tooltip.left{right:calc(100% + 10px);top:50%;transform:translateY(-50%)}.help-tooltip.left:before{right:-5px;top:calc(50% - 5px)}.help-tooltip.right{left:calc(100% + 10px);top:50%;transform:translateY(-50%)}.help-tooltip.right:before{left:-5px;top:calc(50% - 5px)}.help-tooltip-title{color:#4a90e2;font-size:15px;font-weight:600;margin-bottom:8px}.help-tooltip-content{color:#444}.help-icon.info{color:#4a90e2}.help-icon.tip{color:#5cb85c}.help-icon.question{color:#f0ad4e}@media (max-width:768px){.help-tooltip{width:220px}}.booking-step-help{background:#f8f9fa;border-left:3px solid #4a90e2;border-radius:4px;font-size:14px;margin-bottom:15px;padding:12px 15px}.booking-step-help h4{align-items:center;color:#333;display:flex;margin-bottom:6px;margin-top:0}.booking-step-help h4 .helper-icon{color:#4a90e2;margin-right:8px}.booking-step-help p{color:#555;margin:0}.booking-step-help ul{margin:8px 0 0;padding-left:20px}.booking-step-help li{margin-bottom:4px}.booking-checkbox-label{align-items:flex-start;cursor:pointer;display:flex;font-size:.98rem;gap:10px;line-height:1.5}.booking-checkbox-label input[type=checkbox]{accent-color:#5b21b6;accent-color:var(--primary-color);margin-top:2px}.bk-day-today-inactive{background-color:#e0e7ef!important;border:1.5px dashed #b0b7c3;color:#b0b7c3!important;cursor:not-allowed!important;opacity:.7;position:relative}.bk-day-today-inactive .bk-day-number{font-weight:700;opacity:.8}.appointment-type-selector{background-color:#fff;background-color:var(--card-background);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);margin:30px 0;padding:20px}.appointment-type-selector h3{color:#1f2937;color:var(--text-color);font-size:1.25rem;font-weight:600;margin:0 0 8px}.appointment-type-selector p{color:#6b7280;color:var(--text-color-light);font-size:.95rem;margin:0 0 20px}.appointment-type-buttons{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.appointment-type-btn{align-items:center;background-color:#fff;background-color:var(--card-background);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:flex;padding:20px;transition:all .3s ease}.appointment-type-btn:hover{background-color:#f3f0ff;border-color:#8b5cf6;border-color:var(--primary-color-light);box-shadow:0 4px 8px #5b21b626;transform:translateY(-2px)}.appointment-type-btn.selected{border-color:#5b21b6;border-color:var(--primary-color);box-shadow:0 0 0 2px #5b21b633}.appointment-type-btn .icon-wrapper,.appointment-type-btn.selected{background-color:#5b21b61a;background-color:var(--primary-color-transparent)}.appointment-type-btn .icon-wrapper{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:50px;justify-content:center;margin-right:15px;transition:all .3s ease;width:50px}.appointment-type-btn.selected .icon-wrapper{background-color:#5b21b6;background-color:var(--primary-color);color:#fff}.appointment-type-btn .icon-wrapper svg{color:#5b21b6;color:var(--primary-color);font-size:24px}.appointment-type-btn.selected .icon-wrapper svg{color:#fff}.appointment-type-btn .content h4{color:#1f2937;color:var(--text-color);font-size:1.1rem;font-weight:600;margin:0 0 5px}.appointment-type-btn .content p{color:#6b7280;color:var(--text-color-light);font-size:.9rem;margin:0}ƒ:root{--primary-color:#5b21b6;--primary-color-dark:#4c1d95;--secondary-color:#06b6d4;--bg-color:#f9fafb;--card-bg:#fff;--text-color:#1f2937;--text-color-light:#6b7280;--border-color:#e5e7eb;--border-radius:8px;--box-shadow:0 1px 3px #0000001a;--sidebar-width:250px;--header-height:60px;--sidebar-bg:#1f2937;--sidebar-text:#fff;--sidebar-hover:#ffffff1a;--sidebar-active:#fff3;--hover-bg:#e5e7eb;--calendar-today:#e0f2fe;--calendar-available:#dcfce7;--calendar-unavailable:#fee2e2;--input-bg:#f9fafb;--primary-color-transparent:#5b21b61a;--checkbox-border:#e5e7eb;--checkbox-bg:#fff;--checkbox-checked-bg:#5b21b6;--text-color-medium:#6b7280}.authorize-notifications-btn{align-items:center;background-color:#5b21b6;border:none;border-radius:8px;box-shadow:0 4px 6px #5b21b640;color:#fff;cursor:pointer;display:flex;font-weight:600;letter-spacing:.3px;margin:1rem 0;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.authorize-notifications-btn:before{background:linear-gradient(90deg,#fff0,#ffffff1a 50%,#fff0);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .8s ease;width:100%}.authorize-notifications-btn:hover{background-color:#7c3aed;box-shadow:0 6px 12px #5b21b64d;transform:translateY(-2px)}.authorize-notifications-btn:hover:before{left:100%}.authorize-notifications-btn:focus{box-shadow:0 0 0 3px #a78bfa66,0 4px 6px #5b21b640;outline:none}.authorize-notifications-btn:active{box-shadow:0 2px 4px #5b21b633;transform:translateY(1px)}.booking-link-input,.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea,.search-box input,.time-input,.time-input-group input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);font-size:.95rem;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.booking-link-input:focus,.form-group input:not([type=checkbox]):not([type=radio]):focus,.form-group select:focus,.form-group textarea:focus,.search-box input:focus,.time-input-group input:focus,.time-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-transparent);outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--hover-bg);cursor:not-allowed;opacity:.7}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--calendar-unavailable)}.error-message{color:#ef4444;font-size:.85rem;margin-top:4px}.dashboard-container{background-color:var(--bg-color);color:var(--text-color);display:flex;min-height:100vh}.dashboard-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.dashboard-content{flex:1 1;margin-left:250px;overflow-y:auto;padding:20px;width:calc(100% - 250px)}.sidebar{background-color:#5b21b6;color:#fff;left:0;overflow-y:auto;position:fixed;top:0;transition:width .3s ease;width:250px;z-index:100}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:20px}.logo-container,.sidebar-header{align-items:center;display:flex;justify-content:center}.logo-container{width:100%}.sidebar-logo{display:block;height:auto;max-width:160px}.sidebar-nav{background-color:#5b21b6;flex:1 1;padding:20px 0}.sidebar-nav ul{background-color:#5b21b6;list-style:none;margin:0;padding:0}.sidebar-nav li{margin-bottom:8px}.sidebar-nav a{align-items:center;border-radius:0 20px 20px 0;color:#fff;display:flex;font-weight:400!important;padding:10px 20px;text-decoration:none;transition:all .2s ease}.sidebar-nav a:hover{background-color:#ffffff1a}.sidebar-nav a.active{background-color:#fff3}.sidebar-nav a span{color:#fff!important;transition:color .2s ease}.sidebar-nav a span,.sidebar-nav a.active span,.sidebar-nav a:hover span{background-color:initial!important}.sidebar-nav a.active span{font-weight:700}.sidebar-menu-item{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:.9rem;justify-content:flex-start;padding:12px 20px;text-decoration:none;transition:background .2s,color .2s}.sidebar-menu-item span{display:block;margin-left:12px;text-align:left;width:100%}.sidebar-menu-item .fa,.sidebar-menu-item .svg-inline--fa{min-width:24px;text-align:left}.sidebar-menu-item.active{background:var(--sidebar-active);color:#fff}.sidebar-menu-item,.sidebar-menu-item span{justify-content:flex-start!important;text-align:left!important}.sidebar-footer{border-top:1px solid #ffffff1a;color:#ffffffb3;font-size:12px;margin-top:auto;padding:20px;text-align:center}.sidebar *{background-color:#5b21b6}.subscription-counters-sidebar{border-radius:8px;color:#fff;margin-bottom:10px;margin-top:auto;padding:15px}.subscription-counters-sidebar.loading{align-items:center;display:flex;height:150px;justify-content:center}.counters-loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:30px;width:30px}.counters-grid-sidebar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.counter-card-sidebar{border-radius:6px;padding:8px;text-align:center;transition:transform .2s}.counter-card-sidebar:hover{transform:translateY(-2px)}.counter-value-sidebar{color:#fff;font-size:28px;font-weight:700}.counter-label-sidebar{border-radius:4px;color:#fff;font-size:12px;margin-top:4px;padding:4px 0}.manage-subscription-link{border-radius:6px;margin-top:10px;padding:8px;text-align:center;transition:background-color .2s}.manage-subscription-link:hover{background-color:#7b1fd4e6}.manage-subscription-link a{color:#fff;display:block;font-size:14px;text-decoration:none;width:100%}.impersonation-banner{background-color:initial;border-radius:6px;margin:auto 10px 10px;padding:10px;text-align:center}.impersonation-banner p{display:none}.return-to-admin-button{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#333;cursor:pointer;display:flex;font-weight:600;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s ease;width:100%}.return-to-admin-button:hover{background-color:#e9e9e9;box-shadow:0 2px 4px #00000026}.sidebar{display:flex;flex-direction:column;height:100vh}.dashboard-header{align-items:center;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;height:var(--header-height);justify-content:space-between;margin-left:250px;padding:0 20px;position:relative;width:calc(100% - 250px);z-index:101}.page-title h2{color:var(--primary-color);font-size:1.8rem;font-weight:600;letter-spacing:-.5px;margin:0}.page-title{align-items:center;display:flex}.page-title-icon{color:var(--primary-color);font-size:1.8rem;margin-right:12px}.header-actions{align-items:center;display:flex}.notifications{margin-right:20px;position:relative}.notification-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;position:relative}.notification-badge{background-color:red;border-radius:50%;color:#fff;font-size:.7rem;height:16px;justify-content:center;position:absolute;right:-5px;top:-5px;width:16px}.notification-badge,.user-menu{align-items:center;display:flex}.user-menu{position:relative}.user-info{align-items:center;display:flex}.avatar{border-radius:50%;height:32px;margin-left:10px;object-fit:cover;width:32px}.dropdown-btn{background:none;border:none;cursor:pointer;font-size:.8rem;margin-left:5px}.dropdown-content{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:none;min-width:150px;position:absolute;right:0;top:100%;z-index:10}.dropdown-content button{background:none;border:none;cursor:pointer;padding:10px 15px;text-align:left;width:100%}.dropdown-content button:hover{background-color:var(--bg-color)}.user-menu:hover .dropdown-content{display:block}.calendar-container{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:20px}.loading-message{align-items:center;color:var(--text-color-light);display:flex;font-style:italic;height:300px;justify-content:center}.calendar-header{border-bottom:1px solid var(--border-color);padding-bottom:15px}.nav-button{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;color:var(--text-color);font-size:1rem;height:36px;margin:0 5px;transition:all .2s;width:36px}.nav-button:hover{background-color:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.today-button{background-color:initial;border:1px solid var(--border-color);border-radius:20px;cursor:pointer;font-size:.9rem;margin:0 15px;padding:6px 12px;transition:all .2s}.today-button:hover{background-color:var(--bg-color);border-color:var(--primary-color);color:var(--primary-color)}.calendar-nav h3{margin:0;min-width:200px;text-align:center}.view-options{background-color:var(--bg-color);border-radius:20px;display:flex;padding:3px}.view-button{background:none;border-radius:18px;padding:6px 12px;transition:all .2s}.view-button.active{background-color:#fff;box-shadow:0 2px 4px #0000001a;color:var(--primary-color);font-weight:500}.calendar-grid.view-day .days-grid{grid-template-columns:1fr}.calendar-grid.view-month .days-grid,.calendar-grid.view-week .days-grid{grid-template-columns:repeat(7,1fr)}.calendar-header{margin-bottom:20px}.calendar-nav button{background:none;border:none;cursor:pointer;padding:5px 10px}.calendar-nav h3{font-size:1.2rem;margin:0 15px}.view-options button{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;margin-left:5px;padding:5px 10px}.view-options button.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.calendar-grid{border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex}.time-column{background-color:var(--bg-color);border-right:1px solid var(--border-color);width:60px}.time-header{height:50px}.time-header,.time-slot{border-bottom:1px solid var(--border-color)}.time-slot{color:var(--text-color-light);font-size:.8rem;height:60px;padding:5px;text-align:center}.days-grid{display:flex;flex:1 1;flex-direction:column}.days-header{border-bottom:1px solid var(--border-color);display:flex;height:50px}.day-header{border-right:1px solid var(--border-color);flex:1 1;min-height:60px;position:relative;transition:background-color .2s}.day-header.enabled{background-color:var(--bg-color)}.day-header.disabled{background-color:#fee2e2;color:#9f1239;opacity:.9}.day-header.today{background-color:var(--calendar-today)}.disabled-badge{background-color:#fee2e2;bottom:0;color:#b91c1c;font-size:.7rem;left:0;padding:2px 0;position:absolute;right:0;text-align:center}.day-number{color:var(--text-color);line-height:1.2;padding:2px 0}.day-column,.time-slots-grid{display:flex;flex:1 1}.day-column{border-right:1px solid var(--border-color);flex-direction:column}.day-column:last-child{border-right:none}.day-column.disabled{background-color:#fee2e2;opacity:.9}.calendar-slot{border-bottom:1px solid var(--border-color);height:60px;position:relative;transition:background-color .2s}.calendar-slot.available{background-color:var(--calendar-available)}.calendar-slot.unavailable{background-color:var(--calendar-unavailable)}.day-column.disabled .calendar-slot{background-color:#fee2e2}.calendar-slot:last-child{border-bottom:none}.color-box.disabled,.color-box.unavailable{background-color:#fee2e2;border:1px solid #fca5a5}.legend-item:nth-child(2) span{color:#9f1239}.calendar-legend{background-color:var(--bg-color);border-radius:var(--border-radius);display:flex;gap:20px;justify-content:center;margin-top:20px;padding:15px}.legend-item{color:var(--text-color);font-size:.9rem}.legend-item:last-child span{color:#9f1239}.color-box{border-radius:4px;height:18px;width:18px}.color-box.available{background-color:#e0f2fe;border:1px solid #bfdbfe}.color-box.unavailable{background-color:#fee2e2}.color-box.disabled,.color-box.unavailable{border:1px solid #fca5a5}.month-weekday{color:#fff}.month-day-cell{border-color:var(--border-color)}.month-day-cell,.month-day-cell.other-month{background-color:var(--bg-color)}.month-day-cell.today{background-color:var(--calendar-today)}.month-day-cell.today .month-day-number,.month-day-number{color:var(--text-color)}.calendar-tabs{border-bottom:1px solid var(--border-color);display:flex;margin-bottom:20px}.calendar-tab{background:none;border:none;color:var(--text-color-light);cursor:pointer;font-size:1rem;font-weight:500;padding:12px 20px;position:relative}.calendar-tab.active,.calendar-tab:hover{color:var(--primary-color)}.calendar-tab.active{font-weight:600}.calendar-tab.active:after{background-color:var(--primary-color);bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.working-hours-container{background-color:var(--bg-color);border-radius:var(--border-radius);padding:20px}.config-description{color:var(--text-color-light);margin-bottom:20px}.working-hours-preview{border-top:1px solid var(--border-color);margin-top:30px;padding-top:20px}.working-hours-preview h4{color:var(--text-color);margin-bottom:15px}.weekly-schedule{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr)}.day-preview{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.day-preview.disabled{background-color:var(--bg-color);opacity:.7}.day-preview.enabled .day-name{background-color:var(--primary-color);color:#fff}.day-preview.disabled .day-name{background-color:#f1f5f9;color:var(--text-color-light)}.slots-preview{font-size:.85rem;padding:10px}.slot-preview{background-color:#e0f2fe;border-radius:4px;margin-bottom:5px;padding:5px 8px;text-align:center}.disabled-day{color:var(--text-color-light);font-style:italic;padding:10px 0;text-align:center}.appointments-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:20px}.appointments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.appointments-header h3{color:#1f2937;margin:0}.add-appointment-btn{background-color:#5b21b6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s}.add-appointment-btn:hover{background-color:#4c1d95}.filter-bar{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.search-box{display:flex;flex-grow:1;max-width:400px}.search-box input{border:1px solid #e5e7eb;border-radius:6px 0 0 6px;flex-grow:1;font-size:.9rem;padding:8px 12px}.search-box button{background-color:#f3f4f6;border:1px solid #e5e7eb;border-left:none;border-radius:0 6px 6px 0;cursor:pointer;padding:0 12px}.filter-options{display:flex;gap:10px}.filter-options select{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem;padding:8px 12px}.appointments-list{display:flex;flex-direction:column;gap:15px}.appointment-card{border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:transform .2s,box-shadow .2s}.appointment-card:hover{box-shadow:0 4px 6px #0000000d}.appointment-header{margin-bottom:10px}.appointment-header h4{color:#1f2937;font-size:1.1rem;margin:0}.appointment-status{background-color:#f3f4f6;font-size:.8rem;padding:4px 8px}.status-confirmed{background-color:#dcfce7;color:#166534}.status-pending{background-color:#fef9c3;color:#854d0e}.status-canceled{background-color:#fee2e2;color:#b91c1c}.status-completed{background-color:#dbeafe;color:#1e40af}.appointment-details{margin-bottom:15px}.appointment-details p{color:#4b5563;font-size:.9rem;margin:6px 0}.appointment-details .icon{margin-right:8px}.appointment-actions{display:flex;gap:8px;justify-content:flex-end}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background-color .2s}.action-btn.edit{background-color:#f3f4f6;color:#1f2937}.action-btn.edit:hover{background-color:#e5e7eb}.action-btn.cancel{background-color:#fee2e2;color:#b91c1c}.action-btn.cancel:hover{background-color:#fecaca}.action-btn.details{background-color:#dbeafe;color:#1e40af}.action-btn.details:hover{background-color:#bfdbfe}.no-appointments{background-color:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px;color:#6b7280;padding:30px;text-align:center}.loading-spinner-container{padding:40px}.loading-spinner{margin-bottom:15px}.error-message{border-radius:8px;padding:20px;text-align:center}.error-message button{background-color:#b91c1c;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:10px;padding:6px 12px}.profile-container{background-color:var(--bg-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:20px}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.profile-header h3{font-size:1.2rem;margin:0}.edit-profile-btn{background-color:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;padding:8px 15px}.profile-content{display:flex}.profile-avatar{margin-right:30px;text-align:center;width:200px}.profile-avatar img{border-radius:50%;height:150px;margin-bottom:15px;object-fit:cover;width:150px}.change-avatar-btn{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-size:.9rem;padding:8px 12px}.profile-form{flex:1 1}.form-group input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);padding:8px 12px;width:100%}.form-group input:disabled{background-color:var(--bg-color);cursor:not-allowed}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-transparent)}.section-title{margin:20px 0 15px}.cancel-btn{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-right:10px}.cancel-btn,.save-btn{cursor:pointer;padding:8px 15px}.save-btn{background-color:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff}.profile-buttons{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.save-button{background-color:#5b21b6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s,transform .1s}.save-button:hover{background-color:#4c1d95}.save-button:focus{box-shadow:0 0 0 2px #5b21b64d;outline:none}.save-button:active{transform:translateY(1px)}.save-button:disabled{background-color:#9ca3af;cursor:not-allowed}.cancel-button{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s,transform .1s}.cancel-button:hover{background-color:#e5e7eb}.cancel-button:focus{box-shadow:0 0 0 2px #d1d5db80;outline:none}.cancel-button:active{transform:translateY(1px)}.cancel-button:disabled{cursor:not-allowed;opacity:.6}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{margin:0}.edit-button{align-items:center;border-radius:6px;display:flex;font-size:.9rem;font-weight:500;gap:8px;transition:background-color .2s}.edit-button:hover{background-color:#4c1d95}.edit-button:focus{box-shadow:0 0 0 2px #5b21b64d;outline:none}.edit-button:active{transform:translateY(1px)}.settings-container{background-color:var(--bg-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:25px}.settings-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.settings-header h3{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin:0}.settings-tabs{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;margin-bottom:25px;padding:5px}.tab-btn{background:none;border:none;border-radius:var(--border-radius);color:var(--text-color-light);cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 20px;position:relative;transition:all .2s ease}.tab-btn:hover{background-color:#5b21b60d;color:var(--primary-color)}.tab-btn.active{background-color:#5b21b61a;color:var(--primary-color);font-weight:600}.settings-section{animation:fadeIn .3s ease;margin-bottom:30px}.settings-section h4{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:1.2rem;font-weight:600;margin:0 0 20px;padding-bottom:10px}.settings-subsection{background-color:var(--bg-color);border-radius:var(--border-radius);margin-bottom:25px;padding:20px}.settings-subsection h5{color:var(--text-color);font-size:1.05rem;font-weight:600;margin:0 0 15px}.form-group{margin-bottom:20px}.form-group.grid{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:200px 1fr}.form-group label{color:var(--text-color);margin-bottom:8px}.form-group.grid label{margin-bottom:0}.form-hint{color:var(--text-color-light);font-size:.85rem;margin-top:5px}.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=tel],.form-group input[type=text],.form-group select,.form-group textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);font-size:.95rem;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280'%3E%3Cpath d='m8 11.5-5-5h10l-5 5z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:30px}.form-group.checkbox{align-items:center;display:flex;margin-bottom:12px}.form-group.checkbox input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:var(--checkbox-bg);border:1px solid var(--checkbox-border);border-radius:4px;cursor:pointer;height:20px;margin-right:10px;position:relative;transition:all .2s;width:20px}.form-group.checkbox input[type=checkbox]:checked{background-color:var(--checkbox-checked-bg);border-color:var(--primary-color)}.form-group.checkbox input[type=checkbox]:checked:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;content:"";height:10px;left:5px;position:absolute;top:5px;width:10px}.form-group.checkbox label{cursor:pointer;margin-bottom:0}.checkbox-group-vertical{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:15px}.checkbox-container{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:10px}.checkbox-item{align-items:center;display:flex}.checkbox-item input{margin-right:8px}.nested-settings{background-color:#fff;border-left:2px solid var(--border-color);border-radius:0 var(--border-radius) var(--border-radius) 0;margin-left:30px;margin-top:15px;padding:15px}.form-actions{justify-content:flex-end;margin-top:30px}.save-settings-btn{background-color:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .2s}.save-settings-btn:hover{background-color:var(--primary-color-dark)}.save-settings-btn:disabled{background-color:var(--text-color-light);cursor:not-allowed}.loading-indicator{color:var(--text-color-light);padding:30px}.loading-indicator:after{animation:spinner 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);content:"";height:30px;margin-top:15px;width:30px}@keyframes spinner{to{transform:rotate(1turn)}}.error-message,.success-message{align-items:center;border-radius:var(--border-radius);display:flex;margin-bottom:20px;padding:12px 15px}.error-message:before,.success-message:before{background-position:50%;background-repeat:no-repeat;content:"";height:20px;margin-right:10px;width:20px}.success-message{background-color:#ecfdf5;border:1px solid #10b981;color:#065f46}.success-message:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23065f46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpath d='M22 4 12 14.01l-3-3'/%3E%3C/svg%3E")}.error-message{background-color:#fee2e2;border:1px solid #ef4444;color:#b91c1c}.error-message:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E")}.retry-button{background-color:var(--primary-color);border:none;color:#fff;cursor:pointer;margin-top:15px;padding:10px 15px}.info-message,.retry-button{border-radius:var(--border-radius)}.info-message{background-color:#f0f9ff;border-left:4px solid #3b82f6;color:var(--text-color);margin:15px 0;padding:12px 15px}.info-message p{font-size:.95rem;margin:5px 0}.info-icon{align-items:center;background-color:#3b82f6;border-radius:50%;color:#fff;display:inline-flex;font-size:.85rem;font-style:italic;font-weight:700;height:20px;justify-content:center;margin-right:8px;width:20px}.working-hours-editor{background-color:var(--bg-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:30px;padding:20px}.working-hours-editor h3{color:var(--primary-color);font-size:1.3rem;margin:0 0 20px}.day-selector-tabs{border-bottom:1px solid var(--border-color);display:flex;margin-bottom:20px;overflow-x:auto}.day-tab{background:none;border:none;cursor:pointer;font-size:.95rem;padding:10px 15px;position:relative;transition:all .2s;white-space:nowrap}.day-tab.active{color:var(--primary-color);font-weight:600}.day-tab.active:after{background-color:var(--primary-color);bottom:-1px;content:"";height:3px;left:0;position:absolute;right:0}.day-tab.disabled{color:var(--text-color-light);text-decoration:line-through}.day-slots-container{display:flex;flex-direction:column;gap:20px}.day-slots{border-radius:var(--border-radius);padding:15px;transition:all .2s}.day-slots.active{background-color:var(--bg-color);border:1px solid var(--border-color)}.day-slots.disabled{background-color:#f1f5f9;border:1px dashed var(--border-color)}.day-header{justify-content:space-between}.day-header h4{font-size:1.1rem;margin:0}.day-status{border-radius:12px;font-size:.85rem;padding:4px 8px}.day-slots.active .day-status{background-color:#dcfce7;color:#166534}.day-slots.disabled .day-status{background-color:#fee2e2;color:#b91c1c}.time-slots-list{display:flex;flex-direction:column;gap:10px}.no-slots-message{padding:10px}.time-slot-item{align-items:center;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;padding:10px}.time-input-group{display:flex;flex-direction:column}.time-input-group label{color:var(--text-color-light);font-size:.8rem;margin-bottom:3px}.time-input-group input{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:8px;width:120px}.divider{color:var(--text-color-light);margin:0 15px}.remove-slot-btn{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:1.5rem;padding:0 10px}.add-slot-btn{background-color:initial;border:1px dashed var(--border-color);border-radius:var(--border-radius);color:var(--primary-color);cursor:pointer;margin-top:10px;padding:10px;text-align:center;transition:all .2s}.add-slot-btn:hover{background-color:#5b21b60d}.working-hours-legend{display:flex;gap:20px;justify-content:center;margin-top:20px}.legend-item{align-items:center;display:flex;gap:8px}.color-box{border-radius:3px;height:16px;width:16px}.color-box.enabled{background-color:#dcfce7;border:1px solid #166534}.color-box.disabled{background-color:#fee2e2;border:1px solid #b91c1c}.schedule-viewer{margin-top:30px}.schedule-calendar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-top:15px}.calendar-day{border:1px solid var(--border-color);border-radius:var(--border-radius);min-height:150px;overflow:hidden}.day-name{border-bottom:1px solid var(--border-color);font-weight:600;padding:8px;text-align:center}.day-content{padding:10px}.calendar-day.enabled .day-name{background-color:var(--primary-color);color:#fff}.calendar-day.disabled .day-name{background-color:#f1f5f9;color:var(--text-color-light)}.calendar-day.disabled .day-content{align-items:center;background-color:#f1f5f9;display:flex;height:100%;justify-content:center}.disabled-text{color:var(--text-color-light);font-style:italic}.time-block{background-color:#e0f2fe;border-radius:var(--border-radius);color:#0c4a6e;font-size:.9rem;margin:5px 0;padding:8px}.calendar-month-grid{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;overflow:hidden}.month-header{background-color:var(--primary-color);color:#fff;display:grid;grid-template-columns:repeat(7,1fr)}.month-weekday{font-size:.9rem;font-weight:600;padding:10px;text-align:center}.month-days-grid{display:grid;grid-auto-rows:minmax(100px,auto);grid-template-columns:repeat(7,1fr)}.month-day-cell{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);min-height:100px;padding:8px;position:relative}.month-day-cell:nth-child(7n){border-right:none}.month-day-cell.other-month{background-color:#f8fafc;color:var(--text-color-light)}.month-day-cell.today{background-color:#e0f2fe}.month-day-cell.disabled{background-color:#fee2e2}.month-day-number{font-size:1.1rem;font-weight:600;margin-bottom:5px}.month-day-cell.other-month .month-day-number{opacity:.6}.day-status-indicator{border-radius:2px;bottom:5px;height:4px;left:5px;position:absolute;right:5px}.day-status-indicator.available{background-color:#34d399;opacity:.7}.day-status-indicator.no-slots{background-color:#fbbf24;opacity:.7}.calendar-container .calendar-legend{margin-top:15px}@media (max-width:768px){.dashboard-sidebar{width:60px}.dashboard-logo h1,.item-label,.sidebar-footer p{display:none}.item-icon{font-size:1.5rem;margin-right:0}.sidebar-menu-item{justify-content:center;padding:15px}.profile-content{flex-direction:column}.profile-avatar{margin-bottom:20px;margin-right:0;width:100%}.calendar-name{flex-wrap:nowrap!important;font-size:1rem;gap:8px}.default-badge{flex-shrink:0!important;font-size:11px;padding:2px 8px;white-space:nowrap}.calendar-info{flex-wrap:nowrap;overflow-x:auto}}.working-hours-subsection{margin-top:30px}.section-description{color:var(--text-color-light);font-size:.95rem;margin-bottom:20px}.days-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.day-button{align-items:center;background:none;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;padding:8px;position:relative;transition:all .2s ease;width:60px}.day-button:hover{background-color:var(--bg-color);transform:translateY(-2px)}.day-name{font-size:.95rem;font-weight:500;margin-bottom:8px}.day-status-indicator{align-items:center;border-radius:50%;display:flex;height:36px;justify-content:center;position:relative;transition:all .2s ease;width:36px}.day-button.enabled{background-color:#10b9811a}.day-button.disabled{background-color:#ef44440d}.day-button.enabled .day-name{color:var(--primary-color)}.day-button.disabled .day-name{color:var(--text-color-light)}.day-button.enabled .day-status-indicator{background-color:var(--primary-color);border:2px solid var(--primary-color)}.day-button.enabled .day-status-indicator:after{color:#fff;content:"✓";font-size:1rem}.day-button.disabled .day-status-indicator{background-color:initial;border:2px solid var(--border-color)}.working-hours-config{display:flex;flex-direction:column;gap:25px}.day-config{animation:fadeIn .3s ease;border-left:3px solid var(--primary-color);padding-left:15px;position:relative}.day-header{align-items:center;margin-bottom:15px}.day-header h6{color:var(--primary-color);font-size:1.05rem;font-weight:600;margin:0}.no-slots-message{color:var(--text-color-light);font-size:.9rem;font-style:italic;margin-left:10px}.slots-container{display:flex;flex-direction:column;gap:12px}.time-slot{align-items:center;background-color:var(--bg-color);border-radius:var(--border-radius);display:flex;padding:8px 15px;transition:box-shadow .2s ease}.time-slot:hover{box-shadow:0 2px 4px #0000000d}.time-inputs{align-items:center;display:flex;flex:1 1}.time-input{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);font-size:.95rem;padding:8px 12px;transition:border-color .2s;width:110px}.time-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #5b21b61a;outline:none}.time-separator{color:var(--text-color-light);font-size:.9rem;margin:0 12px}.remove-slot-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-color-light);cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;opacity:.7;transition:opacity .2s,color .2s;width:30px}.remove-slot-button:hover{background-color:#fee2e2;color:#b91c1c;opacity:1}.add-slot-button{background:none;border:1px dashed var(--border-color);border-radius:var(--border-radius);color:var(--primary-color);cursor:pointer;font-size:.9rem;margin-top:5px;padding:10px;text-align:center;transition:all .2s}.add-slot-button:hover{background-color:#5b21b60d}.days-disabled-info{background-color:#f8fafc;border-left:3px solid #94a3b8;border-radius:var(--border-radius);margin-top:25px;padding:12px 15px}.info-circle{align-items:center;background-color:#94a3b8;border-radius:50%;color:#fff;display:inline-flex;font-size:.85rem;font-style:italic;font-weight:700;height:20px;justify-content:center;margin-right:8px;width:20px}.booking-links-container{padding:20px;width:100%}.booking-links-container h2{border-bottom:1px solid var(--border-color);color:var(--primary-color);font-size:1.8rem;margin-bottom:20px;padding-bottom:10px}.booking-link-section{background-color:var(--bg-color);border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:24px;padding:20px}.booking-link-section h3{color:var(--text-color);font-size:1.2rem;margin-bottom:15px;margin-top:0}.calendar-booking-link{border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:20px}.calendar-booking-link:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.calendar-info{align-items:center;display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:10px}.calendar-name{flex:1 1;font-size:1.1rem;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-name,.default-badge{font-weight:600;white-space:nowrap}.default-badge{background-color:#4a90e2;border:1px solid #fff6;border-radius:12px;box-shadow:0 2px 4px #4a90e24d;color:#fff!important;flex-shrink:0;font-size:12px;letter-spacing:.3px;padding:3px 10px;text-shadow:0 1px 2px #0003}.booking-link-display{border-radius:8px;box-shadow:none;display:flex;flex-direction:column;gap:10px;overflow:visible}.booking-link-input{background-color:#f9f9f9;background-color:var(--input-bg-color,#f9f9f9);border:1px solid #ddd;border-radius:6px;color:var(--text-color);font-size:14px;padding:12px 14px;width:100%}.booking-link-actions{display:flex;flex-direction:row;gap:8px}.copy-button,.print-pdf-button,.regenerate-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;justify-content:center;min-height:44px;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.copy-button{background-color:#4a90e2;box-shadow:0 2px 4px #4a90e24d;color:#fff}.copy-button:hover{background-color:#3a80d2;box-shadow:0 4px 8px #4a90e266;transform:translateY(-1px)}.regenerate-button{background-color:#f8f9fa;border:1px solid #ddd;color:#333}.regenerate-button:hover{background-color:#e9ecef;border-color:#ccc}.print-pdf-button{background:linear-gradient(135deg,#5b21b6,#7c3aed);box-shadow:0 2px 4px #5b21b64d}.print-pdf-button:hover{background:linear-gradient(135deg,#4c1d95,#6d28d9);box-shadow:0 4px 8px #5b21b666;transform:translateY(-1px)}.booking-link-help{color:#666;font-size:14px;margin-top:10px}.calendar-selector{margin-bottom:20px}.loading-indicator{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 0}.spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#4a90e2;height:36px;margin-bottom:10px;width:36px}.no-calendars-message{color:#666;padding:30px 0;text-align:center}.send-link-form .form-row{display:flex;gap:15px;margin-bottom:15px}.send-link-form .form-group{flex:1 1}.send-link-form label{color:var(--text-color);display:block;font-size:14px;font-weight:500;margin-bottom:5px}.send-link-form input,.send-link-form select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;width:100%}.email-preview{background-color:#f5f5f5;color:#666;margin-bottom:15px}.send-button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.send-button:hover{background-color:#3a80d2}.alert{border-radius:4px;margin-top:20px;padding:12px 16px}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-warning{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.email-preview{background-color:var(--bg-color);border-left:3px solid var(--primary-color);border-radius:4px;color:var(--text-color-light);font-size:.9rem;font-style:italic;margin:10px 0 15px;padding:10px}.calendar-appointment .appointment-client{color:var(--primary-color-dark)!important;font-weight:700!important;margin-bottom:5px}.calendar-appointment .appointment-client strong{font-weight:600!important}.appointment-client{font-size:.9rem;font-weight:700!important}.calendar-appointment{background-color:#e0f2fe;border-left:3px solid var(--primary-color);border-radius:4px;cursor:pointer;margin-bottom:5px;padding:5px;transition:background-color .2s}.calendar-appointment:hover{background-color:#dbeafe}.appointment-time{color:var(--text-color-medium);font-size:.85rem}.appointment-client{color:var(--primary-color-dark);font-weight:700;margin:3px 0}.appointment-service{color:var(--text-color-medium);font-size:.8rem;font-style:italic}.week-appointment-client{color:var(--primary-color-dark);font-weight:bolder}.modal-overlay{bottom:0;left:0;right:0;top:0;z-index:1000}.appointment-details-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:15px 20px}.modal-header h3{color:var(--primary-color);margin:0}.modal-content{padding:20px}.modal-footer{gap:10px;padding:15px 20px}.appointment-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-top:15px}.info-item{display:flex;flex-direction:column}.info-item.full-width{grid-column:1/-1}.info-label{color:var(--text-color-medium);font-size:.9rem;font-weight:700;margin-bottom:4px}.info-value{color:var(--text-color-dark)}.info-notes{background-color:var(--gray-100);border-radius:4px;font-style:italic;padding:10px;white-space:pre-line}.close-button{background:none;border:none;color:var(--text-color-medium);cursor:pointer;font-size:24px}.close-button:hover{color:var(--text-color-dark)}.close-button-text{background-color:var(--gray-200);color:var(--text-color-dark)}.close-button-text,.edit-button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.edit-button{background-color:var(--primary-color);color:#fff}.delete-button{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:auto;padding:8px 16px}.date-range-container{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.date-range-container .form-group{flex:1 1;min-width:200px}.create-calendar-btn{background-color:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .2s}.create-calendar-btn:hover{background-color:var(--primary-color-dark)}.create-calendar-btn:disabled{background-color:var(--text-color-light);cursor:not-allowed}.print-pdf-button{background-color:#5b21b6;border:none;border-radius:6px;box-shadow:0 2px 8px #5b21b61a;color:#fff;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.2px;margin-left:8px;margin-right:0;outline:none;padding:8px 18px;position:relative;transition:background .2s,box-shadow .2s,transform .1s;z-index:1}.print-pdf-button:focus,.print-pdf-button:hover{background-color:#4c1d95;box-shadow:0 4px 16px #5b21b62e;transform:translateY(-2px) scale(1.03)}.print-pdf-button:active{background-color:#3b1970;box-shadow:0 1px 4px #5b21b61a;transform:translateY(1px) scale(.98)}.print-pdf-button:disabled{background-color:#bdb5d5;box-shadow:none;color:#f3f3f3;cursor:not-allowed}:root{--white:#fff;--danger-color:#ef4444}.home-page{background-color:#f9fafb;background-color:var(--bg-color);color:#1f2937;color:var(--text-color);font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden;width:100%}.home-nav{background-color:#5b21b6;box-shadow:0 2px 10px #0003;left:0;padding:10px 0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.home-nav.scrolled{padding:15px 0}.nav-container{justify-content:space-between;padding:0 15px}.logo,.nav-container{align-items:center;display:flex}.logo{z-index:999}.logo img{filter:brightness(0) invert(1);height:70px!important}@media (max-width:768px){.home-nav{min-height:60px;padding:8px 0}.logo img{height:50px!important;width:auto!important}.hero-section{padding-top:110px!important}}.nav-links{align-items:center;display:flex}.nav-links a{color:#ffffffe6;font-size:1rem;font-weight:500;margin:0 20px;text-decoration:none;transition:color .3s ease}.nav-links a:hover{color:#fff}.nav-auth{align-items:center;display:flex;margin-left:20px}.login-btn{background-color:initial;border:1px solid #fff6;border-radius:8px;color:#fff;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .3s ease}.login-btn:hover{background-color:#ffffff1a;border-color:#fffc;transform:translateY(-2px)}.login-btn:hover,.signup-btn{box-shadow:0 4px 8px #0000001a}.signup-btn{background-color:#fff;border:none;border-radius:8px;color:#5b21b6!important;font-weight:600;padding:12px 24px;transition:all .3s ease}.signup-btn:hover{background-color:#f3f4f6;box-shadow:0 6px 12px #5b21b626;transform:translateY(-2px)}.mobile-menu-btn{background-color:#ffffff26;border-radius:50%;box-shadow:0 2px 10px #0000001a;cursor:pointer;display:none;flex-direction:column;height:21px;justify-content:space-between;margin-right:-10px;padding:10px;position:relative;transition:background-color .3s ease,transform .3s ease;width:30px;z-index:1000}.mobile-menu-btn span{background-color:#fff;border-radius:4px;box-shadow:0 1px 2px #0003;display:block;height:2px;transition:all .4s ease;width:100%}.mobile-menu-btn:hover{background-color:#ffffff4d;transform:scale(1.05)}.mobile-menu-btn:hover span{background-color:#fff;margin-left:auto;margin-right:auto;width:90%}.mobile-menu-btn.active{background-color:#fff;transform:rotate(180deg)}.mobile-floating-login-btn{align-items:center;background-color:#5b21b6;border:none;border-radius:28px;bottom:24px;box-shadow:0 4px 12px #5b21b640;color:#fff;cursor:pointer;display:none;display:flex;font-size:15px;font-weight:600;gap:8px;height:56px;justify-content:center;padding:0 20px;position:fixed;right:16px;transition:transform .2s,background-color .2s;white-space:nowrap;z-index:900}.mobile-floating-login-btn svg{flex-shrink:0}.mobile-floating-login-btn:active{background-color:#4c1d95;transform:scale(.95)}@media (min-width:769px){.mobile-floating-login-btn{display:none!important}}@media (max-width:768px){.mobile-floating-login-btn{display:flex}}.mobile-menu-btn.active span{background-color:#5b21b6;background-color:var(--primary-color)}.mobile-menu-btn.active span:first-child{background-color:#4c1d95;background-color:var(--primary-color-dark);transform:translateY(9px) rotate(45deg);width:100%}.mobile-menu-btn.active span:nth-child(2){opacity:0;transform:translateX(-10px)}.mobile-menu-btn.active span:nth-child(3){background-color:#4c1d95;background-color:var(--primary-color-dark);transform:translateY(-9px) rotate(-45deg);width:100%}.hero-section{align-items:center;display:flex;margin:0 auto;max-width:1200px;min-height:700px;padding:160px 0 100px;width:90%}.hero-content{flex:1 1;padding-right:40px}.hero-content h1{animation:fadeInUp .8s ease-out;background:#5b21b6;background:var(--primary-color);-webkit-background-clip:text;background-clip:text;color:#1f2937;color:var(--text-color);color:#0000;font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:24px;max-width:600px}.hero-content p{animation:fadeInUp .8s ease-out .2s forwards;color:#6b7280;color:var(--text-color-light);font-size:1.25rem;margin-bottom:40px;max-width:540px;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-buttons{animation:fadeInUp .8s ease-out .4s forwards;display:flex;gap:20px;opacity:0}.primary-button{background-color:#5b21b6;background-color:var(--primary-color);border:none;border-radius:8px;box-shadow:0 4px 8px #5b21b626;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.primary-button:hover{background-color:#4c1d95;background-color:var(--primary-color-dark);box-shadow:0 6px 12px #5b21b633;transform:translateY(-2px)}.primary-button:active{box-shadow:0 4px 8px #5b21b633;transform:translateY(-1px)}.primary-button-inverted{background-color:#fff;border:none;border-radius:8px;box-shadow:0 4px 8px #5b21b626;color:#5b21b6;color:var(--primary-color);cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.primary-button-inverted:hover{background-color:#4c1d95;background-color:var(--primary-color-dark);box-shadow:0 6px 12px #5b21b633;transform:translateY(-2px)}.primary-button-inverted:active{box-shadow:0 4px 8px #5b21b633;transform:translateY(-1px)}.secondary-button{background-color:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#1f2937;color:var(--text-color);display:inline-block;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.secondary-button:hover{background-color:#f3f4f6;background-color:var(--gray-100);border-color:#d1d5db;border-color:var(--gray-300);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.secondary-button:active{box-shadow:0 2px 4px #0000000d;transform:translateY(0)}.hero-image{align-items:center;animation:float 6s ease-in-out infinite;display:flex;flex:1 1;justify-content:center}.hero-image img{border-radius:12px;box-shadow:0 20px 40px #0000001a;height:auto;max-width:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.stats-section{background-color:#fff;background-color:var(--white);box-shadow:0 -5px 15px #0000000d;padding:60px 0}.stats-container{display:flex;flex-wrap:wrap;justify-content:space-around;margin:0 auto;max-width:1200px;width:90%}.stat-item{animation:fadeIn 1s ease-out;min-width:200px;padding:20px;text-align:center}.stat-item h3{color:#5b21b6;color:var(--primary-color);font-size:2.5rem;font-weight:700;margin-bottom:10px}.stat-item p{color:#6b7280;color:var(--text-color-light);font-size:1rem}.section-header{margin:0 auto 60px;max-width:700px;text-align:center}.section-header h2{color:#1f2937;color:var(--text-color);font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:20px}.section-header p{color:#6b7280;color:var(--text-color-light);font-size:1.25rem}.features-section{background-color:#f9fafb;background-color:var(--bg-color);padding:100px 0}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1200px;width:90%}.feature-card{background-color:#fff;background-color:var(--white);border-radius:12px;box-shadow:0 5px 15px #0000000d;padding:40px 30px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-10px)}.feature-icon{align-items:center;background:linear-gradient(45deg,#5b21b6,#8b5cf6);background:linear-gradient(45deg,var(--primary-color),var(--primary-color-light));border-radius:50%;box-shadow:0 10px 20px #5b21b626;color:#fff;display:flex;font-size:2rem;height:80px;justify-content:center;margin:0 auto 30px;width:80px}.feature-card h3{color:#1f2937;color:var(--text-color);font-size:1.5rem;font-weight:700;margin-bottom:15px}.feature-card p{color:#6b7280;color:var(--text-color-light);font-size:1rem;line-height:1.6}.how-it-works-section{background-color:#fff;background-color:var(--white);overflow:hidden;padding:100px 0;position:relative}.steps-container{display:flex;flex-direction:column;gap:40px;margin:0 auto;max-width:800px;position:relative;width:90%}.steps-container:before{background-color:#5b21b6;background-color:var(--primary-color);bottom:0;content:"";left:38px;opacity:.3;position:absolute;top:0;width:4px}.step{align-items:flex-start;padding-left:30px}.step,.step-number{display:flex;position:relative}.step-number{align-items:center;background-color:#5b21b6;background-color:var(--primary-color);border-radius:50%;box-shadow:0 10px 20px #5b21b633;color:#fff;flex-shrink:0;font-size:2rem;font-weight:700;height:80px;justify-content:center;margin-right:30px;width:80px;z-index:2}.step-content{background-color:#f9fafb;background-color:var(--bg-color);border-radius:12px;box-shadow:0 5px 15px #0000000d;flex-grow:1;padding:30px}.step-content h3{color:#1f2937;color:var(--text-color);font-size:1.5rem;font-weight:700;margin-bottom:10px}.step-content p{color:#6b7280;color:var(--text-color-light);font-size:1rem}.cta-container{margin-top:60px;text-align:center}.testimonials-section{background-color:#f9fafb;background-color:var(--bg-color);padding:100px 0}.testimonials-container{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin:0 auto;max-width:1200px;width:90%}.testimonial-card{background-color:#fff;background-color:var(--white);border-radius:12px;box-shadow:0 5px 15px #0000000d;max-width:350px;padding:30px;transition:transform .3s ease,box-shadow .3s ease;width:100%}.testimonial-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-5px)}.testimonial-rating{color:#f59e0b;font-size:1.25rem;margin-bottom:15px}.testimonial-text{color:#1f2937;color:var(--text-color);font-size:1.1rem;font-style:italic;margin-bottom:20px;min-height:100px}.testimonial-author{align-items:center;display:flex;gap:15px}.testimonial-author img{border-radius:50%;height:60px;object-fit:cover;width:60px}.testimonial-author h4{color:#1f2937;color:var(--text-color);font-size:1.1rem;font-weight:700;margin-bottom:5px}.testimonial-author p{color:#6b7280;color:var(--text-color-light);font-size:.9rem}.pricing-section{background-color:#fff;background-color:var(--white);padding:100px 0}.pricing-container{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin:0 auto;max-width:1200px;width:90%}.pricing-card{background-color:#f9fafb;background-color:var(--bg-color);border-radius:12px;box-shadow:0 5px 15px #0000000d;max-width:350px;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:100%}.pricing-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-10px)}.pricing-card.highlight{background-color:#fff;background-color:var(--white);border:2px solid #5b21b6;border:2px solid var(--primary-color);box-shadow:0 15px 30px #5b21b626;transform:scale(1.05)}.pricing-badge{background-color:#f59e0b;background-color:var(--warning-color);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:5px 10px;position:absolute;right:15px;top:15px}.pricing-header{background-color:#5b21b608;border-bottom:1px solid #5b21b61a;padding:40px 30px;text-align:center}.pricing-header h3{color:#1f2937;color:var(--text-color);font-size:1.8rem;font-weight:700;margin-bottom:20px}.pricing-price{margin-bottom:10px}.price{color:#5b21b6;color:var(--primary-color);font-size:3.5rem;font-weight:700}.period{color:#6b7280;color:var(--text-color-light);font-size:1.1rem}.pricing-features{padding:30px}.pricing-features ul{list-style:none;margin:0;padding:0}.pricing-features li{align-items:center;color:#1f2937;color:var(--text-color);display:flex;font-size:1rem;margin-bottom:15px}.pricing-features li i{color:#10b981;color:var(--success-color);font-size:1.1rem;margin-right:10px}.pricing-action{padding:0 30px 30px;text-align:center}.business-button,.premium-button{border:none;border-radius:8px;box-shadow:0 4px 8px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease;width:100%}.premium-button{background-color:#5b21b6;background-color:var(--primary-color);color:#fff}.premium-button:hover{background-color:#4c1d95;background-color:var(--primary-color-dark);box-shadow:0 6px 12px #5b21b633;transform:translateY(-2px)}.business-button{background-color:#1f2937;background-color:var(--text-color);color:#fff}.business-button:hover{background-color:#1f2937;background-color:var(--gray-800);box-shadow:0 6px 12px #1f293733;transform:translateY(-2px)}.pricing-card.free .primary-button{width:100%}.pricing-table-container{border-radius:12px;box-shadow:0 5px 25px #00000014;margin:0 auto 40px;max-width:1200px;overflow-x:auto;width:90%}.pricing-table{background-color:#fff;border-collapse:collapse;font-size:1rem;overflow:hidden;text-align:center;width:100%}.pricing-table thead{background:linear-gradient(45deg,#5b21b6,#8b5cf6);background:linear-gradient(45deg,var(--primary-color),var(--primary-color-light));color:#fff}.pricing-table th{border:none;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:18px 15px;text-transform:uppercase}.pricing-table td{border:none;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);font-size:.95rem;padding:15px 12px;vertical-align:middle}.pricing-table tr:last-child td{border-bottom:none}.pricing-table tr:hover{background-color:#5b21b608}.pricing-table .highlight-row{background-color:#5b21b60f}.pricing-table .highlight-row td{font-weight:500}.pricing-table .promo-row{background-color:#f6d55c1a}.pack-icon{font-size:1.4rem;margin-right:8px;vertical-align:middle}.pricing-features{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:50px auto 0;max-width:1200px;width:90%}.pricing-feature{align-items:flex-start;background-color:#f9fafb;background-color:var(--bg-color);border-radius:10px;box-shadow:0 5px 15px #0000000d;display:flex;gap:20px;padding:25px;transition:transform .3s ease}.pricing-feature:hover{transform:translateY(-5px)}.pricing-feature .feature-icon{align-items:center;background:linear-gradient(45deg,#5b21b6,#8b5cf6);background:linear-gradient(45deg,var(--primary-color),var(--primary-color-light));border-radius:50%;box-shadow:0 5px 10px #5b21b633;color:#fff;display:flex;flex-shrink:0;font-size:1.3rem;height:50px;justify-content:center;margin:0;width:50px}.pricing-feature .feature-text{flex:1 1}.pricing-feature h4{color:#1f2937;color:var(--text-color);font-size:1.1rem;font-weight:600;margin-bottom:8px}.pricing-feature p{font-size:.95rem;line-height:1.5;margin:0}.pricing-feature p,.pricing-note{color:#6b7280;color:var(--text-color-light)}.pricing-note{font-size:.9rem;margin-top:15px}.faq-section{background-color:#f9fafb;background-color:var(--bg-color);padding:100px 0}.faq-container{margin:0 auto;max-width:800px;width:90%}.faq-item{background-color:#fff;background-color:var(--white);border-radius:12px;box-shadow:0 5px 15px #0000000d;margin-bottom:20px;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.faq-item:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-5px)}.faq-item h3{color:#1f2937;color:var(--text-color);font-size:1.3rem;font-weight:700;margin-bottom:15px}.faq-item p{color:#6b7280;color:var(--text-color-light);font-size:1rem;line-height:1.6}.cta-section{background:linear-gradient(45deg,#5b21b6e6,#4c1d95f2);color:#fff;padding:100px 0;position:relative;text-align:center}.cta-section:before{background-color:#0003;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.cta-content{margin:0 auto;max-width:700px;position:relative;width:90%;z-index:2}.cta-section h2{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:20px;text-shadow:0 2px 4px #0000004d}.cta-section p{font-size:1.25rem;margin-bottom:40px;opacity:1;text-shadow:0 1px 2px #0003}.home-footer{background-color:#1f2937;background-color:var(--gray-800);color:#fff;padding:80px 0 40px}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto 60px;max-width:1200px;width:90%}.footer-logo img{height:40px;margin-bottom:20px}.footer-logo p{color:#d1d5db;color:var(--gray-300);max-width:300px}.footer-links{display:flex;flex-wrap:wrap;gap:60px}.footer-links-column h4{color:#fff;font-size:1.1rem;font-weight:700;margin-bottom:20px}.footer-links-column a{align-items:flex-start;color:#d1d5db;color:var(--gray-300);display:block;margin-bottom:10px;text-align:left;text-decoration:none;transition:color .3s ease}.footer-links-column a:hover{color:#fff}.footer-bottom{align-items:center;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding-top:40px;width:90%}.footer-bottom p{color:#d1d5db;color:var(--gray-300)}.social-links{display:flex;gap:15px}.social-links a{align-items:center;background-color:#ffffff1a;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;transition:background-color .3s ease,transform .3s ease;width:40px}.social-links a:hover{background-color:#5b21b6;background-color:var(--primary-color);transform:translateY(-3px)}.business-button:focus,.login-btn:focus,.premium-button:focus,.primary-button:focus,.secondary-button:focus,.signup-btn:focus{box-shadow:0 0 0 3px #8b5cf666;outline:none}.business-button:active,.login-btn:active,.premium-button:active,.primary-button:active,.secondary-button:active,.signup-btn:active{transform:scale(.98)}@keyframes pulse{0%{box-shadow:0 0 0 0 #5b21b666}70%{box-shadow:0 0 0 10px #5b21b600}to{box-shadow:0 0 0 0 #5b21b600}}.pricing-card.highlight .primary-button{animation:pulse 2s infinite}.double-btn-auth{align-items:center;display:flex;margin-left:20px}.double-btn-main{align-items:stretch;background:#fff;border:1px solid #fff;border-radius:22px;box-shadow:0 2px 10px #5b21b614;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-width:220px;min-height:68px;min-width:170px;overflow:hidden;padding:0;position:relative;transition:box-shadow .18s,border-color .18s}.double-btn-main:hover{border-color:#4c1d95;border-color:var(--primary-color-dark);box-shadow:0 4px 18px #5b21b621}.double-btn-label{background:#fff;border-top-left-radius:19px;border-top-right-radius:19px;color:#5b21b6;color:var(--primary-color);display:block;font-size:1.13rem;font-weight:700;letter-spacing:.01em;line-height:1.1;padding:10px 18px 4px;text-align:center}.double-btn-divider{background:#fff;display:block;height:1px;margin:0;width:100%}.double-btn-secondary{align-items:center;background:#5b21b6;background:var(--primary-color);border:1px solid #fff;border-bottom-left-radius:19px;border-bottom-right-radius:19px;border-top:none;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:1.05rem;font-weight:500;justify-content:center;line-height:1.1;min-height:32px;padding:8px 18px;text-align:center;transition:background .18s,color .18s}.double-btn-secondary:hover{background:#4c1d95;background:var(--primary-color-dark);color:#fff}@media (max-width:600px){.double-btn-main{border-radius:16px;max-width:100vw;min-width:0;width:100%}.double-btn-label{font-size:1rem;padding:8px 8px 2px}.double-btn-secondary{font-size:.95rem;padding:2px 8px 6px}}@media (max-width:1024px){.hero-section{flex-direction:column;padding-top:120px}.hero-content{margin-bottom:40px;padding-right:0;text-align:center}.hero-content h1{font-size:2.8rem;margin:0 auto 20px}.hero-content p{margin:0 auto 30px}.hero-buttons{justify-content:center}}@media (max-width:992px){.hide-mobile{display:none}.pricing-table td,.pricing-table th{font-size:.9rem;padding:12px 10px}.pack-icon{font-size:1.2rem}}@media (max-width:768px){.mobile-menu-btn{display:flex}.nav-links{backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;background-color:#5b21b6d9!important;border-bottom:1px solid #ffffff1a;box-shadow:0 10px 20px #00000040;flex-direction:column;height:100vh;justify-content:flex-start;left:0;opacity:0;overflow-y:auto;padding:120px 20px 40px;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .4s ease-out,opacity .4s ease;z-index:900}.nav-links.active{animation:fadeIn .5s ease forwards;opacity:1;transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-links a{color:#fffffff2;display:block;font-size:1.2rem;font-weight:500;letter-spacing:.05em;margin:15px auto;max-width:280px;padding:12px 0;position:relative;text-align:center;transition:all .3s ease;width:100%}.nav-links a:after{background:#fff;bottom:5px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .4s ease;width:0}.nav-links a:hover{color:#fff;transform:translateY(-2px)}.nav-links a:hover:after{width:60px}.nav-auth{justify-content:center;margin:25px 0 15px;width:100%}.footer-top{flex-direction:column;gap:40px}.footer-links{gap:30px}.footer-bottom{flex-direction:column;gap:20px}}@media (max-width:500px){.hero-section h1{font-size:1.7rem;letter-spacing:-.01em;margin-bottom:12px}.hero-content p{font-size:1rem;margin-bottom:20px}.primary-button,.secondary-button{font-size:1.05rem;padding:12px 18px;width:100%}.home-nav .logo img{height:auto!important;max-width:45vw;width:130px!important}.hero-image img{border-radius:12px;box-shadow:0 10px 25px #00000026;max-width:100%}.section-header h2{font-size:1.6rem;margin-bottom:10px}.section-header p{font-size:1rem}.stat-item h3{font-size:2rem}.mobile-menu-btn{height:40px;padding:8px;width:40px}.mobile-menu-btn span{width:22px}}@media (max-width:900px){.home-nav{box-shadow:0 4px 15px #00000026;min-height:64px;padding:15px 0}.home-nav .logo{position:relative;z-index:1001}.home-nav .logo img{display:block;height:auto!important;width:140px!important}.mobile-menu-btn{align-items:center;background-color:#fff3;border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex!important;flex-direction:column;height:44px;justify-content:center;margin-left:auto;padding:0;transition:all .3s ease;width:44px;z-index:1001}.mobile-menu-btn span{background-color:#fff;border-radius:3px;display:block;height:2.5px;margin:3px 0;transition:all .3s ease;width:24px}.mobile-menu-btn.active{background-color:#fff;transform:rotate(0deg)}.mobile-menu-btn.active span{background-color:#5b21b6}.mobile-menu-btn.active span:first-child{transform:translateY(6px) rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-links.active{align-items:center!important;animation:fadeInMenu .3s ease forwards!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;background-color:#5b21b6d9!important;box-shadow:0 0 20px #0000004d!important;display:flex!important;flex-direction:column!important;gap:15px!important;height:100vh!important;justify-content:center!important;left:0!important;overflow-y:auto!important;padding:80px 20px 40px!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:990!important}.mobile-menu-logo{left:20px!important;position:absolute!important;top:20px!important;z-index:10001!important}.mobile-menu-logo img{filter:brightness(0) invert(1)!important;height:50px!important;position:relative!important;width:auto!important;z-index:1!important}.mobile-menu-close{background-color:#fff3!important;border-radius:50%!important;cursor:pointer!important;height:40px!important;position:absolute!important;right:20px!important;top:20px!important;width:40px!important;z-index:10001!important}}.nav-links.active{align-items:center!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;background-color:#5b21b6d9!important;display:flex!important;flex-direction:column!important;height:100vh!important;justify-content:center!important;left:0!important;padding-top:80px!important;position:fixed!important;right:0!important;top:0!important;transition:all .3s ease-in-out!important;width:100vw!important;z-index:990!important}.mobile-menu-close{align-items:center;background-color:#fff3;border-radius:50%;cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:44px;z-index:991}.mobile-menu-close:hover{background-color:#ffffff4d;transform:scale(1.05)}.mobile-menu-close:after,.mobile-menu-close:before{background-color:#fff;border-radius:3px;content:"";height:3px;position:absolute;width:24px}.mobile-menu-close:before{transform:rotate(45deg)}.mobile-menu-close:after{transform:rotate(-45deg)}@keyframes fadeInCloseButton{0%{opacity:0;transform:rotate(90deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}.mobile-menu-logo{left:20px;position:absolute;top:20px;z-index:10002}.mobile-menu-logo img{filter:brightness(0) invert(1) drop-shadow(0 2px 4px rgba(0,0,0,.2));height:50px;width:auto}.logo{position:relative}.logo,.logo img{z-index:1000!important}.logo img{height:80px!important;max-width:none!important;position:relative!important;width:auto!important}@media (max-width:768px){.logo img{height:60px!important;width:auto!important}}.calendar-container{background-color:#fff;border:1px solid #eaeaea;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:100%;margin-bottom:30px;overflow:hidden}.calendar-header{align-items:center;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:15px;padding:20px}.calendar-title h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.calendar-navigation{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.nav-button{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;justify-content:center;padding:8px 12px;transition:all .2s ease}.nav-button:hover{background-color:#f3f4f6;border-color:#c3c8d0}.nav-button.today{background-color:#5b21b6;border-color:#4c1d95;color:#fff}.nav-button.today:hover{background-color:#4c1d95}.calendar-view-selector{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;overflow:hidden}.view-button{background-color:initial;border:none;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s ease,color .2s ease}.view-button:hover{background-color:#f3f4f6}.view-button.active{background-color:#5b21b6;color:#fff}.view-button.disabled{color:#9ca3af;cursor:not-allowed;opacity:.6}.view-button.disabled,.view-button.disabled:hover{background-color:#f3f4f6}.calendar-selector{display:inline-block;margin-right:15px;min-width:150px;position:relative}.calendar-selector select{border:1px solid #ccc;cursor:pointer;padding:8px 10px;transition:border-color .2s ease;width:100%}.calendar-selector select:hover{border-color:#aaa}.calendar-selector select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.calendar-selector.loading:after{animation:spin 1s linear infinite;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#5b21b6;content:"";height:16px;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px}.calendar-selector.loading select{padding-right:30px}.calendar-selector select option{padding:8px}.calendar-selector .calendar-field{align-items:center;display:flex;gap:8px}.calendar-selector select{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;flex-grow:1;font-size:14px;min-width:150px;padding:6px 8px}.calendar-change-btn{background-color:#5b21b6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 10px;transition:background-color .2s;white-space:nowrap}.calendar-change-btn:hover{background-color:#4c1d95}.calendar-change-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.detail-row.calendar-selector{border-bottom:1px dashed #e5e7eb;border-top:1px dashed #e5e7eb;margin-bottom:10px;margin-top:10px;padding-bottom:8px;padding-top:8px}.calendar-view{background-color:#fff;flex:1 1;overflow:auto}.calendar-error,.calendar-loading{align-items:center;display:flex;flex-direction:column;gap:15px;height:300px;justify-content:center}.loading-spinner{border:4px solid #f3f4f6;border-top-color:#5b21b6}.day-view,.day-view-container{display:flex;flex-direction:column;height:100%;min-height:600px}.day-view-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:10px;overflow-y:auto;width:100%}.day-grid{border:1px solid #e5e7eb;border-radius:4px;display:flex;flex:1 1;margin:0;min-height:500px;padding:0}.time-labels{background-color:#f9fafb;border-right:1px solid #e5e7eb;flex-shrink:0;width:60px}.day-content{flex:1 1;margin:0;min-width:0;padding:0}.hour-row{cursor:pointer;flex-direction:column;margin:0;min-height:60px;padding:0;position:relative}.hour-row:hover:not(.inactive){background-color:#f3f4f6}.time-slot{border-bottom:1px dashed #e5e7eb;box-sizing:border-box;height:15px!important;margin:0;max-height:15px!important;min-height:15px!important;padding:0;position:relative}.time-slot.minute-45{border-bottom:1px solid #e5e7eb}.time-slot:last-child{border-bottom:none}.time-slot.has-appointments{background-color:#f9fafb}.slot-time{color:#9ca3af;font-size:.6rem;left:0;padding:0 2px;position:absolute;top:0}.slot-appointments-grid{display:flex;flex-direction:column;gap:2px;height:auto;left:0;min-height:100%;padding:1px;position:absolute;top:0;width:100%;z-index:2}.day-appointment{background-color:#fff;border-left:3px solid #5b21b6;border-radius:3px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;flex-direction:column;font-size:10px;line-height:1.2;min-height:15px;overflow:visible;padding:3px 6px;position:relative;width:calc(100% - 4px);z-index:3}.day-appointment-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-appointment .day-appointment-time{color:#5b21b6;flex-shrink:0;font-size:10px;font-weight:600;margin-right:5px;white-space:nowrap}.day-appointment .day-appointment-client{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.more-appointments{background-color:#5b21b61a;border-radius:2px;color:#5b21b6;font-size:10px;padding:2px 4px;white-space:nowrap;width:calc(100% - 4px)}.calendar-split-view{display:flex;height:100%;min-height:600px;width:100%}.calendar-column{border-right:1px solid #e5e7eb;flex:3 1;overflow-y:auto;padding-right:10px}.details-column{background-color:#f9fafb;border-left:1px solid #e5e7eb;flex:2 1;overflow-y:auto;padding:20px}.appointment-details-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0;width:100%}.details-empty-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px;text-align:center}.details-empty-state svg{color:#d1d5db;height:80px;margin-bottom:20px;width:80px}.details-empty-state h3{color:#4b5563;font-size:1.2rem;font-weight:500;margin-bottom:10px}.details-empty-state p{font-size:.95rem;line-height:1.5;margin:0 auto;max-width:300px}.appointment-details-popup{animation:none;border-radius:8px;max-height:100%;max-width:100%;position:static;transform:none;width:100%}@media (max-width:1024px){.calendar-split-view{flex-direction:column;height:auto;min-height:0}.calendar-column,.details-column{flex:none;width:100%}.calendar-column{border-bottom:1px solid #e5e7eb;border-right:none;height:auto;overflow-y:visible;padding-bottom:20px;padding-right:0}.details-column{border-left:none;border-top:1px solid #e5e7eb;height:auto;min-height:0}}.appointment-details-popup{animation:popupFadeIn .3s ease-out;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 30px #00000026,0 2px 8px #00000014;left:50%;max-height:80vh;max-width:90vw;overflow:hidden;padding:0;position:fixed;top:50%;transform:translate(-50%,-50%);width:360px;z-index:1000}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.popup-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px;position:sticky;top:0}.popup-header h3{color:#111827;font-weight:600}.popup-close{align-items:center;background:#0000;border-radius:50%;color:#6b7280;display:flex;font-size:1.8rem;height:28px;justify-content:center;margin:0;transition:background-color .2s;width:28px}.popup-close:hover{background-color:#f3f4f6;color:#111827}.popup-content{max-height:calc(80vh - 65px)}.detail-row{align-items:flex-start;display:flex;font-size:.95rem;margin-bottom:16px}.detail-label{color:#4b5563;flex:0 0 35%;font-weight:600;padding-right:12px}.detail-value{color:#111827;flex:1 1;word-break:break-word}.detail-row.notes{flex-direction:column}.detail-row.notes .detail-label{margin-bottom:8px}.detail-row.notes .detail-value{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem;line-height:1.5;min-height:80px;padding:12px;white-space:pre-wrap;width:100%}.detail-value.status-confirmed{color:#059669;font-weight:600}.detail-value.status-pending{color:#d97706;font-weight:600}.detail-value.status-canceled{color:#dc2626;font-weight:600}.detail-value.status-completed{color:#2563eb;font-weight:600}.popup-actions{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.popup-action{border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s}.popup-action.primary{background-color:#5b21b6;border:none;color:#fff}.popup-action.primary:hover{background-color:#4c1d95}.popup-action.secondary{background-color:#fff;border:1px solid #d1d5db;color:#4b5563}.popup-action.secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.popup-action.danger{background-color:#fff;border:1px solid #fecaca;color:#dc2626}.popup-action.danger:hover{background-color:#fee2e2;border-color:#ef4444}.week-view{overflow-x:auto;width:100%}.week-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.time-header{border-right:1px solid #e5e7eb;width:80px}.day-header,.time-header{border-bottom:1px solid #e5e7eb;height:60px}.day-header{background-color:#f9fafb;display:flex;flex-direction:column;justify-content:center;padding:8px 4px;text-align:center}.day-header:last-child{border-right:none}.day-header.today{background-color:#ede9fe;color:#5b21b6}.day-name{color:#6b7280;font-size:.8rem;margin-bottom:4px}.day-number{color:#1f2937;font-size:1.1rem;font-weight:600}.current-day .day-name,.current-day .day-number{color:#0369a1}.week-grid{border:1px solid #e5e7eb;border-radius:8px;display:flex;min-width:800px}.hour-label,.hour-row{border-bottom:1px solid #e5e7eb;display:flex;height:60px}.hour-label{align-items:center;color:#6b7280;font-size:.8rem;justify-content:center}.week-view .day-column{border-right:1px solid #e5e7eb;flex:1 1;min-width:120px}.week-view .day-column:last-child{border-right:none}.week-appointment-card{border-left:3px solid #6366f1;height:20px;margin:2px 0}.week-appointment-card .week-appointment-time{margin-right:4px;min-width:35px}.month-view{display:flex;flex-direction:column;min-height:800px}.month-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.weekday-header{color:#4b5563;flex:1 1;font-size:.85rem;font-weight:600;letter-spacing:.05em;padding:10px;text-align:center;text-transform:uppercase}.month-grid{border-left:1px solid #e5e7eb;display:grid;flex:1 1;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.day-cell{background-color:#fff;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;max-height:120px;min-height:120px;overflow:hidden;padding:8px;transition:background-color .2s ease}.day-active{background-color:#f0f9ff;cursor:pointer}.day-inactive{cursor:not-allowed!important;position:relative}.day-active:hover{background-color:#e0f2fe}.day-inactive:hover{background-color:#fecaca!important}.day-cell.other-month{background-color:#f9fafb;color:#9ca3af}.day-cell.today{background-color:#ede9fe}.day-cell.day-past{color:#9ca3af}.day-cell.today .day-number{background-color:#5b21b6;color:#fff}.day-number{border-radius:50%;display:inline-block;font-weight:500;height:25px;line-height:25px;margin-bottom:5px;text-align:center;width:25px}.day-appointments{display:flex;flex-direction:column;gap:2px;margin-top:5px;max-height:52px;overflow-y:auto}.more-appointments{color:#6b7280;padding:2px}.more-appointments,.more-appointments-indicator{background-color:#f3f4f6;border-radius:3px;font-size:.75rem;margin-top:2px;text-align:center}.more-appointments-indicator{color:#5b21b6;cursor:pointer;font-weight:600;padding:2px 4px}.more-appointments-indicator:hover{background-color:#e5e7eb}.day-inactive:before,.hour-row.inactive:before{background-image:repeating-linear-gradient(45deg,#ef44441a,#ef44441a 10px,#ef44440d 0,#ef44440d 20px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.day-unavailable{background-color:#e0f2fe!important;cursor:not-allowed!important;position:relative}.day-unavailable:hover{background-color:#bae6fd!important}.unavailable-month-badge{background-color:#0284c7;border-radius:3px;color:#fff;font-size:8px;padding:2px 4px;position:absolute;right:5px;top:5px;white-space:nowrap;z-index:10}.day-unavailable:before{background-image:repeating-linear-gradient(45deg,#0284c71a,#0284c71a 10px,#0284c70d 0,#0284c70d 20px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.day-unavailable .day-number{position:relative;z-index:1}.day-unavailable .day-appointments{opacity:.5;position:relative;z-index:1}.week-unavailability{background-color:#0ea5e926;border-bottom:1px dashed #0ea5e980;border-top:1px dashed #0ea5e980;pointer-events:none;position:absolute;z-index:50}.week-unavailability .unavailability-reason{background-color:#ffffffb3;color:#0369a1;font-size:11px;max-width:100%;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.unavailable-hour{background-color:#e0f2fe!important;background-image:repeating-linear-gradient(45deg,#0284c71a,#0284c71a 10px,#0284c70d 0,#0284c70d 20px)!important;cursor:not-allowed!important;position:relative}.unavailable-hour:hover{background-color:#bae6fd!important}.unavailable-day{background-color:#e0f2fe!important;position:relative}.unavailable-day:before{background-image:repeating-linear-gradient(45deg,#0284c71a,#0284c71a 10px,#0284c70d 0,#0284c70d 20px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.unavailability-banner{border-radius:4px;font-weight:700;margin-bottom:10px}.unavailability-banner.day-unavailable{background-color:#3b82f633;border:1px solid #3b82f680;color:#0369a1}.unavailability-icon{font-size:1.2rem;margin-right:8px}.time-slot.unavailable{background-color:#3b82f633!important;border-color:#3b82f680!important;position:relative!important;z-index:5!important}.time-slot.unavailable[data-unavailability-type=period]{background-color:#3b82f64d!important;border-color:#3b82f699!important}.unavailability-indicator{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.unavailability-reason{background-color:#3b82f6b3;border-radius:3px;box-shadow:0 1px 2px #0000001a;color:#fff;font-size:.8rem;font-weight:700;line-height:1.1;max-width:100%;overflow:visible;padding:2px 6px;text-align:center;text-overflow:clip;white-space:normal;width:auto}.day-view-container .hour-row.unavailable-hour,.day-view-container .time-slot.unavailable{background-color:#3b82f633!important;border-color:#3b82f680!important;position:relative!important;z-index:5!important}.day-view-container .hour-row.inactive.unavailable-hour,.day-view-container .time-slot.inactive.unavailable,html body .day-view-container .hour-row.inactive.unavailable-hour,html body .day-view-container .time-slot.inactive.unavailable{background-color:#3b82f633!important;background-image:repeating-linear-gradient(45deg,#0284c71a,#0284c71a 10px,#0284c70d 0,#0284c70d 20px)!important;border-color:#3b82f680!important}.hour-row.day-unavailable:before,.hour-row.inactive.unavailable-hour:before,.time-slot.day-unavailable:before,.time-slot.inactive.unavailable:before{background-image:repeating-linear-gradient(45deg,#0284c71a,#0284c71a 10px,#0284c70d 0,#0284c70d 20px)!important}.appointment-card{background-color:#fff;border-left:3px solid #5b21b6;border-radius:4px;box-shadow:0 1px 2px #0000001a;display:flex;flex-direction:column;font-size:.85rem;gap:3px;margin:3px 0;padding:6px 8px;transition:transform .2s ease,box-shadow .2s ease}.appointment-card:hover{box-shadow:0 3px 6px #0000001a;transform:translateY(-2px)}.appointment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2px;min-height:20px}.appointment-time{color:#111827;font-size:.8rem;font-weight:600}.appointment-duration{color:#6b7280;font-size:.8rem;margin-left:5px}.appointment-status{background-color:#e5e7eb;border-radius:12px;color:#4b5563;font-size:.75rem;font-weight:500;padding:2px 6px}.appointment-content{margin-bottom:3px}.appointment-client{color:#1f2937;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-service{color:#6b7280;font-size:.85rem;margin-top:2px}.appointment-footer{display:flex;gap:5px;justify-content:flex-end}.appointment-action{background-color:#f3f4f6;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:background-color .2s ease}.appointment-action:hover{background-color:#e5e7eb}.appointment-compact{background-color:#fff;border-left:3px solid #5b21b6;border-radius:4px;box-shadow:0 1px 2px #0000001a;cursor:pointer;font-size:.75rem;margin:2px 0;max-width:100%;overflow:hidden;padding:3px 5px;text-overflow:ellipsis;transition:transform .1s ease,box-shadow .1s ease;white-space:nowrap}.appointment-compact:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.appointment-compact .appointment-time{color:#6b7280;font-size:.75rem}.appointment-compact .appointment-title{color:#111827;font-weight:500;overflow:hidden;text-overflow:ellipsis}.appointment-tiny{background-color:#5b21b6;border-radius:3px;color:#fff;cursor:pointer;font-size:.7rem;margin-bottom:2px;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;transition:transform .1s ease;white-space:nowrap}.appointment-tiny:hover{transform:translateY(-1px)}.appointment-tiny .appointment-time{color:#fff;font-size:.7rem;font-weight:600;margin-right:4px}.appointment-tiny .appointment-client{color:#fff;font-size:.7rem}.appointment-single-line{align-items:center;background-color:#fff;border-left:3px solid #5b21b6;border-radius:4px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;font-size:.8rem;height:28px;line-height:1.5;margin:3px 0;overflow:hidden;padding:4px 8px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 6px)}.appointment-single-line:hover{box-shadow:0 1px 3px #0003;transform:translateY(-1px);z-index:10}.appointment-single-line .appointment-time{color:#5b21b6;display:inline-block;font-size:.7rem;font-weight:600;margin-right:8px;min-width:50px}.appointment-single-line .appointment-client{color:#1f2937;flex:1 1;overflow:hidden;padding-right:4px;text-overflow:ellipsis}.appointment-tooltip{padding:10px;top:calc(100% + 5px);width:280px}.appointment-single-line.status-confirmed{border-left-color:#16a34a}.appointment-single-line.status-confirmed .appointment-time{color:#16a34a}.appointment-single-line.status-pending{border-left-color:#d97706}.appointment-single-line.status-pending .appointment-time{color:#d97706}.appointment-single-line.status-canceled{border-left-color:#dc2626;opacity:.7;text-decoration:line-through}.appointment-single-line.status-completed{border-left-color:#2563eb}.appointment-single-line.status-completed .appointment-time{color:#2563eb}.status-confirmed{background-color:#dcfce7!important;border-left-color:#16a34a!important}.status-confirmed .appointment-status{background-color:#86efac;color:#166534}.status-pending{background-color:#fef3c7!important;border-left-color:#d97706!important}.status-pending .appointment-status{background-color:#fcd34d;color:#92400e}.status-canceled{background-color:#fee2e2!important;border-left-color:#dc2626!important}.status-canceled .appointment-status{background-color:#fca5a5;color:#b91c1c}.status-completed{background-color:#dbeafe!important;border-left-color:#2563eb!important}.status-completed .appointment-status{background-color:#93c5fd;color:#1e40af}.appointment-tiny.status-confirmed{background-color:#16a34a!important}.appointment-tiny.status-pending{background-color:#d97706!important}.appointment-tiny.status-canceled{background-color:#dc2626!important}.appointment-tiny.status-completed{background-color:#2563eb!important}.calendar-grid{border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:grid;grid-template-columns:60px repeat(auto-fill,minmax(170px,1fr));overflow:hidden;width:100%}.calendar-nav{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:15px;padding:0 10px}.calendar-nav-buttons{display:flex;gap:10px}.calendar-nav-button{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;gap:5px;padding:6px 12px}.calendar-nav-button:hover{background-color:#e5e7eb}.calendar-title{color:#1f2937;font-size:1.2rem;font-weight:600}.time-slot[data-minutes="15"]{height:15px;min-height:15px}.time-slot[data-minutes="30"]{height:30px;min-height:30px}.time-slot[data-minutes="45"]{height:45px;min-height:45px}.time-slot[data-minutes="60"]{height:60px;min-height:60px}.day-view .day-column{min-width:300px}.month-view .day-cell{border:1px solid #e5e7eb}.day-appointment-card{background-color:#fff;border-left:4px solid #5b21b6;border-radius:4px;box-shadow:0 1px 3px #0000001a;cursor:pointer;margin-bottom:8px;padding:10px;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.day-appointment-card:hover{box-shadow:0 3px 6px #00000026;transform:translateY(-2px)}.day-appointment-card .appointment-header{display:flex;justify-content:space-between;margin-bottom:5px}.day-appointment-card .appointment-time{color:#5b21b6;font-weight:600}.day-appointment-card .appointment-status{background-color:#f3f4f6;border-radius:10px;color:#6b7280;font-size:.8rem;padding:2px 6px}.day-appointment-card .appointment-client-info{margin-bottom:5px}.day-appointment-card .appointment-client-name{font-size:.9rem;font-weight:500}.day-appointment-card .appointment-duration,.day-appointment-card .appointment-service{color:#6b7280;font-size:.8rem}.week-appointment-card{align-items:center;background-color:#fff;border-left:3px solid #5b21b6;border-radius:3px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;font-size:.7rem;height:18px;margin:1px 0;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.week-appointment-card:hover{background-color:#f9fafb}.week-appointment-card .week-appointment-time{color:#5b21b6;font-weight:600;margin-right:5px;min-width:40px}.week-appointment-card .week-appointment-client{flex:1 1;overflow:hidden;text-overflow:ellipsis}.month-appointment-card{background-color:#fff;border-left:2px solid #5b21b6;border-radius:2px;cursor:pointer;font-size:.7rem;height:18px;line-height:18px;margin:1px 0;overflow:hidden;padding:1px 4px;text-overflow:ellipsis;white-space:nowrap}.appointment-tooltip{animation:fadeIn .2s ease;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000026;color:#1f2937;font-size:.85rem;left:0;padding:12px;position:absolute;top:100%;transition:opacity .2s,transform .2s;width:250px;z-index:1000}.month-appointment-card .appointment-tooltip{left:-50px}.appointment-tooltip .tooltip-header{border-bottom:1px solid #f3f4f6;display:flex;font-weight:600;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.appointment-tooltip .tooltip-content{margin-bottom:10px}.appointment-tooltip .tooltip-section{margin-bottom:8px}.appointment-tooltip .tooltip-section h4{color:#6b7280;font-size:.8rem;margin-bottom:3px}.appointment-tooltip .tooltip-actions{display:flex;gap:8px;justify-content:flex-end}.appointment-tooltip .tooltip-action{background-color:#f3f4f6;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;padding:4px 8px;transition:background-color .2s}.appointment-tooltip .tooltip-action.edit:hover{background-color:#5b21b6;color:#fff}.appointment-tooltip .tooltip-action.cancel:hover{background-color:#ef4444;color:#fff}.status-confirmed .appointment-time,.status-confirmed .week-appointment-time{color:#10b981!important}.status-pending .appointment-time,.status-pending .week-appointment-time{color:#f59e0b!important}.status-canceled{opacity:.7;text-decoration:line-through}.status-canceled .appointment-time,.status-canceled .week-appointment-time{color:#ef4444!important}.status-completed .appointment-time,.status-completed .week-appointment-time{color:#3b82f6!important}@media (max-width:768px){.calendar-header{align-items:flex-start;flex-direction:column;gap:10px}.calendar-navigation,.calendar-view-selector{justify-content:center;width:100%}.calendar-nav{margin-top:10px;width:100%}.calendar-selector{margin-bottom:10px;margin-right:0;width:100%}.calendar-navigation{justify-content:space-between;width:100%}.day-cell{min-height:80px}.hour-row{height:50px}.day-appointment{padding:2px 4px}.day-appointment .day-appointment-client{max-width:150px}}.loading-message{color:#6b7280;padding:20px;text-align:center}.floating-add-button{align-items:center;background-color:#5b21b6;border:none;border-radius:50%;bottom:96px;box-shadow:0 4px 12px #5b21b640;color:#fff;cursor:pointer;display:flex;font-size:24px;height:56px;justify-content:center;padding:0;position:fixed;right:24px;transition:transform .2s,background-color .2s;width:56px;z-index:900}.floating-add-button:hover{background-color:#4c1d95;transform:scale(1.1)}.floating-add-button:active{transform:scale(.95)}.appointment-modal-overlay{align-items:center;animation:fadeIn .3s;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.appointment-form-modal{animation:slideIn .3s;background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.form-group{margin-bottom:16px}.form-group label{color:#4b5563;margin-bottom:6px}.form-control{border:1px solid #d1d5db;border-radius:6px;font-size:14px}.form-control:focus{border-color:#5b21b6;box-shadow:0 0 0 2px #5b21b633;outline:none}.form-error-message{background-color:#fee2e2;border-left:4px solid #ef4444;color:#b91c1c;margin-bottom:16px;padding:10px}.appointment-flow-modal{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.popup-header{align-items:center;border-bottom:1px solid #eaeaea;display:flex;justify-content:space-between;padding:15px 20px}.popup-header h3{color:#333;font-size:1.2rem;margin:0}.popup-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:0}.popup-content{flex-grow:1;overflow-y:auto;padding:20px}.progress-steps{background-color:#f9f9f9;justify-content:space-between;padding:20px 40px}.progress-step,.progress-steps{align-items:center;display:flex}.progress-step{flex:1 1;flex-direction:column}.progress-step .step-circle{align-items:center;background-color:#ccc;border-radius:50%;color:#fff;display:flex;font-weight:700;height:30px;justify-content:center;margin-bottom:5px;width:30px}.progress-step.active .step-circle{background-color:#4caf50}.progress-step .step-label{color:#666;font-size:.8rem}.progress-step.active .step-label{color:#333;font-weight:700}.progress-connector{background-color:#ccc;flex-grow:0.5;height:2px;margin:0 10px 20px}.date-time-selection{display:flex;flex-direction:column;gap:20px}.section-title{color:#333;font-size:1.1rem;margin-bottom:15px}.date-selection,.time-selection{margin-bottom:20px}.time-slots-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-top:10px}.time-slot-btn{background-color:#f1f1f1;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:10px;text-align:center;transition:all .2s ease}.time-slot-btn:hover{background-color:#e0e0e0}.time-slot-btn.selected{background-color:#4caf50;border-color:#4caf50;color:#fff}.no-slots-message{background-color:#f9f9f9;border-radius:4px;color:#666;grid-column:1/-1;padding:15px;text-align:center}.client-info-form{display:flex;flex-direction:column;gap:15px}.selected-datetime-summary{background-color:#f5f5f5;border-radius:4px;margin-bottom:15px;padding:10px 15px}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-control{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:10px;width:100%}.form-help-text{color:#666;display:block;font-size:.8rem;margin-top:5px}.required-mark{color:#e53935;margin-left:2px}.booking-confirmation{padding:20px;text-align:center}.confirmation-icon{color:#4caf50;font-size:48px;margin-bottom:15px}.confirmation-details{background-color:#f5f5f5;border-radius:4px;margin:20px 0;padding:15px;text-align:left}.form-actions{border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:20px;padding-top:15px}.form-actions.centered{justify-content:center}.btn{border:none;border-radius:4px;font-size:1rem;padding:10px 20px;transition:background-color .2s}.btn-primary{background-color:#4caf50}.btn-primary:hover{background-color:#3d8b40}.btn-primary:disabled{background-color:#a5d6a7;cursor:not-allowed}.btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.btn-secondary:hover{background-color:#e0e0e0}.form-error-message{background-color:#ffebee;border-left:4px solid #e53935;border-radius:4px;color:#e53935;margin-bottom:15px;padding:10px 15px}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:30px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:40px;margin-bottom:10px;width:40px}.unavailability-banner{align-items:center;border-radius:6px;display:flex;font-weight:500;gap:8px;justify-content:center;margin:10px;padding:10px;text-align:center}.unavailability-banner.day-unavailable{background-color:#e0f2fe;border:1px solid #bae6fd;color:#0284c7}.unavailability-icon{font-size:18px}.unavailability-indicator{background-color:#0ea5e926;border-radius:4px;color:#0369a1;font-size:9px;max-width:100%;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap;width:fit-content}.time-slot.unavailable{position:relative}.time-slot.unavailable:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.time-slot.day-unavailable:before{background-image:repeating-linear-gradient(45deg,#0284c71a,#0284c71a 10px,#0284c70d 0,#0284c70d 20px)}.time-slot.time-slot-unavailable:before{background-color:#0ea5e91a}.day-inactive,.hour-row.inactive{position:relative}.day-cell.day-unavailable:before,.hour-row.day-unavailable:before{background-image:repeating-linear-gradient(45deg,#0284c71a,#0284c71a 10px,#0284c70d 0,#0284c70d 20px)!important;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.month-grid .day-cell.day-unavailable{background-color:#e0f2fe!important}.month-grid .day-cell.day-unavailable:hover{background-color:#bae6fd!important}.day-view-container .day-unavailable{background-color:#e0f2fe!important}.day-inactive{background-color:#fee2e2!important}.day-inactive:before{background-image:repeating-linear-gradient(45deg,#ef44441a,#ef44441a 10px,#ef44440d 0,#ef44440d 20px)!important}.day-appointment{background-color:#f5f3ff!important;border:1px solid #0000000d!important;border-radius:4px!important;box-shadow:0 3px 8px #00000026,0 0 0 1px #00000014!important;cursor:pointer!important;display:flex!important;flex-direction:column!important;font-size:10px!important;left:2px!important;line-height:1.2!important;min-height:15px!important;overflow:visible!important;padding:3px 6px!important;position:absolute!important;right:2px!important;transition:transform .15s ease,box-shadow .15s ease!important;width:calc(100% - 8px)!important;z-index:3!important}.day-appointment:hover{box-shadow:0 5px 12px #0003,0 0 0 1px #0000001f!important;transform:translateY(-1px)!important;z-index:101!important}.day-appointment-content{align-items:center;display:flex;flex-direction:row}.day-appointment-time{color:#5b21b6;font-weight:600;margin-right:5px}.day-appointment-client{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-appointment{background-color:#f5f3ff!important;border:1px solid #0000000d!important;border-radius:4px!important;box-shadow:0 3px 8px #00000026,0 0 0 1px #00000014!important;cursor:pointer!important;font-size:.75rem!important;left:2px!important;overflow:hidden!important;padding:3px 6px!important;pointer-events:auto!important;position:absolute!important;right:2px!important;transition:transform .15s ease,box-shadow .15s ease!important;z-index:100!important}.week-appointment:hover{box-shadow:0 5px 12px #0003,0 0 0 1px #0000001f!important;transform:translateY(-1px)!important;z-index:101!important}.week-appointment-time{color:#5b21b6!important;font-size:.7rem!important;font-weight:600!important;margin-right:4px!important}.week-appointment-client{font-size:.7rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.status-confirmed{background-color:#ecfdf5!important;border-left-color:#10b981!important}.status-confirmed .day-appointment-time,.status-confirmed .week-appointment-time{color:#10b981!important}.status-pending{background-color:#fffbeb!important;border-left-color:#f59e0b!important}.status-pending .day-appointment-time,.status-pending .week-appointment-time{color:#f59e0b!important}.status-canceled{background-color:#fef2f2!important;border-left-color:#ef4444!important;opacity:.7!important;text-decoration:line-through!important}.status-canceled .day-appointment-time,.status-canceled .week-appointment-time{color:#ef4444!important}.status-completed{background-color:#eff6ff!important;border-left-color:#3b82f6!important}.status-completed .day-appointment-time,.status-completed .week-appointment-time{color:#3b82f6!important}.status-needs-notification{background-color:#fee2e2!important;border:1px solid #ef4444!important;box-shadow:0 3px 8px #ef44444d!important}.status-needs-notification .day-appointment-time,.status-needs-notification .week-appointment-time{color:#b91c1c!important}.status-needs-notification:hover{background-color:#fecaca!important;box-shadow:0 5px 12px #ef444466,0 0 0 1px #ef444480!important}.day-appointments{bottom:0!important;height:100%!important;left:0!important;overflow:visible!important;pointer-events:none!important;position:absolute!important;right:0!important;top:0!important;width:100%!important;z-index:50!important}@media (max-width:768px){.day-appointment{padding:2px 4px}.day-appointment .day-appointment-client{max-width:150px}.week-appointment{font-size:.6rem;padding:1px 2px}}.visio-icon{font-size:.9em;margin-right:4px}.visio-icon,.visio-icon-compact{display:inline-block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.visio-icon-compact{font-size:.8em;margin-right:2px}.day-appointment-time .visio-icon,.week-appointment-time .visio-icon{margin-right:3px;vertical-align:middle}.admin-chats-container{display:flex;gap:24px;height:70vh;margin-top:24px;max-height:80vh;min-height:400px}.admin-chats-list{background:#f3f4f6;border-radius:8px;flex-shrink:0;max-height:100%;min-height:100%;overflow-y:auto;padding:12px;width:260px}.admin-chat-item{background:#ede9fe;border-radius:6px;cursor:pointer;margin-bottom:8px;padding:10px 8px;position:relative;transition:background .18s}.admin-chat-item .realtime-dot,.admin-notification-led{height:10px;margin:0;position:absolute;right:5px;top:5px;width:10px;z-index:10}.admin-chat-item .realtime-dot-red,.admin-notification-led{animation:pulse 1.5s infinite;background-color:#ff3b30;border-radius:50%;box-shadow:0 0 6px 2px #ff3b30b3;z-index:5}.admin-chat-item.selected{background:#5b21b6;color:#fff}.admin-chat-item.selected .admin-chat-last-msg{color:#fff}.admin-chat-last-msg{color:#6b7280;font-size:.92em;margin-top:2px}.admin-chat-details{background:#fff;border-radius:8px;min-height:100%;padding:18px 20px}.admin-chat-details,.admin-chat-messages{display:flex;flex:1 1;flex-direction:column;max-height:100%;overflow-y:auto}.admin-chat-messages{background:#f7f7f7;border-radius:6px;gap:8px;margin-bottom:18px;min-height:120px;padding:12px}.admin-chat-msg{border-radius:12px;margin-top:10px;max-width:80%;padding:10px 14px;position:relative}.admin-chat-msg.user{align-self:flex-end;background-color:#e0d5f5;border-bottom-right-radius:4px;color:#2d2d2d;text-align:right}.admin-chat-msg.admin{align-self:flex-start;background-color:#f1f1f1;border-bottom-left-radius:4px;color:#333;text-align:left}.admin-chat-reply-row{background:#fff;border-top:1px solid #eee;display:flex;padding:8px 0 0}.admin-chat-reply-row input{border:1px solid #ccc;border-radius:4px;flex:1 1;font-size:15px;margin-right:8px;padding:8px}.admin-chat-reply-row button{background:#5b21b6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;padding:8px 14px;transition:background .2s}.admin-chat-reply-row button:disabled{background:#ccc;cursor:not-allowed}:root{--primary-color-light:#8b5cf6;--primary-color-dark:#4c1d95;--primary-color-transparent:#5b21b61a;--success-color:#10b981;--error-color:#ef4444;--warning-color:#f59e0b;--border-radius:8px;--box-shadow:0 1px 3px #0000001a;--transition-speed:0.3s;--text-color:#1f2937;--text-color-light:#6b7280;--text-color-medium:#4b5563;--bg-color:#f9fafb;--bg-color-light:#fff;--bg-color-dark:#f3f4f6;--border-color:#e5e7eb;--card-bg:#fff;--input-bg:#fff;--hover-bg:#f3f4f6;--disabled-bg:#e5e7eb;--skeleton-bg:#e5e7eb;--skeleton-highlight:#f3f4f6;--calendar-available:#e0f2fe;--calendar-unavailable:#fee2e2;--calendar-today:#dcfce7;--bg-gradient:linear-gradient(135deg,#f9fafb,#f3f4f6);--sidebar-bg:var(--primary-color);--sidebar-text:#fff;--sidebar-hover:#ffffff1a;--sidebar-active:#fff3;--checkbox-bg:#fff;--checkbox-border:var(--border-color);--checkbox-checked-bg:var(--primary-color);--dropdown-bg:#fff;--dropdown-shadow:0 2px 8px #00000026;--modal-backdrop:#00000080;--tooltip-bg:#1f2937;--tooltip-text:#fff}[data-theme=dark]{--text-color:#f3f4f6;--text-color-light:#9ca3af;--text-color-medium:#d1d5db;--bg-color:#111827;--bg-color-light:#1f2937;--bg-color-dark:#0f172a;--border-color:#374151;--card-bg:#1f2937;--input-bg:#374151;--hover-bg:#374151;--disabled-bg:#1f2937;--skeleton-bg:#2d3748;--skeleton-highlight:#4a5568;--calendar-available:#0f766e;--calendar-unavailable:#881337;--calendar-today:#166534;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#6b7280;--gray-500:#9ca3af;--bg-gradient:linear-gradient(135deg,#111827,#0f172a);--sidebar-bg:#0f172a;--sidebar-text:#f3f4f6;--sidebar-hover:#ffffff0d;--sidebar-active:#ffffff1a;--checkbox-bg:#374151;--checkbox-border:#4b5563;--checkbox-checked-bg:var(--primary-color);--dropdown-bg:#1f2937;--dropdown-shadow:0 2px 8px #00000080;--modal-backdrop:#000000b3;--tooltip-bg:#e5e7eb;--tooltip-text:#1f2937;--success-color:#059669;--error-color:#dc2626;--warning-color:#d97706;--box-shadow:0 1px 3px #0006;--primary-color-transparent:#5b21b633}*,:after,:before{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease,border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease}#root,.App,body{background-color:#f9fafb;background-color:var(--bg-color);color:#1f2937;color:var(--text-color)}#root,.App,body{transition:background-color .3s ease,color .3s ease;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}.app-header,.header,.navbar,header,nav{background-color:#fff;background-color:var(--card-bg);border-color:#e5e7eb;border-color:var(--border-color);color:#1f2937;color:var(--text-color)}.container,.content-container,.main-content,.page-container,main{background-color:#f9fafb;background-color:var(--bg-color);color:#1f2937;color:var(--text-color)}[data-theme=dark] .card,[data-theme=dark] .container-fluid,[data-theme=dark] .panel,[data-theme=dark] .section,[data-theme=dark] article{background-color:#fff;background-color:var(--card-bg);border-color:#e5e7eb;border-color:var(--border-color)}.card,.content,.panel,.sidebar,button,footer,header,input,main,nav,section,select,textarea{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease,border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease}.theme-toggle{align-items:center;background-color:#5b21b6;background-color:var(--primary-color);border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 10px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:45px;justify-content:center;position:fixed;right:20px;transition:transform .2s ease,background-color .2s ease;width:45px;z-index:1000}.theme-toggle:hover{background-color:#4c1d95;background-color:var(--primary-color-dark);transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}input,select,textarea{background-color:#fff;background-color:var(--input-bg);border:1px solid #e5e7eb;border:1px solid var(--border-color);color:#1f2937;color:var(--text-color)}input:focus,select:focus,textarea:focus{border-color:#5b21b6;border-color:var(--primary-color);box-shadow:0 0 0 2px #5b21b61a;box-shadow:0 0 0 2px var(--primary-color-transparent)}button{transition:background-color .2s ease,color .2s ease,border-color .2s ease}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%);background:linear-gradient(90deg,var(--skeleton-bg) 25%,var(--skeleton-highlight) 50%,var(--skeleton-bg) 75%);background-size:200px 100%}.slow-transition{transition-duration:.5s}.card{background-color:#fff;background-color:var(--card-bg);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a;box-shadow:var(--box-shadow)}.admin-modal-wrapper .admin-modal{background-color:#fff!important;border-radius:8px!important;box-shadow:0 8px 30px #0003!important;display:flex!important;flex-direction:column!important;max-height:85vh!important;max-width:800px!important;overflow-y:auto!important;width:100%!important}.admin-modal-wrapper .admin-modal-body{flex:1 1!important;overflow-y:auto!important;padding:24px!important}.admin-modal-wrapper .admin-detail-section{border:1px solid #e2e8f0!important;border-radius:6px!important;box-sizing:border-box!important;display:block!important;margin:0 0 16px!important;max-width:none!important;padding:16px!important;width:100%!important}.admin-modal-wrapper .admin-detail-section h4{border-bottom:1px solid #edf2f7!important;color:#2d3748!important;font-size:1.1rem!important;font-weight:600!important;margin-bottom:16px!important;margin-top:0!important;padding-bottom:8px!important}.admin-modal-wrapper .admin-detail-row{align-items:flex-start!important;display:flex!important;margin-bottom:8px!important}.admin-modal-wrapper .admin-detail-label{color:#4a5568!important;flex:0 0 150px!important;font-weight:500!important;margin-right:12px!important}.admin-modal-wrapper .admin-detail-value{flex:1 1!important;word-break:break-word!important}.admin-modal-wrapper .admin-detail-notes{background-color:#f7fafc!important;border-radius:4px!important;color:#2d3748!important;margin-top:8px!important;padding:12px!important;white-space:pre-wrap!important;word-break:break-word!important}.admin-modal-wrapper .admin-modal-footer{background-color:#f8f9fa!important;border-top:1px solid #e9ecef!important;display:flex!important;gap:12px!important;justify-content:flex-end!important;padding:16px 24px!important}@media screen and (max-width:768px){.admin-modal-wrapper .admin-modal-body{padding:16px!important}.admin-modal-wrapper .admin-detail-section{padding:12px!important}.admin-modal-wrapper .admin-detail-row{flex-direction:column!important;margin-bottom:16px!important}.admin-modal-wrapper .admin-detail-label{flex:none!important;margin-bottom:4px!important;width:100%!important}}.admin-modal-wrapper .admin-appointment-status{margin-bottom:20px!important;padding:8px!important;text-align:center!important}.admin-modal-wrapper .appointment-status{font-size:.85rem!important;font-weight:600!important;padding:6px 16px!important}.admin-modal-wrapper{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.admin-modal{animation:adminModalFadeIn .25s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:85vh;max-width:450px;overflow-y:auto;width:90%}@keyframes adminModalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.admin-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.75rem 1rem}.admin-modal-header h3{color:#333;font-size:1.15rem;font-weight:600;margin:0}.admin-modal-close{align-items:center;background-color:#e9ecef;border:none;border-radius:50%;color:#495057;cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;transition:all .15s ease;width:28px}.admin-modal-close:hover{background-color:#dee2e6;color:#212529}.admin-modal-body{padding:1rem}.admin-modal-footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem}.admin-form-group{margin-bottom:.85rem}.admin-form-group label{color:#495057;display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.4rem .6rem;width:100%}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:#2c7be5;box-shadow:0 0 0 .2rem #2c7be540;outline:none}.admin-modal .admin-btn{font-size:.85rem;padding:.4rem .8rem}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{animation:slideIn .3s ease;background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:90%}.auth-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:15px;top:15px;transition:background-color .2s,color .2s;width:30px;z-index:10}.auth-modal-close:hover{background-color:#f3f4f6;color:#111827}.auth-modal-content{padding:30px}.auth-tabs{border-bottom:1px solid #e5e7eb;display:flex;margin-bottom:20px}.auth-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:10px;transition:all .2s ease}.auth-tab.active{border-bottom:2px solid #5b21b6;color:#5b21b6}.auth-tab:hover{color:#5b21b6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-error-message{background-color:#fee2e2;border-radius:6px;color:#b91c1c;font-size:.9rem;margin-bottom:20px;padding:10px}.password-input-container{display:flex;position:relative;width:100%}.password-input-container input{padding-right:40px;width:100%}.password-toggle-btn{align-items:center;background:#0000;border:none;border-left:1px solid #e5e7eb;color:#6b7280;cursor:pointer;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:color .2s;width:40px}.password-toggle-btn:hover{color:#111827}.password-toggle-btn:focus{outline:none}.remember-me-group{margin-bottom:10px;margin-top:-5px}.checkbox-group{align-items:center;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;height:16px;margin-right:8px;width:16px}.checkbox-group label{color:#4b5563;cursor:pointer;font-size:.9rem}.auth-modal .auth-form-container{background-color:initial;box-shadow:none;margin:0;max-width:none;padding:0;width:100%}@media (max-width:640px){.auth-modal{width:95%}.auth-modal-content{padding:20px 15px}}.christmas-decoration{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}.christmas-banner{animation:bannerBounce 2s ease-in-out infinite;background:linear-gradient(135deg,#c41e3a,#165b33 50%,#c41e3a);border-radius:30px;box-shadow:0 4px 15px #0000004d;cursor:pointer;left:50%;padding:12px 30px;pointer-events:auto;position:fixed;top:80px;transform:translateX(-50%);transition:transform .2s ease,opacity .2s ease;z-index:10000}.christmas-banner:hover{box-shadow:0 6px 20px #0006;transform:translateX(-50%) scale(1.05)}.banner-text{color:#fff;font-size:1.2rem;font-weight:700;text-shadow:2px 2px 4px #00000080;white-space:nowrap}@keyframes bannerBounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}.snowflakes{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%}.snowflake{animation:snowfall linear infinite;color:#b3d9ff;filter:drop-shadow(0 0 2px rgba(100,149,237,.6));font-size:1em;position:absolute;text-shadow:0 0 3px #6495edcc,0 0 10px #6495ed80,1px 1px 2px #0000004d;top:-10%;-webkit-user-select:none;user-select:none}@keyframes snowfall{0%{top:-10%;transform:translateX(0) rotate(0deg)}to{top:110%;transform:translateX(50px) rotate(1turn)}}.santa-sleigh{animation:santaFly 15s linear;filter:drop-shadow(0 0 10px rgba(255,255,255,.8));font-size:3rem;position:fixed;right:-200px;top:20%;z-index:9998}@keyframes santaFly{0%{right:-200px;top:20%}25%{top:15%}50%{top:25%}75%{top:18%}to{right:100%;top:22%}}@media (max-width:768px){.christmas-banner{left:50%;max-width:90%;padding:10px 15px;top:65px;transform:translateX(-50%)}.banner-text{display:block;font-size:.85rem;line-height:1.3;text-align:center;white-space:normal}.santa-sleigh{font-size:2rem;top:15%}.snowflake{font-size:.8em}}@media (prefers-reduced-motion:reduce){.christmas-banner,.santa-sleigh,.snowflake{animation:none}}:root{--primary-color:#5b21b6;--primary-dark:#4c1d95;--primary-light:#8b5cf6;--secondary-color:#06b6d4;--secondary-dark:#0891b2;--secondary-light:#22d3ee;--text-dark:#111827;--text-medium:#4b5563;--text-light:#9ca3af;--bg-white:#fff;--bg-light:#f9fafb;--bg-grey:#f3f4f6;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--radius-sm:0.125rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--transition-fast:150ms;--transition-normal:300ms;--transition-slow:500ms;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}.week-appointment.ghost-appointment{background-color:#e5e7eb!important;border:2px dashed #9ca3af!important;color:#6b7280!important;cursor:not-allowed!important;opacity:.75!important;pointer-events:none!important}.week-appointment.ghost-appointment *{color:#6b7280!important}.week-appointment.ghost-appointment:hover{background-color:#e5e7eb!important;box-shadow:0 3px 8px #00000026,0 0 0 1px #00000014!important;transform:none!important}.week-appointment.calendar-colored{background-color:var(--calendar-color)!important}.week-appointment.calendar-colored,.week-appointment.calendar-colored .week-appointment-client,.week-appointment.calendar-colored .week-appointment-time{color:#fff!important;color:var(--text-color,#fff)!important}.week-appointment.calendar-colored:hover{filter:brightness(.95)}*{box-sizing:border-box}html{font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-light);color:var(--text-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}.btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:var(--spacing-2) var(--spacing-4);text-decoration:none;transition:all var(--transition-fast) ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background-color:var(--secondary-color);border-color:var(--secondary-color);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--secondary-dark);border-color:var(--secondary-dark)}.btn-outline{background-color:initial;border-color:var(--primary-color);color:var(--primary-color)}.btn-outline:hover:not(:disabled){background-color:var(--primary-color);color:#fff}.btn-ghost{background-color:initial;border-color:#0000;color:var(--text-medium)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-grey)}.btn-danger{background-color:var(--error);border-color:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-success{background-color:var(--success);border-color:var(--success);color:#fff}.btn-sm{font-size:.75rem;padding:var(--spacing-1) var(--spacing-3)}.btn-lg{font-size:1rem;padding:var(--spacing-3) var(--spacing-6)}.btn-block{display:flex;width:100%}.form-group{margin-bottom:var(--spacing-4)}.form-label{color:var(--text-dark);display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-2)}.form-label.required:after{color:var(--error);content:" *"}.form-input,.form-select,.form-textarea{background-color:var(--bg-white);border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--text-dark);font-size:.875rem;padding:var(--spacing-2) var(--spacing-3);transition:border-color var(--transition-fast) ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #5b21b61a;outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--bg-grey);cursor:not-allowed;opacity:.6}.form-textarea{min-height:100px;resize:vertical}.form-error{color:var(--error)}.form-error,.form-help{font-size:.75rem;margin-top:var(--spacing-1)}.form-help{color:var(--text-light)}.form-checkbox,.form-radio{border:1px solid var(--gray-300);border-radius:var(--radius-sm);cursor:pointer;height:1rem;width:1rem}.form-checkbox:checked,.form-radio:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.card{background-color:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-6)}.card,.card-header{margin-bottom:var(--spacing-4)}.card-header{border-bottom:1px solid var(--gray-200);padding-bottom:var(--spacing-4)}.card-title{color:var(--text-dark);font-size:1.25rem;font-weight:600;margin:0}.card-subtitle{color:var(--text-medium);font-size:.875rem;margin-top:var(--spacing-1)}.card-body{flex:1 1}.card-footer{border-top:1px solid var(--gray-200);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.container{margin:0 auto;max-width:1200px}.container,.container-fluid{padding:0 var(--spacing-4);width:100%}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--spacing-2)*-1)}.col{flex:1 1;padding:0 var(--spacing-2)}.col-auto{flex:0 0 auto;width:auto}.flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.mt-0{margin-top:0}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.ml-0{margin-left:0}.ml-2{margin-left:var(--spacing-2)}.ml-4{margin-left:var(--spacing-4)}.mr-0{margin-right:0}.mr-2{margin-right:var(--spacing-2)}.mr-4{margin-right:var(--spacing-4)}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.pt-2{padding-top:var(--spacing-2)}.pt-4{padding-top:var(--spacing-4)}.pb-2{padding-bottom:var(--spacing-2)}.pb-4{padding-bottom:var(--spacing-4)}h1,h2,h3,h4,h5,h6{color:var(--text-dark);font-weight:600;line-height:1.2;margin:0 0 var(--spacing-4) 0}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{line-height:1.6;margin:0 0 var(--spacing-4) 0}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--secondary-color)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-muted{color:var(--text-light)}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:500;padding:var(--spacing-1) var(--spacing-2);white-space:nowrap}.badge-primary{background-color:#5b21b61a;color:var(--primary-color)}.badge-success{background-color:#10b9811a;color:var(--success)}.badge-warning{background-color:#f59e0b1a;color:var(--warning)}.badge-error{background-color:#ef44441a;color:var(--error)}.badge-info{background-color:#3b82f61a;color:var(--info)}.modal-overlay{align-items:center;background-color:#00000080;display:flex;inset:0;justify-content:center;padding:var(--spacing-4);position:fixed;z-index:var(--z-modal-backdrop)}.modal-content{background-color:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid var(--gray-200);padding:var(--spacing-6)}.modal-title{font-size:1.25rem;font-weight:600;margin:0}.modal-body,.modal-footer{padding:var(--spacing-6)}.modal-footer{border-top:1px solid var(--gray-200);display:flex;gap:var(--spacing-2);justify-content:flex-end}.alert{border-left:4px solid;border-radius:var(--radius-md);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.alert-success{background-color:#10b9811a;border-color:var(--success);color:var(--success)}.alert-warning{background-color:#f59e0b1a;border-color:var(--warning);color:var(--warning)}.alert-error{background-color:#ef44441a;border-color:var(--error);color:var(--error)}.alert-info{background-color:#3b82f61a;border-color:var(--info);color:var(--info)}.spinner{animation:spin .8s linear infinite;border:2px solid var(--gray-200);border-radius:var(--radius-full);border-top-color:var(--primary-color);height:1.5rem;width:1.5rem}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay{align-items:center;background-color:#fffc;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-modal)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}@media (max-width:768px){.container{padding:0 var(--spacing-3)}.card{padding:var(--spacing-4)}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.global-notification-banner{align-items:center;animation:slide-down .3s ease-in-out;border-radius:8px;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;left:auto;max-width:90vw;min-height:50px;padding:12px 20px;position:fixed;right:32px;top:50px;width:420px;z-index:9999}@media (max-width:600px){.global-notification-banner{border-radius:0 0 8px 8px;left:1vw;min-width:0;min-width:auto;right:8px;width:98vw}}.global-notification-banner.info{background-color:#4299e1}.global-notification-banner.success{background-color:#48bb78}.global-notification-banner.warning{background-color:#ecc94b}.global-notification-banner.error{background-color:#f56565}.global-notification-banner .notification-icon{flex-shrink:0;font-size:1.2rem;margin-right:12px}.global-notification-banner .notification-content{flex-grow:1;margin-right:12px;position:relative}.global-notification-banner .notification-content strong{display:block;font-weight:600;margin-bottom:3px}.global-notification-banner .notification-title-bold{color:#fff;display:block;font-size:1.08em;font-weight:800;letter-spacing:.01em;margin-bottom:3px;text-shadow:0 1px 2px #0000001a}.global-notification-banner .notification-counter{align-items:center;display:flex;font-size:.8rem;margin-top:5px;opacity:.8}.global-notification-banner .timer-bar{background-color:#ffffff4d;border-radius:2px;height:3px;margin-left:8px;overflow:hidden;width:100px}.global-notification-banner .timer-progress{background-color:#fffc;height:100%;transition:width 1s linear}.global-notification-banner .nav-button{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:30px;justify-content:center;opacity:.7;padding:0 6px;transition:opacity .2s,transform .2s;width:30px}.global-notification-banner .nav-button:hover{opacity:1;transform:scale(1.1)}.global-notification-banner .prev-button{margin-right:5px}.global-notification-banner .next-button{margin-left:5px}.global-notification-banner .dismiss-button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:1rem;opacity:.8;padding:0;transition:opacity .2s}.global-notification-banner .dismiss-button:hover{opacity:1}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.notification-active .App{margin-top:50px;transition:margin-top .3s ease-in-out}.user-chat-widget{bottom:24px;position:fixed;right:24px;z-index:9999}.chat-toggle-btn{align-items:center;background:#5b21b6;border:none;border-radius:28px;box-shadow:0 4px 12px #5b21b640;color:#fff;cursor:pointer;display:flex;font-size:24px;height:56px;justify-content:center;padding:0;position:relative;transition:background .2s,transform .2s;width:56px}.chat-toggle-btn:hover{background:#4c1d95;transform:translateY(-2px)}.chat-toggle-btn .realtime-dot{border:2px solid #fff;height:12px;margin-right:0;position:absolute;right:-4px;top:-4px;width:12px}.realtime-dot.realtime-dot-red{animation:pulse 1.5s infinite;background-color:#ff3b30!important;opacity:1}.chat-popup{background:#fff;border-radius:12px;box-shadow:0 4px 24px #5b21b62e;display:flex;flex-direction:column;overflow:hidden;width:320px}.chat-header{align-items:center;background:#5b21b6;color:#fff;display:flex;font-weight:700;justify-content:space-between;padding:12px 16px}.close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:20px}.chat-messages{background:#f7f7f7;flex:1 1;max-height:220px;min-height:120px;overflow-y:auto;padding:12px}.chat-msg.user{color:#5b21b6;margin-bottom:6px;text-align:right}.chat-msg.admin{color:#333;margin-bottom:6px;text-align:left}.admin-chat-msg-date,.chat-msg-date{color:#888;font-size:11px;margin-bottom:2px;margin-top:0;text-align:center}.admin-chat-msg-date.admin-chat-msg-date-top.right{color:#000}.admin-chat-msg-date.left,.chat-msg-date.left{text-align:left}.admin-chat-msg-date.right,.chat-msg-date.right{text-align:right}.admin-chat-msg-date-top,.chat-msg-date-top{display:block;margin-bottom:2px;margin-top:0;text-align:center}.chat-empty{color:#888;margin:24px 0;text-align:center}.admin-chat-empty-msg{color:#aaa;font-style:italic}.chat-input-row{background:#fff;border-top:1px solid #eee;display:flex;padding:8px}.chat-input-row input{border:1px solid #ccc;border-radius:4px;flex:1 1;font-size:15px;margin-right:8px;padding:8px}.chat-input-row button{background:#5b21b6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;padding:8px 14px;transition:background .2s}.chat-input-row button:disabled{background:#ccc;cursor:not-allowed}.chat-unread-badge{background:#e11d48;box-shadow:0 1px 4px #00000014;color:#fff;font-size:12px;height:14px;line-height:14px;text-align:center;width:14px}.chat-unread-badge,.led-blink{border-radius:50%;display:inline-block;margin-left:6px;vertical-align:middle}.led-blink{animation:led-blink 1s infinite;background:radial-gradient(circle at 30% 30%,#ff4b4b 70%,#b91c1c 100%);box-shadow:0 0 8px 2px #ff4b4b,0 0 2px #b91c1c;height:12px;width:12px}@keyframes led-blink{0%,to{box-shadow:0 0 8px 2px #ff4b4b,0 0 2px #b91c1c;opacity:1}50%{box-shadow:0 0 2px 0 #b91c1c;opacity:.4}}.realtime-dot{animation:realtime-dot-blink 1.1s infinite;background-color:#e11d48;border-radius:50%;box-shadow:0 0 8px 2px #e11d48,0 0 2px #b91c1c;display:inline-block;height:12px;margin-left:6px;margin-right:0;vertical-align:middle;width:12px;z-index:10000}.realtime-dot-red{background-color:#ff3b30!important;box-shadow:0 0 10px 4px #ff3b30b3,0 0 4px #b91c1ccc}@keyframes realtime-dot-blink{0%,to{box-shadow:0 0 8px 2px #e11d48,0 0 2px #b91c1c;opacity:1}50%{box-shadow:0 0 2px 0 #b91c1c;opacity:.4}}@media (max-width:768px){.chat-toggle-btn{font-size:24px;height:56px;width:56px}.user-chat-widget{bottom:20px;right:20px}.chat-popup{max-height:70vh;max-width:360px;width:calc(100vw - 40px)}.chat-messages{max-height:calc(70vh - 120px);min-height:180px}.chat-toggle-btn .realtime-dot{border-width:2px;height:14px;right:-2px;top:-2px;width:14px}}@media (max-width:480px){.chat-toggle-btn{font-size:24px;height:56px;width:56px}.user-chat-widget{bottom:16px;right:16px}.chat-popup{max-height:75vh;width:calc(100vw - 24px)}.chat-messages{max-height:calc(75vh - 110px);padding:10px}.chat-input-row{padding:6px}.chat-input-row input{font-size:14px;padding:6px 10px}.chat-input-row button{font-size:14px;padding:6px 12px}}