@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap);:root{--color-primary:#0d9488;--color-primary-light:#14b8a6;--color-primary-dark:#0f766e;--color-primary-glow:#0d948866;--color-secondary:#6366f1;--color-secondary-light:#818cf8;--color-secondary-dark:#4f46e5;--color-accent:#f59e0b;--color-accent-light:#fbbf24;--color-success:#10b981;--color-success-bg:#10b9811a;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-danger:#ef4444;--color-danger-bg:#ef44441a;--color-info:#3b82f6;--color-info-bg:#3b82f61a;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293bcc;--bg-glass:#ffffff0d;--bg-glass-hover:#ffffff14;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#0d9488;--border-primary:#ffffff1a;--border-secondary:#ffffff0d;--border-accent:#0d94884d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d;--shadow-xl:0 20px 25px -5px #00000080,0 10px 10px -5px #0006;--shadow-glow:0 0 40px #0d94884d;--shadow-glow-lg:0 0 80px #0d948833;--font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--transition-spring:500ms cubic-bezier(0.34,1.56,0.64,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:#0f172a;background:var(--bg-primary);color:#f1f5f9;color:var(--text-primary);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);line-height:1.6;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#1e293b;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#334155;background:var(--bg-tertiary);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#0d9488;background:var(--color-primary)}::selection{background:#0d9488;background:var(--color-primary);color:#fff}a{color:#14b8a6;color:var(--color-primary-light);text-decoration:none;transition:color .15s ease;transition:color var(--transition-fast)}a:hover{color:#0d9488;color:var(--color-primary)}h1,h2,h3,h4,h5,h6{color:#f1f5f9;color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:2.25rem;font-size:var(--font-size-4xl)}h2{font-size:1.875rem;font-size:var(--font-size-3xl)}h3{font-size:1.5rem;font-size:var(--font-size-2xl)}h4{font-size:1.25rem;font-size:var(--font-size-xl)}h5{font-size:1.125rem;font-size:var(--font-size-lg)}h6{font-size:1rem;font-size:var(--font-size-base)}code{background:#334155;background:var(--bg-tertiary);border-radius:.375rem;border-radius:var(--radius-sm);font-family:JetBrains Mono,Fira Code,monospace;font-size:.875em;padding:.125rem .375rem}:focus{outline:none}:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--color-primary);outline-offset:2px}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}.animate-fadeIn{animation:fadeIn ease .35s ease forwards;animation:fadeIn var(--transition-slow) ease forwards}.animate-fadeInUp{animation:fadeInUp ease .35s ease forwards;animation:fadeInUp var(--transition-slow) ease forwards}.animate-fadeInDown{animation:fadeInDown ease .35s ease forwards;animation:fadeInDown var(--transition-slow) ease forwards}.animate-scaleIn{animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1) forwards;animation:scaleIn var(--transition-spring) forwards}.animate-slideInLeft{animation:slideInLeft ease .35s ease forwards;animation:slideInLeft var(--transition-slow) ease forwards}.animate-slideInRight{animation:slideInRight ease .35s ease forwards;animation:slideInRight var(--transition-slow) ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.delay-6{animation-delay:.3s}.delay-7{animation-delay:.35s}.delay-8{animation-delay:.4s}.toast-container{display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none;position:fixed;right:var(--spacing-xl);top:var(--spacing-xl);z-index:3000}.toast{align-items:flex-start;animation:toastSlideIn .4s cubic-bezier(.34,1.56,.64,1);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:0 10px 40px #0006,0 0 60px #0003;display:flex;gap:var(--spacing-md);max-width:420px;min-width:320px;padding:var(--spacing-md) var(--spacing-lg);pointer-events:auto}.toast.exiting{animation:toastSlideOut .3s ease forwards}.toast.success{background:linear-gradient(135deg,var(--bg-secondary),#22c55e0d);border-color:#22c55e4d}.toast.error{background:linear-gradient(135deg,var(--bg-secondary),#ef44440d);border-color:#ef44444d}.toast.warning{background:linear-gradient(135deg,var(--bg-secondary),#eab3080d);border-color:#eab3084d}.toast.info{background:linear-gradient(135deg,var(--bg-secondary),#6366f10d);border-color:#6366f14d}.toast-icon{align-items:center;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:1.2rem;height:36px;justify-content:center;width:36px}.toast.success .toast-icon{background:#22c55e26}.toast.error .toast-icon{background:#ef444426}.toast.warning .toast-icon{background:#eab30826}.toast.info .toast-icon{background:#6366f126}.toast-content{flex:1 1;min-width:0}.toast-title{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;margin-bottom:2px}.toast.success .toast-title{color:#22c55e}.toast.error .toast-title{color:#ef4444}.toast.warning .toast-title{color:#eab308}.toast.info .toast-title{color:#6366f1}.toast-message{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4;word-break:break-word}.toast-close{background:#0000;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:1rem;margin:-4px -4px -4px 0;opacity:.6;padding:4px;transition:all .2s ease}.toast-close:hover{color:var(--text-primary);opacity:1}.toast-progress{background:var(--bg-tertiary);border-radius:0 0 var(--radius-xl) var(--radius-xl);bottom:0;height:3px;left:0;overflow:hidden;position:absolute;right:0}.toast-progress-bar{height:100%;transition:width linear}.toast.success .toast-progress-bar{background:linear-gradient(90deg,#22c55e,#16a34a)}.toast.error .toast-progress-bar{background:linear-gradient(90deg,#ef4444,#dc2626)}.toast.warning .toast-progress-bar{background:linear-gradient(90deg,#eab308,#ca8a04)}.toast.info .toast-progress-bar{background:linear-gradient(90deg,#6366f1,#4f46e5)}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:480px){.toast-container{left:var(--spacing-md);right:var(--spacing-md);top:var(--spacing-md)}.toast{max-width:none;min-width:0;min-width:auto;width:100%}}.login-container{background:linear-gradient(135deg,#0a0f1a,#0f172a 50%,#1a1f35)}.login-bg-elements{inset:0;overflow:hidden;pointer-events:none;position:absolute}.floating-shape{animation:floatAround 20s ease-in-out infinite;border-radius:50%;filter:blur(60px);opacity:.5;position:absolute}.shape-1{animation-delay:0s;background:radial-gradient(circle,#0d948866 0,#0000 70%);height:400px;left:-10%;top:-10%;width:400px}.shape-2{animation-delay:-5s;background:radial-gradient(circle,#6366f14d 0,#0000 70%);height:300px;right:-5%;top:60%;width:300px}.shape-3{animation-delay:-10s;background:radial-gradient(circle,#f59e0b33 0,#0000 70%);bottom:-5%;height:250px;left:30%;width:250px}.shape-4{animation-delay:-15s;background:radial-gradient(circle,#10b9814d 0,#0000 70%);height:200px;right:30%;top:20%;width:200px}.shape-5{animation-delay:-8s;background:radial-gradient(circle,#6366f133 0,#0000 70%);bottom:20%;height:350px;left:-10%;width:350px}@keyframes floatAround{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(20px,30px) scale(1.02)}}.login-card{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#1e293bd9;border:1px solid #ffffff1a;border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #00000080,0 0 100px #0d94881a,inset 0 1px 0 #ffffff1a;max-width:440px;opacity:0;padding:var(--spacing-2xl);position:relative;transform:translateY(30px) scale(.95);transition:all .6s cubic-bezier(.34,1.56,.64,1);width:100%}.login-card.mounted{opacity:1;transform:translateY(0) scale(1)}.login-logo{margin-bottom:var(--spacing-xl);text-align:center}.logo-icon{align-items:center;animation:pulse-glow 3s ease-in-out infinite;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-xl);box-shadow:0 10px 30px #0d94884d,0 0 40px #0d948833;display:flex;height:64px;justify-content:center;margin:0 auto var(--spacing-md);width:64px}.logo-icon svg{color:#fff;height:32px;width:32px}.login-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-secondary-light) 100%);-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-2xl);font-weight:800;letter-spacing:-.02em;margin:0}.login-logo p{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.login-card .login-tabs{background:#0003;border-radius:var(--radius-xl);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xs)}.login-card .tab-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease}.login-card .tab-button:hover{background:#ffffff0d;color:var(--text-primary)}.login-card .tab-button.active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));box-shadow:0 4px 15px #0d948866;color:#fff}.tab-icon{font-size:1.1rem}.login-form-content{margin-bottom:var(--spacing-lg)}.form-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-card .form-group{margin-bottom:0}.login-card .form-group label{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.label-icon{font-size:1rem}.login-card .form-group input{background:#0003;border:2px solid #ffffff14;border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);transition:all .3s ease;width:100%}.login-card .form-group input::placeholder{color:var(--text-muted)}.login-card .form-group input:hover{background:#00000040;border-color:#ffffff26}.login-card .form-group input:focus{background:#0000004d;border-color:var(--color-primary);box-shadow:0 0 0 4px #0d948826;outline:none}.login-card .error-message{align-items:center;animation:shake .5s ease-in-out;background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-lg);color:#fca5a5;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-md)}.submit-btn{justify-content:center;margin-top:var(--spacing-lg);overflow:hidden;position:relative;transition:all .3s ease;width:100%}.submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 10px 30px #0d948866}.submit-btn:hover:not(:disabled):before{left:100%}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);transform:none}.btn-arrow{transition:transform .3s ease}.submit-btn:hover:not(:disabled) .btn-arrow{transform:translateX(4px)}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:18px;width:18px}.login-card .login-info{align-items:flex-start;background:#3b82f614;border:1px solid #3b82f626;border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.info-icon{font-size:1.25rem;line-height:1}.login-card .login-info p{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin:0}.login-footer{border-top:1px solid #ffffff0d;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);text-align:center}.login-footer p{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.05em;margin:0}.login-copyright{bottom:var(--spacing-xl);left:50%;position:absolute;text-align:center;transform:translateX(-50%);z-index:1}.login-copyright .copyright-logo{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-xs)}.login-copyright .copyright-logo-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-sm);display:flex;height:20px;justify-content:center;width:20px}.login-copyright .copyright-logo-icon svg{color:#fff;height:12px;width:12px}.login-copyright .copyright-logo span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary-light));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-sm);font-weight:700}.login-copyright p{color:var(--text-muted);font-size:var(--font-size-xs);margin:0}@media (max-width:480px){.login-container{padding:var(--spacing-md);padding-bottom:100px}.login-card{padding:var(--spacing-xl)}.login-logo h1{font-size:var(--font-size-xl)}.login-card .tab-button span:last-child{display:none}.login-card .tab-button{justify-content:center}.tab-icon{font-size:1.5rem}.login-copyright{bottom:var(--spacing-md)}}.doctor-form-modern{max-width:100%}.doctor-form-modern .form-header{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-shrink:0;justify-content:space-between;margin:calc(var(--spacing-lg)*-1);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.doctor-form-modern .form-header .header-content{align-items:center;display:flex;gap:var(--spacing-md)}.doctor-form-modern .form-icon{align-items:center;background:#fff3;border-radius:var(--radius-lg);display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.doctor-form-modern .form-header h2{color:#fff;font-size:var(--font-size-lg);font-weight:700;margin:0}.doctor-form-modern .form-header p{color:#fffc;font-size:var(--font-size-sm);margin:0}.doctor-form-modern .modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.doctor-form-modern .modal-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.section-tabs{background:var(--bg-tertiary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-xs)}.section-tab,.section-tabs{display:flex;gap:var(--spacing-sm)}.section-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:600;justify-content:center;padding:var(--spacing-md);transition:all .2s ease}.section-tab:hover{background:var(--bg-glass);color:var(--text-primary)}.section-tab.active{background:var(--color-primary);box-shadow:0 4px 12px #0d94884d;color:#fff}.section-tab .tab-icon{font-size:1rem}.schedule-count{background:#fff3;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;padding:2px 8px}.form-section{animation:fadeIn .3s ease}.form-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}.form-grid .full-width{grid-column:1/-1}.doctor-form-modern .form-group{margin-bottom:0}.doctor-form-modern .form-group label{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.doctor-form-modern .label-icon{font-size:1rem}.doctor-form-modern .form-group input[type=email],.doctor-form-modern .form-group input[type=number],.doctor-form-modern .form-group input[type=tel],.doctor-form-modern .form-group input[type=text]{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);transition:all .2s ease;width:100%}.doctor-form-modern .form-group input::placeholder{color:var(--text-muted)}.doctor-form-modern .form-group input:hover{border-color:var(--border-accent)}.doctor-form-modern .form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948833;outline:none}.input-hint{color:var(--text-muted)}.time-slider{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-lg);padding:var(--spacing-md)}.time-slider input[type=range]{-webkit-appearance:none;appearance:none;background:var(--bg-secondary);border-radius:var(--radius-full);cursor:pointer;flex:1 1;height:6px}.time-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary);border-radius:50%;box-shadow:0 2px 8px #0d948866;cursor:pointer;height:20px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:20px}.time-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.time-value{color:var(--color-primary-light);font-size:var(--font-size-lg);min-width:60px;text-align:center}.presets-card{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.presets-card h4,.schedule-list h4,.template-card h4{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-size-base);font-weight:700;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.preset-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.preset-buttons button{align-items:center;background:linear-gradient(135deg,var(--color-success),#059669);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-weight:600;gap:var(--spacing-xs);min-width:140px;padding:var(--spacing-md);transition:all .2s ease}.preset-buttons button:hover{box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.preset-buttons button span:first-child{font-size:1.5rem}.preset-buttons button small{font-size:var(--font-size-xs);font-weight:400;opacity:.8}.template-card{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg)}.template-card,.template-grid{margin-bottom:var(--spacing-lg)}.template-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr)}.template-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.template-input label{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500}.template-input input{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm)}.template-input input:focus{border-color:var(--color-primary);outline:none}.day-selector{border-top:1px solid var(--border-secondary);padding-top:var(--spacing-lg)}.day-selector>label{color:var(--text-secondary);display:block;font-size:var(--font-size-sm)}.day-pills,.day-selector>label{margin-bottom:var(--spacing-md)}.day-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.day-pill{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;justify-content:center;min-width:52px;padding:var(--spacing-sm) var(--spacing-md);text-transform:capitalize;transition:all .2s ease}.day-pill input{display:none}.day-pill:hover{border-color:var(--color-primary);color:var(--text-primary)}.day-pill.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.apply-template-btn{background:linear-gradient(135deg,var(--color-info),#2563eb);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-md);transition:all .2s ease;width:100%}.apply-template-btn:hover:not(:disabled){box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.apply-template-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.schedule-list{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;padding:var(--spacing-lg)}.schedule-days{display:flex;flex-direction:column;gap:var(--spacing-sm)}.day-row{align-items:center;background:var(--bg-tertiary);border:2px solid #0000;border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-md);overflow:hidden;padding:var(--spacing-md);transition:all .2s ease}.day-row.active{background:#10b9810d;border-color:#10b9814d}.day-row:hover{background:var(--bg-glass-hover)}.day-label{display:flex;flex-direction:column;gap:2px;min-width:120px}.day-name{color:var(--text-primary);text-transform:capitalize}.day-status{font-size:var(--font-size-xs);font-weight:600}.day-status.working{color:var(--color-success)}.day-status.off{color:var(--text-muted)}.day-schedule{flex:1 1}.day-schedule,.schedule-inputs{align-items:center;display:flex;gap:var(--spacing-sm)}.schedule-inputs{flex-wrap:wrap}.schedule-inputs input[type=time]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.schedule-inputs input[type=time]:focus{border-color:var(--color-primary);outline:none}.break-label,.time-separator{color:var(--text-muted);font-size:var(--font-size-xs)}.break-label{margin-left:var(--spacing-sm)}.clear-day-btn{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.clear-day-btn:hover{background:var(--color-danger);color:#fff}.add-day-btn{background:#0000;border:2px dashed var(--border-primary);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.add-day-btn:hover{background:#0d94880d;border-color:var(--color-primary);color:var(--color-primary-light)}.day-sessions{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--spacing-sm);min-width:0}.session-chip{align-items:center;background:linear-gradient(135deg,#10b98126,#0d94881a);border:1px solid #10b9814d;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.session-chip .session-time{color:var(--color-primary-light);font-family:JetBrains Mono,Fira Code,monospace;font-weight:600}.remove-chip-btn{align-items:center;background:#ef444433;border:none;border-radius:50%;color:var(--color-danger);cursor:pointer;display:flex;font-size:10px;height:18px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:18px}.remove-chip-btn:hover{background:var(--color-danger);color:#fff;transform:scale(1.15)}.no-sessions-hint{color:var(--text-muted);font-size:var(--font-size-xs);font-style:italic}.session-card{align-items:center;background:linear-gradient(135deg,#10b98114,#0d94880d);border:1px solid #10b98133;border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all .2s ease}.session-card:hover{border-color:#10b98166;box-shadow:0 4px 12px #10b9811a}.session-time-block{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md)}.time-input-group{display:flex;flex-direction:column;gap:4px}.time-label{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.styled-time-input{background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--font-size-base);font-weight:600;min-width:110px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.styled-time-input:focus,.styled-time-input:hover{border-color:var(--color-primary)}.styled-time-input:focus{box-shadow:0 0 0 3px #0d948833;outline:none}.time-arrow{color:var(--color-primary);font-size:1.25rem;font-weight:700}.remove-session-btn{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-lg);color:var(--color-danger);cursor:pointer;display:flex;flex-shrink:0;font-size:.875rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.remove-session-btn:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff;transform:scale(1.1)}.add-session-btn{align-items:center;background:#0000;border:2px dashed var(--border-accent);border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.add-session-btn:hover{background:#0d94880d;border-color:var(--color-primary);color:var(--color-primary-light)}.add-session-btn .add-icon{font-size:1.1rem;font-weight:700}.custom-time-picker{width:100%}.custom-time-picker .react-time-picker__wrapper{background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.custom-time-picker:hover .react-time-picker__wrapper{border-color:var(--color-primary)}.custom-time-picker .react-time-picker__wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948833}.custom-time-picker .react-time-picker__inputGroup{align-items:center;display:flex;gap:2px}.custom-time-picker .react-time-picker__inputGroup__input{background:#0000;border:none;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--font-size-base);font-weight:600;min-width:0;outline:none;padding:2px;text-align:center}.custom-time-picker .react-time-picker__inputGroup__input::placeholder{color:var(--text-muted)}.custom-time-picker .react-time-picker__inputGroup__divider{color:var(--text-muted);font-weight:600}.custom-time-picker .react-time-picker__inputGroup__amPm{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-weight:600;margin-left:4px;padding:2px 6px}.custom-time-picker .react-time-picker__inputGroup__amPm:focus{border-color:var(--color-primary);outline:none}.custom-time-picker .react-time-picker__button{background:#0000;border:none;cursor:pointer;padding:4px}.custom-time-picker .react-time-picker__button svg{stroke:var(--text-muted)}.custom-time-picker .react-time-picker__button:hover svg{stroke:var(--color-primary)}.doctor-form-modern .form-actions{border-top:1px solid var(--border-primary);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl)}.cancel-btn:hover{border-color:var(--text-muted)}.submit-btn{align-items:center;box-shadow:0 4px 15px #0d94884d;display:flex;font-size:var(--font-size-base);font-weight:700;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl)}.submit-btn:hover{box-shadow:0 6px 20px #0d948866;transform:translateY(-2px)}.submit-btn .btn-arrow{font-size:1.2rem;transition:transform .2s ease}.submit-btn:hover .btn-arrow{transform:translateX(4px)}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.template-grid{grid-template-columns:repeat(2,1fr)}.preset-buttons{flex-direction:column}.preset-buttons button{flex-direction:row;justify-content:center}.day-row,.day-schedule{align-items:flex-start;flex-direction:column}.day-schedule,.schedule-inputs{width:100%}.doctor-form-modern .form-actions{flex-direction:column}.cancel-btn,.submit-btn{justify-content:center;width:100%}}@media (max-width:480px){.section-tabs{flex-direction:column}.template-grid{grid-template-columns:1fr}.day-pills{justify-content:center}}.doctor-list-container{animation:fadeIn .4s ease}.list-header{flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-lg)}.list-header,.search-box{align-items:center;display:flex}.search-box{flex:1 1;max-width:400px;min-width:280px;position:relative}.search-icon{color:var(--text-muted);font-size:1rem;left:var(--spacing-md);pointer-events:none;position:absolute}.search-box input{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);padding-left:2.5rem;padding-right:2.5rem;transition:all .2s ease;width:100%}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948833;outline:none}.clear-search{align-items:center;background:var(--bg-secondary);border:none;border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;padding:0;position:absolute;right:var(--spacing-sm);transition:all .2s ease;width:24px}.clear-search:hover{background:var(--color-danger);color:#fff}.view-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.view-btn:hover{background:var(--bg-glass);color:var(--text-primary)}.view-btn.active{background:var(--color-primary);color:#fff}.results-info{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.empty-state{padding:var(--spacing-3xl) var(--spacing-xl)}.empty-icon{opacity:.5}.empty-state h3{margin-bottom:var(--spacing-sm)}.empty-state p{margin:0 auto;max-width:400px}.doctors-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.doctor-card{animation:fadeInUp .4s ease both;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease}.doctor-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg),0 0 40px #0d94881a;transform:translateY(-2px)}.doctor-card .card-header{align-items:center;background:linear-gradient(135deg,#0d94881a,#6366f10d);border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;padding:var(--spacing-md)}.doctor-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-lg);box-shadow:0 4px 12px #0d94884d;color:#fff;display:flex;font-size:var(--font-size-base);font-weight:800;height:48px;justify-content:center;width:48px}.doctor-avatar.inactive{background:var(--bg-tertiary);box-shadow:none;color:var(--text-muted)}.doctor-status{align-items:center;display:flex}.status-indicator{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.status-indicator.active{background:var(--color-success-bg);color:var(--color-success)}.status-indicator.inactive{background:var(--bg-tertiary);color:var(--text-muted)}.doctor-card .card-body{padding:var(--spacing-md)}.doctor-name{color:var(--text-primary);font-size:var(--font-size-base);font-weight:700;margin-bottom:2px}.doctor-specialization{background:#0d94881a;border-radius:var(--radius-md);color:var(--color-primary-light);display:inline-block;font-size:var(--font-size-xs);font-weight:600;margin-bottom:var(--spacing-sm);padding:2px var(--spacing-sm)}.doctor-info-compact{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.info-chip{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:var(--font-size-xs);gap:4px;padding:4px 8px}.info-chip span:first-child{font-size:.75rem}.fee-duration-row{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-sm)}.duration-box,.fee-box{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;padding:var(--spacing-sm)}.fee-box{background:linear-gradient(135deg,#10b9811a,#10b9810d);border-color:#10b98133}.duration-box{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border-color:#3b82f633}.duration-label,.fee-label{color:var(--text-muted);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.fee-value{color:var(--color-success)}.duration-value,.fee-value{font-size:var(--font-size-lg);font-weight:700}.duration-value{color:var(--color-info)}.schedule-preview{background:var(--bg-glass);border-radius:var(--radius-md);padding:var(--spacing-sm)}.schedule-label{color:var(--text-muted);display:block;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;margin-bottom:var(--spacing-xs);text-transform:uppercase}.day-indicators{display:flex;gap:4px;justify-content:space-between}.day-dot{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-muted);display:flex;font-size:10px;font-weight:700;height:26px;justify-content:center;transition:all .2s ease;width:26px}.day-dot.active{background:var(--color-success);box-shadow:0 2px 6px #10b9814d;color:#fff}.doctor-card .card-actions{border-top:1px solid var(--border-secondary);display:flex}.doctor-card .action-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex:1 1;font-size:var(--font-size-xs);font-weight:600;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm);transition:all .2s ease}.doctor-card .action-btn.edit{border-right:1px solid var(--border-secondary);color:var(--color-info)}.doctor-card .action-btn.edit:hover{background:var(--color-info-bg)}.doctor-card .action-btn.delete{color:var(--color-danger)}.doctor-card .action-btn.delete:hover{background:var(--color-danger-bg)}.doctor-card .action-btn.book{border-right:1px solid var(--border-secondary);color:var(--color-success)}.doctor-card .action-btn.book:hover{background:#10b9811a}.table-container{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow-x:auto}.doctors-table{border-collapse:collapse}.doctors-table th{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}.doctors-table tbody tr{animation:fadeInUp .3s ease both;transition:background .2s ease}.table-doctor{gap:var(--spacing-md)}.mini-avatar,.table-doctor{align-items:center;display:flex}.mini-avatar{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-lg);color:#fff;flex-shrink:0;font-size:var(--font-size-sm);font-weight:700;height:40px;justify-content:center;width:40px}.mini-avatar.inactive{background:var(--bg-tertiary);color:var(--text-muted)}.table-doctor-info{display:flex;flex-direction:column;min-width:0}.table-name{color:var(--text-primary);font-weight:600}.table-email{color:var(--text-muted);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.specialization-badge{background:#0d94881a;color:var(--color-primary-light);display:inline-block;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.contact-text,.duration-text,.fee-text{color:var(--text-secondary)}.fee-text{color:var(--color-success);font-size:var(--font-size-base);font-weight:700}.duration-text{color:var(--color-info);font-weight:600}.status-pill{border-radius:var(--radius-full);display:inline-block;font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm)}.status-pill.active{background:var(--color-success-bg);color:var(--color-success)}.status-pill.inactive{background:var(--bg-tertiary);color:var(--text-muted)}.table-actions{display:flex;gap:var(--spacing-xs)}.table-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.table-btn.edit:hover{background:var(--color-info-bg);border-color:var(--color-info)}.table-btn.delete:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.status-toggle{align-items:center;cursor:pointer;display:flex;gap:6px}.status-toggle input{display:none}.toggle-slider{background:#e0e0e0;border-radius:10px;height:20px;position:relative;transition:all .3s ease;width:36px}.toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:16px;left:2px;position:absolute;top:2px;transition:all .3s ease;width:16px}.status-toggle input:checked+.toggle-slider{background:linear-gradient(135deg,#10b981,#059669)}.status-toggle input:checked+.toggle-slider:before{transform:translateX(16px)}.toggle-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.65rem;font-weight:500}.status-toggle input:checked~.toggle-label{color:#10b981}.status-toggle-mini{align-items:center;cursor:pointer;display:inline-flex}.status-toggle-mini input{display:none}.toggle-slider-mini{background:#e0e0e0;border-radius:10px;height:20px;position:relative;transition:all .3s ease;width:36px}.toggle-slider-mini:before{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:16px;left:2px;position:absolute;top:2px;transition:all .3s ease;width:16px}.status-toggle-mini input:checked+.toggle-slider-mini{background:linear-gradient(135deg,#10b981,#059669)}.status-toggle-mini input:checked+.toggle-slider-mini:before{transform:translateX(16px)}.gender-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:500;padding:4px 10px;text-transform:capitalize}.gender-badge.male{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.gender-badge.female{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.gender-badge.other{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}@media (max-width:768px){.list-header{flex-direction:column}.search-box{max-width:100%}.doctors-grid,.fee-duration-row{grid-template-columns:1fr}}.booking-modal-overlay{align-items:flex-start;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:100px;z-index:50}.booking-modal{animation:slideUp .3s ease;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000080;max-height:calc(100vh - 130px);max-width:500px;overflow-y:auto;width:100%}.booking-modal-header{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;display:flex;justify-content:space-between;padding:var(--spacing-lg)}.doctor-info-header{align-items:center;display:flex;gap:var(--spacing-md)}.doctor-avatar-small{align-items:center;background:#fff3;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-base);font-weight:700;height:48px;justify-content:center;width:48px}.doctor-info-header h2{font-size:var(--font-size-lg);font-weight:700;margin:0}.doctor-info-header p{font-size:var(--font-size-sm);margin:0;opacity:.9}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.modal-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.booking-form{padding:var(--spacing-lg)}.booking-error{background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-lg);color:var(--color-danger);font-size:var(--font-size-sm);margin:var(--spacing-md);padding:var(--spacing-md)}.form-section{border-bottom:1px solid var(--border-primary);padding:var(--spacing-lg)}.form-section h3{color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--spacing-md) 0}.form-group{margin-bottom:var(--spacing-md)}.form-group textarea{min-height:60px}.session-options{flex-wrap:wrap}.session-label{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.session-option.selected .session-label{color:var(--color-primary-light)}.booking-modal-footer{align-items:center;background:var(--bg-secondary);border-top:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.fee-info{color:var(--text-secondary);font-size:var(--font-size-sm)}.fee-info strong{color:var(--color-success);font-size:var(--font-size-lg)}.cancel-btn{min-width:100px}.submit-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0d94884d;color:#fff;cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.submit-btn:hover:not(:disabled){box-shadow:0 6px 16px #0d948866;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:600px){.booking-modal{border-radius:0;max-height:100%;max-width:100%}.form-row{grid-template-columns:1fr}.booking-modal-footer{flex-direction:column;gap:var(--spacing-md)}.form-actions{width:100%}.cancel-btn,.submit-btn{flex:1 1}}.confirm-modal-overlay{align-items:center;animation:confirmFadeIn .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000bf;display:flex;inset:0;justify-content:center;padding:var(--spacing-xl);position:fixed;z-index:2000}.confirm-modal{animation:confirmScaleIn .3s cubic-bezier(.34,1.56,.64,1);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #00000080,0 0 100px #ef44441a;max-width:420px;overflow:hidden;position:relative;width:100%}.confirm-modal-header{align-items:center;background:linear-gradient(135deg,#ef444426,#ef44440d);border-bottom:1px solid #ef444433;display:flex;gap:var(--spacing-md);padding:var(--spacing-xl)}.confirm-modal-icon{align-items:center;background:#ef444426;border-radius:var(--radius-xl);color:var(--color-danger);display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.confirm-modal-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:700;margin:0}.confirm-modal-body{padding:var(--spacing-xl)}.confirm-modal-message{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6;margin:0}.confirm-modal-warning{align-items:flex-start;background:#eab3081a;border:1px solid #eab30833;border-radius:var(--radius-lg);color:var(--color-warning);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-md)}.confirm-modal-warning-icon{flex-shrink:0;font-size:1rem}.confirm-modal-actions{background:var(--bg-tertiary);border-top:1px solid var(--border-primary);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl)}.confirm-modal-btn{align-items:center;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex:1 1;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s ease}.confirm-modal-btn-cancel{background:var(--bg-card);border:1px solid var(--border-primary);color:var(--text-secondary)}.confirm-modal-btn-cancel:hover{background:var(--bg-glass-hover);border-color:var(--border-accent);color:var(--text-primary)}.confirm-modal-btn-confirm{background:linear-gradient(135deg,var(--color-danger),#dc2626);border:none;box-shadow:0 4px 15px #ef44444d;color:#fff}.confirm-modal-btn-confirm:hover{box-shadow:0 6px 20px #ef444466;transform:translateY(-2px)}.confirm-modal-btn-confirm:active{transform:translateY(0)}.confirm-modal.primary .confirm-modal-header{background:linear-gradient(135deg,#0d948826,#0d94880d);border-bottom-color:#0d948833}.confirm-modal.primary .confirm-modal-icon{background:#0d948826;color:var(--color-primary)}.confirm-modal.primary .confirm-modal-btn-confirm{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));box-shadow:0 4px 15px #0d94884d}.confirm-modal.primary .confirm-modal-btn-confirm:hover{box-shadow:0 6px 20px #0d948866}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmScaleIn{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:480px){.confirm-modal-overlay{padding:var(--spacing-md)}.confirm-modal{max-width:100%}.confirm-modal-body,.confirm-modal-header{padding:var(--spacing-lg)}.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions,.confirm-modal-btn{padding:var(--spacing-md)}}.doctors-page{animation:fadeIn .4s ease;margin:0 auto;max-width:1400px;padding:var(--spacing-lg)}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-xl)}.page-header .header-content h1{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:800;margin:0}.page-header .header-content p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0}.add-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0d94884d;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:700;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.add-btn:hover{box-shadow:0 6px 16px #0d948866;transform:translateY(-2px)}.add-btn span:first-child{font-size:1.2rem;font-weight:700}.stats-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--spacing-xl)}.stat-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg);text-align:center;transition:all .2s ease}.stat-card:hover{border-color:var(--border-accent)}.stat-value{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:800}.stat-label{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.stat-card.active .stat-value{color:var(--color-success)}.stat-card.inactive .stat-value{color:var(--text-muted)}.filter-tabs{background:var(--bg-tertiary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding:var(--spacing-xs);width:-webkit-fit-content;width:fit-content}.filter-tab{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{background:var(--color-primary);color:#fff}.form-overlay{align-items:flex-start;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:100px;z-index:50}.form-container{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000080;max-height:calc(100vh - 130px);max-width:580px;overflow-y:auto;padding:var(--spacing-lg);width:100%}@media (max-width:768px){.doctors-page{padding:var(--spacing-md)}.page-header{align-items:flex-start;flex-direction:column}.add-btn{justify-content:center;width:100%}.filter-tabs{overflow-x:auto;width:100%}}.edit-panel-overlay{align-items:stretch;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:100px;z-index:50}.edit-panel{animation:slideIn .3s ease;background:var(--bg-primary);box-shadow:-10px 0 40px #0000004d;display:flex;flex-direction:column;height:100%;max-width:480px;width:100%}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.edit-panel-header{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;display:flex;justify-content:space-between;padding:var(--spacing-lg)}.header-info h2{font-size:var(--font-size-lg);font-weight:700;margin:0}.booking-ref{font-family:monospace;font-size:var(--font-size-sm);opacity:.8}.close-btn{align-items:center;background:#fff3;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.edit-error{background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-lg);color:var(--color-danger);font-size:var(--font-size-sm);margin:var(--spacing-md)}.edit-error,.mode-tabs{padding:var(--spacing-md)}.mode-tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);gap:var(--spacing-xs)}.mode-tabs button{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.mode-tabs button:hover{border-color:var(--border-accent);color:var(--text-primary)}.mode-tabs button.active{background:#0d94881a;border-color:var(--color-primary);color:var(--color-primary-light)}.edit-panel-content{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.info-section{margin-bottom:var(--spacing-xl)}.info-section h3{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.5px;margin:0 0 var(--spacing-md) 0;text-transform:uppercase}.info-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.info-item{display:flex;flex-direction:column;gap:2px}.info-item label{color:var(--text-muted);font-size:var(--font-size-xs)}.info-item span{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500}.visit-type{border-radius:var(--radius-sm);display:inline-block;font-size:var(--font-size-xs);padding:2px var(--spacing-sm)}.visit-type.new{background:#3b82f633;color:#60a5fa}.visit-type.follow_up{background:#8b5cf633;color:#a78bfa}.symptoms-box{background:var(--bg-tertiary);border-radius:var(--radius-lg);margin-top:var(--spacing-md);padding:var(--spacing-md)}.symptoms-box label{color:var(--text-muted);display:block;font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs)}.symptoms-box p{color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic;margin:0}.status-actions{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr}.status-btn{border:2px solid;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-sm) var(--spacing-md);text-transform:capitalize;transition:all .2s ease}.status-btn:hover:not(:disabled){transform:translateY(-2px)}.status-btn:disabled{cursor:not-allowed;opacity:.5}.source-badge{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);padding:2px var(--spacing-sm)}.edit-form,.reschedule-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group label{margin-bottom:var(--spacing-xs)}.form-group input,.form-group select,.form-group textarea{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #0d948833}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.current-slot{background:var(--bg-tertiary);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.current-slot h4{color:var(--text-muted);font-size:var(--font-size-xs);margin:0 0 var(--spacing-xs) 0;text-transform:uppercase}.current-slot p{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;margin:0}.session-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-option{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;display:flex;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.session-option input{display:none}.session-option.selected{background:#0d94881a;border-color:var(--color-primary)}.session-option span{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.session-option.selected span{color:var(--color-primary-light)}.no-sessions{background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:var(--radius-lg);color:var(--color-warning);font-size:var(--font-size-sm);padding:var(--spacing-md);text-align:center}.form-actions{border-top:1px solid var(--border-primary);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.cancel-btn{align-items:center;display:flex;flex:1 1;justify-content:center;min-width:80px;padding:var(--spacing-md) var(--spacing-lg);text-align:center;white-space:nowrap}.cancel-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.save-btn{flex:1 1;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg)}.save-btn.reschedule{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.save-btn.reschedule:hover:not(:disabled){box-shadow:0 6px 16px #3b82f666}@media (max-width:600px){.edit-panel{max-width:100%}.form-row,.info-grid,.status-actions{grid-template-columns:1fr}}.appointments-page{animation:fadeIn .4s ease;margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.appointments-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-xl)}.header-content h1{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:800;margin:0}.header-content p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0}.global-book-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0d94884d;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:700;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.global-book-btn:hover:not(:disabled){box-shadow:0 6px 16px #0d948866;transform:translateY(-2px)}.global-book-btn:disabled{cursor:not-allowed;opacity:.5}.global-book-btn span:first-child{font-size:1.2rem;font-weight:700}.appointments-filters{align-items:flex-end;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:250px}.filter-group label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600}.filter-group select{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.filter-group select:focus{border-color:var(--color-primary);outline:none}.date-navigation{align-items:center;display:flex;gap:var(--spacing-sm)}.nav-btn{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.nav-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.today-btn{background:var(--bg-glass);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;font-weight:700;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.today-btn.active,.today-btn:hover{border-color:var(--color-primary);color:var(--color-primary-light)}.today-btn.active{background:#0d94881a}.date-input{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.date-input:focus{border-color:var(--color-primary);outline:none}.current-date-display{align-items:center;background:linear-gradient(135deg,#0d94881a,#6366f10d);border:1px solid var(--border-accent);border-radius:var(--radius-xl);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.current-date-display h2{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:700;margin:0}.appointment-count{background:var(--color-primary);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-sm);font-weight:700;padding:var(--spacing-xs) var(--spacing-md)}.loading-state,.sessions-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.loading-state{align-items:center;justify-content:center;padding:var(--spacing-3xl)}.spinner{animation:spin 1s linear infinite;border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}.loading-state p{color:var(--text-secondary)}.empty-state{align-items:center;background:var(--bg-card);border:2px dashed var(--border-primary);border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-3xl);text-align:center}.empty-icon{margin-bottom:var(--spacing-md)}.empty-state h3{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.empty-state p{color:var(--text-secondary);margin:var(--spacing-xs) 0 var(--spacing-lg)}.book-now-btn{background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.book-now-btn:hover{background:var(--color-primary-dark)}.session-block{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease}.session-block:hover{border-color:var(--border-accent)}.session-header{align-items:center;background:linear-gradient(135deg,#0d948814,#0000);cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);transition:background .2s ease}.session-header:hover{background:linear-gradient(135deg,#0d94881f,#0000)}.session-info{align-items:center;display:flex;gap:var(--spacing-md)}.session-time{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:700}.session-count{background:var(--color-success);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm)}.expand-icon{color:var(--text-muted);transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.session-appointments{border-top:1px solid var(--border-secondary);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.appointment-card{align-items:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all .2s ease}.appointment-card:hover{background:var(--bg-glass-hover)}.appointment-card.clickable{cursor:pointer}.appointment-card.clickable:hover{transform:translateX(4px)}.appointment-number{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:700;height:28px;justify-content:center;width:28px}.appointment-details{flex:1 1;min-width:0}.patient-name{margin-bottom:2px}.patient-info{color:var(--text-secondary);flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.visit-badge{border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;padding:2px var(--spacing-sm)}.visit-badge.follow-up{background:#8b5cf633;color:#a78bfa}.patient-symptoms{color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--spacing-xs)}.appointment-status{flex-shrink:0}.status-scheduled{background:#3b82f633;color:#60a5fa}.status-completed{background:#10b98133;color:#34d399}.status-cancelled{background:#ef444433;color:#f87171}.status-noshow{background:#f59e0b33;color:#fbbf24}.status-default{background:var(--bg-tertiary);color:var(--text-secondary)}@media (max-width:768px){.appointments-page{padding:var(--spacing-md)}.appointments-header{align-items:flex-start;flex-direction:column}.global-book-btn{justify-content:center;width:100%}.appointments-filters{align-items:stretch;flex-direction:column}.filter-group{min-width:100%}.date-navigation{flex-wrap:wrap;justify-content:center}.current-date-display{flex-direction:column;gap:var(--spacing-sm);text-align:center}.appointment-card{flex-direction:column}.appointment-number{align-self:flex-start}.appointment-status{align-self:flex-end}}.resource-list-modern{animation:fadeIn .4s ease}.resources-loading-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-3xl)}.loading-animation{display:flex;gap:var(--spacing-sm)}.loading-dot{animation:bounce 1.4s ease-in-out infinite both;background:var(--color-primary);border-radius:50%;height:12px;width:12px}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.empty-resources{background:var(--bg-card);border:2px dashed var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-3xl);text-align:center}.empty-icon{filter:grayscale(.3);font-size:4rem;margin-bottom:var(--spacing-lg)}.empty-resources h3{color:var(--text-primary);font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.empty-resources>p{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.empty-features{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:center}.feature{align-items:center;background:var(--bg-glass);border-radius:var(--radius-full);color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.resources-header{margin-bottom:var(--spacing-lg)}.resources-count{color:var(--text-muted);font-size:var(--font-size-sm)}.resources-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.resource-card-modern{animation:fadeInUp .4s ease both;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.resource-card-modern:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg),0 0 40px #0d94881a;transform:translateY(-4px)}.card-icon{align-items:center;display:flex;font-size:3rem;justify-content:center;padding:var(--spacing-xl)}.card-content{flex:1 1;padding:0 var(--spacing-lg) var(--spacing-lg)}.resource-name{color:var(--text-primary);font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--spacing-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-meta{align-items:center}.file-type{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm)}.resource-desc{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--spacing-sm);overflow:hidden}.resource-date{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-xs)}.date-icon{font-size:.75rem}.resource-card-modern .card-actions{border-top:1px solid var(--border-secondary);display:flex}.resource-card-modern .action-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex:1 1;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:all .2s ease}.resource-card-modern .action-btn.download{border-right:1px solid var(--border-secondary);color:var(--color-success)}.resource-card-modern .action-btn.download:hover:not(:disabled){background:var(--color-success-bg)}.resource-card-modern .action-btn.download:disabled{color:var(--text-muted);cursor:wait}.resource-card-modern .action-btn.delete{color:var(--color-danger);flex:0 1;min-width:50px}.resource-card-modern .action-btn.delete:hover{background:var(--color-danger-bg)}.btn-spinner{border:2px solid var(--text-muted);border-top-color:var(--color-success)}.resources-footer{background:var(--bg-glass);border-radius:var(--radius-lg);margin-top:var(--spacing-xl);padding:var(--spacing-md)}.storage-info{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:center}.storage-icon{font-size:1rem}@media (max-width:768px){.resources-grid{grid-template-columns:1fr}.empty-features{align-items:center;flex-direction:column}}.resource-upload-modern{max-width:100%}.upload-header{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-shrink:0;justify-content:space-between;margin:calc(var(--spacing-lg)*-1);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.upload-header .header-content{align-items:center;display:flex;gap:var(--spacing-md)}.upload-icon{align-items:center;background:#fff3;border-radius:var(--radius-lg);display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.upload-header h2{color:#fff;font-size:var(--font-size-lg);font-weight:700;margin:0}.upload-header p{color:#fffc;font-size:var(--font-size-sm);margin:0}.resource-upload-modern .modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.resource-upload-modern .modal-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.mode-tabs{background:var(--bg-tertiary);border-radius:var(--radius-xl);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xs)}.mode-tab{border-radius:var(--radius-lg);font-size:var(--font-size-sm);transition:all .2s ease}.mode-tab.active{box-shadow:0 4px 12px #0d94884d}.mode-tab .tab-icon{font-size:1.1rem}.drop-zone{padding:var(--spacing-3xl) var(--spacing-xl);position:relative;transition:all .3s ease}.drop-zone.dragging{background:#0d94881a;border-color:var(--color-primary);transform:scale(1.01)}.drop-zone.has-file{padding:var(--spacing-xl)}.drop-icon{animation:float 3s ease-in-out infinite;font-size:4rem;margin-bottom:var(--spacing-md)}.drop-text{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-xs)}.drop-or{color:var(--text-muted);margin-bottom:var(--spacing-sm)}.browse-btn{background:var(--color-primary);border-radius:var(--radius-lg);color:#fff;display:inline-block;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.drop-zone:hover .browse-btn{background:var(--color-primary-dark);box-shadow:0 4px 12px #0d94884d}.supported-formats{font-size:var(--font-size-xs);margin-top:var(--spacing-md)}.selected-file-preview{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-lg);padding:var(--spacing-md)}.file-icon-large{font-size:2.5rem}.file-details{flex:1 1;text-align:left}.file-details .file-name{color:var(--text-primary);display:block;font-weight:700;margin-bottom:2px;word-break:break-word}.file-details .file-size{color:var(--text-muted);font-size:var(--font-size-sm)}.remove-file{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.remove-file:hover{background:var(--color-danger);color:#fff}.resource-upload-modern .form-group{margin-bottom:var(--spacing-lg)}.resource-upload-modern .form-group label{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.resource-upload-modern .label-icon{font-size:1rem}.resource-upload-modern .form-group input[type=text]{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);transition:all .2s ease;width:100%}.resource-upload-modern .form-group input::placeholder{color:var(--text-muted)}.resource-upload-modern .form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948833;outline:none}.textarea-wrapper{position:relative}.text-upload-section textarea{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);transition:all .2s ease;width:100%}.text-upload-section textarea::placeholder{color:var(--text-muted)}.text-upload-section textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948833;outline:none}.textarea-footer{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;display:flex;justify-content:flex-end;margin-top:-2px;padding:var(--spacing-xs) var(--spacing-sm)}.resource-upload-modern .error-message{align-items:center;animation:shake .5s ease-in-out;background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-lg);color:#fca5a5;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.error-icon{font-size:1rem}.resource-upload-modern .form-actions{border-top:1px solid var(--border-primary);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-lg)}.cancel-btn{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-md) var(--spacing-xl);transition:all .2s ease}.cancel-btn:hover:not(:disabled){background:var(--bg-glass-hover);border-color:var(--text-muted);color:var(--text-primary)}.cancel-btn:disabled{cursor:not-allowed;opacity:.5}.upload-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));box-shadow:0 4px 15px #0d94884d;padding:var(--spacing-md) var(--spacing-xl)}.upload-btn:hover:not(:disabled){box-shadow:0 6px 20px #0d948866;transform:translateY(-2px)}.upload-btn:disabled{background:var(--bg-tertiary);box-shadow:none;color:var(--text-muted);cursor:not-allowed;transform:none}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.btn-arrow{font-size:1.2rem;transition:transform .2s ease}.upload-btn:hover:not(:disabled) .btn-arrow{transform:translateX(4px)}@media (max-width:480px){.mode-tabs{flex-direction:column}.drop-zone{padding:var(--spacing-xl)}.drop-icon{font-size:3rem}.selected-file-preview{flex-direction:column;text-align:center}.file-details{text-align:center}.resource-upload-modern .form-actions{flex-direction:column}.cancel-btn,.upload-btn{justify-content:center;width:100%}}.knowledge-base-page{animation:fadeIn .4s ease;margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.knowledge-base-page .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-xl)}.knowledge-base-page .header-content h1{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:800;margin:0}.knowledge-base-page .header-content p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0}.upload-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:700;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.upload-btn:hover{box-shadow:0 6px 16px #8b5cf666;transform:translateY(-2px)}.knowledge-base-page .stats-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--spacing-xl)}.knowledge-base-page .stat-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg);text-align:center}.knowledge-base-page .stat-value{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:800}.knowledge-base-page .stat-label{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.knowledge-base-page .form-overlay{align-items:flex-start;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:var(--spacing-lg);position:fixed;right:0;top:100px;z-index:50}.upload-container{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0006;margin-bottom:var(--spacing-lg);max-width:600px;width:100%}.upload-container,.upload-content{padding:var(--spacing-lg)}.knowledge-base-page .empty-state{align-items:center;background:var(--bg-card);border:2px dashed var(--border-primary);border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-3xl);text-align:center}.knowledge-base-page .empty-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.knowledge-base-page .empty-state h3{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.knowledge-base-page .empty-state p{color:var(--text-secondary);margin:var(--spacing-xs) 0 var(--spacing-lg);max-width:400px}.upload-btn-secondary{background:#8b5cf61a;border:2px solid #8b5cf64d;border-radius:var(--radius-lg);color:#a78bfa;cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.upload-btn-secondary:hover{background:#8b5cf633;border-color:#8b5cf6}.knowledge-base-page .loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-3xl)}.knowledge-base-page .spinner{animation:spin 1s linear infinite;border:3px solid var(--border-primary);border-radius:50%;border-top:3px solid #8b5cf6;height:40px;width:40px}@media (max-width:768px){.knowledge-base-page{padding:var(--spacing-md)}.knowledge-base-page .page-header{align-items:flex-start;flex-direction:column}.upload-btn{justify-content:center;width:100%}}.settings-page{animation:fadeIn .4s ease;margin:0 auto;max-width:1000px;padding:var(--spacing-lg)}.settings-page .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-xl)}.settings-page .header-content h1{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:800;margin:0}.settings-page .header-content p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0}.save-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0d94884d;cursor:pointer;font-size:var(--font-size-base);font-weight:700;padding:var(--spacing-sm) var(--spacing-xl);transition:all .2s ease}.save-btn:hover:not(:disabled){box-shadow:0 6px 16px #0d948866;transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.5}.message{border-radius:var(--radius-lg);font-weight:600;margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.message.success{background:#10b9811a;border:1px solid #10b98133;color:var(--color-success)}.message.error{background:#ef44441a;border:1px solid #ef444433;color:var(--color-danger)}.settings-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg)}.settings-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl)}.settings-card h2{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:700;margin:0 0 var(--spacing-lg) 0}.card-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:calc(var(--spacing-sm)*-1) 0 var(--spacing-md) 0}.settings-page .form-group{margin-bottom:var(--spacing-md)}.settings-page .form-group label{color:var(--text-secondary);display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-xs)}.settings-page .form-group input,.settings-page .form-group select,.settings-page .form-group textarea{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;width:100%}.settings-page .form-group input:focus,.settings-page .form-group select:focus,.settings-page .form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948833;outline:none}.settings-page .form-group textarea{min-height:80px;resize:vertical}.settings-page .form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.list-input{display:flex;gap:var(--spacing-sm)}.list-input input{flex:1 1}.list-input button{background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.list-input button:hover{background:var(--color-primary-dark)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.tag{align-items:center;background:#0d94881a;border:1px solid #0d948833;border-radius:var(--radius-md);display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.tag,.tag button{color:var(--color-primary)}.tag button{background:none;border:none;cursor:pointer;font-size:var(--font-size-lg);line-height:1;opacity:.6;padding:0;transition:opacity .2s}.tag button:hover{opacity:1}.field-description{color:var(--text-tertiary);font-size:var(--font-size-xs);margin:0 0 var(--spacing-sm) 0}.disabled-input{cursor:not-allowed;opacity:.6}.input-hint{color:var(--text-tertiary);display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.days-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.day-btn{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:700;height:60px;justify-content:center;transition:all .2s ease;width:60px}.day-btn:hover{border-color:var(--border-accent);color:var(--text-primary)}.day-btn.holiday{background:#ef44441a;border-color:var(--color-danger);color:var(--color-danger)}.settings-page .loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;min-height:400px;padding:var(--spacing-3xl)}.settings-page .spinner{animation:spin 1s linear infinite;border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.settings-page{padding:var(--spacing-md)}.settings-page .page-header{align-items:flex-start;flex-direction:column}.save-btn{width:100%}.settings-page .form-row{grid-template-columns:1fr}.day-btn{height:50px;width:50px}}.doctor-dashboard{opacity:0;transform:translateY(20px);transition:all .5s ease}.doctor-dashboard.mounted{opacity:1;transform:translateY(0)}.inactivity-alert{align-items:center;animation:alertPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ef444426,#ef44440d);border:1px solid #ef44444d;border-radius:var(--radius-xl);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-xl)}@keyframes alertPulse{0%,to{box-shadow:0 0 0 0 #ef444433}50%{box-shadow:0 0 20px 5px #ef44441a}}.inactivity-alert .alert-icon{flex-shrink:0;font-size:2rem}.inactivity-alert .alert-content{flex:1 1}.inactivity-alert .alert-content h3{color:#ef4444;font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-xs)}.inactivity-alert .alert-content p{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-md)}.inactivity-alert .reason{background:#ef44441a;border-radius:var(--radius-sm);color:#ef4444;padding:var(--spacing-xs) var(--spacing-sm)}.inactivity-alert .period{color:var(--text-muted)}.inactivity-alert .alert-action{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease;white-space:nowrap}.inactivity-alert .alert-action:hover{box-shadow:0 4px 15px #ef44444d;transform:translateY(-2px)}.dashboard-loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.loading-spinner{flex-direction:column;gap:var(--spacing-lg)}.spinner-ring{animation:spin 1s linear infinite;border:3px solid var(--bg-tertiary);border-radius:50%;border-top-color:var(--color-primary);height:48px;width:48px}.loading-spinner span{color:var(--text-secondary);font-size:var(--font-size-sm)}.welcome-banner{align-items:center;animation:fadeInUp .4s ease;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-2xl);display:flex;gap:var(--spacing-xl);justify-content:space-between;margin-bottom:var(--spacing-xl);overflow:hidden;padding:var(--spacing-xl);position:relative}.welcome-banner:before{animation:float 8s ease-in-out infinite;background:radial-gradient(circle,#ffffff26 0,#0000 60%);content:"";height:400px;position:absolute;right:-20%;top:-50%;width:400px}.welcome-content{align-items:center;display:flex;gap:var(--spacing-lg);position:relative}.welcome-avatar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border-radius:var(--radius-xl);display:flex;font-size:2rem;height:64px;justify-content:center;width:64px}.welcome-text h1{color:#fff;font-size:var(--font-size-2xl);font-weight:800;margin-bottom:var(--spacing-sm)}.welcome-text p{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.specialization-badge{align-items:center;background:#fff3;border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.consultation-time{color:#fffc;font-size:var(--font-size-sm)}.welcome-stats{display:flex;gap:var(--spacing-md);position:relative}.welcome-stat{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff1a;border-radius:var(--radius-xl);min-width:90px;padding:var(--spacing-md) var(--spacing-lg);text-align:center;transition:all .3s ease}.welcome-stat:hover{background:#ffffff26;transform:translateY(-2px)}.welcome-stat.completed{background:#10b9814d;border-color:#10b98166}.stat-number{color:#fff;display:block;font-size:var(--font-size-2xl);font-weight:800;line-height:1.2}.stat-label{color:#ffffffb3;font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase}.schedule-controls{align-items:center;animation:fadeInUp .4s ease .1s both;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.view-toggle{background:var(--bg-tertiary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs)}.toggle-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:var(--color-primary);box-shadow:0 4px 12px #0d94884d;color:#fff}.toggle-icon{font-size:1rem}.date-picker{align-items:center;display:flex;gap:var(--spacing-md)}.date-picker label{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-sm)}.picker-icon{font-size:1rem}.date-picker input[type=date]{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.date-picker input[type=date]:hover{border-color:var(--border-accent)}.date-picker input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948833;outline:none}.schedule-controls .refresh-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-sm);margin-left:auto;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.schedule-controls .refresh-btn:hover{border-color:var(--border-accent);color:var(--text-primary)}.schedule-controls .refresh-btn .spinning{animation:spin 1s linear infinite}.doctor-dashboard .schedule-legend{animation:fadeInUp .4s ease .15s both;display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.doctor-dashboard .legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.legend-dot{border-radius:50%;height:12px;width:12px}.legend-item.available .legend-dot{background:var(--color-success);box-shadow:0 0 8px #10b98166}.legend-item.booked .legend-dot{background:var(--color-info);box-shadow:0 0 8px #3b82f666}.legend-item.unavailable .legend-dot{background:var(--color-danger);box-shadow:0 0 8px #ef444466}.schedule-section{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl)}.section-header h2{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:700}.slots-count{background:var(--color-success-bg);border-radius:var(--radius-full);color:var(--color-success);font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.no-schedule-card{background:var(--bg-glass);border:2px dashed var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-3xl) var(--spacing-xl);text-align:center}.no-schedule-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.no-schedule-card h3{color:var(--text-primary);font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.no-schedule-card p{color:var(--text-secondary);font-size:var(--font-size-base)}.no-schedule-card .hint{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.daily-schedule-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.schedule-slot{align-items:stretch;animation:fadeInUp .3s ease both;background:var(--bg-glass);border:2px solid #0000;border-radius:var(--radius-lg);display:flex;overflow:hidden;transition:all .3s ease}.schedule-slot.available{border-color:#10b9814d}.schedule-slot.available:hover{border-color:var(--color-success);box-shadow:0 0 20px #10b98133}.schedule-slot.booked{border-color:#3b82f64d}.schedule-slot.booked:hover{border-color:var(--color-info);box-shadow:0 0 20px #3b82f633}.schedule-slot.unavailable{border-color:#ef444433;opacity:.7}.slot-time-indicator{align-items:center;background:var(--bg-tertiary);border-right:1px solid var(--border-secondary);display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:var(--spacing-md) var(--spacing-lg)}.schedule-slot.available .slot-time-indicator{background:var(--color-success-bg)}.schedule-slot.booked .slot-time-indicator{background:var(--color-info-bg)}.schedule-slot.unavailable .slot-time-indicator{background:var(--color-danger-bg)}.time-value{color:var(--text-primary);font-size:var(--font-size-base);font-weight:700}.time-duration{color:var(--text-muted);font-size:var(--font-size-xs)}.slot-main{align-items:center;display:flex;flex:1 1;padding:var(--spacing-md) var(--spacing-lg)}.appointment-info{flex:1 1}.patient-details{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.patient-avatar{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-lg);display:flex;font-size:1rem;height:36px;justify-content:center;width:36px}.patient-text{display:flex;flex-direction:column}.patient-name{font-size:var(--font-size-base);font-weight:700}.patient-meta{color:var(--text-muted);font-size:var(--font-size-xs)}.symptoms-preview{background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary);display:inline-block;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.available-slot-content,.unavailable-slot-content{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.available-icon{color:var(--color-success);font-weight:700}.unavailable-icon{font-size:1.25rem}.slot-actions{border-left:1px solid var(--border-secondary);gap:var(--spacing-sm);padding:var(--spacing-md)}.action-btn,.slot-actions{align-items:center;display:flex}.action-btn{border-radius:var(--radius-lg);cursor:pointer;font-size:1rem;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.action-btn.complete{background:var(--color-success);border:none;color:#fff}.action-btn.complete:hover{background:#059669;transform:scale(1.1)}.status-dropdown{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.status-dropdown:focus{border-color:var(--color-primary);outline:none}.day-column{animation:fadeInUp .3s ease both;background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease}.day-column:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg)}.day-column-header{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));padding:var(--spacing-md);text-align:center}.day-name{color:#fff;display:block;font-size:var(--font-size-sm);font-weight:700}.day-date{color:#ffffffe6;display:block;font-size:var(--font-size-lg);font-weight:800;margin-top:var(--spacing-xs)}.day-slots-container{min-height:200px;padding:var(--spacing-sm)}.no-hours-indicator{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-size-sm);font-style:italic;height:180px;justify-content:center}.day-slots-list{display:flex;flex-direction:column;gap:2px;max-height:350px;overflow-y:auto}.doctor-dashboard .mini-slot{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:var(--font-size-xs);justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease}.doctor-dashboard .mini-slot.available{background:#10b9811a;border:1px solid #10b98133}.doctor-dashboard .mini-slot.booked{background:#3b82f61a;border:1px solid #3b82f633}.doctor-dashboard .mini-slot.unavailable{background:#ef44441a;border:1px solid #ef444433}.doctor-dashboard .mini-slot:hover{transform:scale(1.02)}.doctor-dashboard .mini-time{color:var(--text-secondary);font-weight:600}.doctor-dashboard .mini-patient{color:var(--text-primary);font-weight:500;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointments-panel{animation:fadeInUp .4s ease .3s both;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-xl)}.appointments-panel .panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl)}.appointments-panel .panel-header h3{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:700}.panel-count{background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}.appointments-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.appointment-card{animation:fadeInUp .3s ease both;background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease}.appointment-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.appointment-card .card-header{align-items:flex-start;background:var(--bg-tertiary);border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.patient-info{align-items:center;display:flex;gap:var(--spacing-md)}.patient-avatar-card{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-lg);display:flex;font-size:1.5rem;height:44px;justify-content:center;width:44px}.patient-info h4{color:var(--text-primary);font-size:var(--font-size-base);font-weight:700;margin-bottom:2px}.patient-info p{color:var(--text-muted);font-size:var(--font-size-xs)}.status-badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.status-badge.scheduled{background:var(--color-info-bg);color:var(--color-info)}.status-badge.closed,.status-badge.completed{background:var(--color-success-bg);color:var(--color-success)}.status-badge.cancelled,.status-badge.no_show{background:var(--color-danger-bg);color:var(--color-danger)}.appointment-card .card-body{padding:var(--spacing-lg)}.info-row{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.info-row:last-child{margin-bottom:0}.info-icon{flex-shrink:0;font-size:1rem}.info-row.notes,.info-row.symptoms{background:var(--bg-tertiary);border-radius:var(--radius-md);margin-top:var(--spacing-sm);padding:var(--spacing-sm)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-20px,-20px)}}@media (max-width:992px){.welcome-banner,.welcome-content{flex-direction:column;text-align:center}.welcome-stats{justify-content:center;width:100%}.weekly-schedule-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.schedule-controls{align-items:stretch;flex-direction:column}.view-toggle{width:100%}.toggle-btn{flex:1 1;justify-content:center}.date-picker{justify-content:space-between;width:100%}.schedule-controls .refresh-btn{justify-content:center;margin-left:0;width:100%}.doctor-dashboard .schedule-legend{flex-wrap:wrap;justify-content:center}.weekly-schedule-grid{grid-template-columns:repeat(2,1fr)}.schedule-slot{flex-direction:column}.slot-time-indicator{border-bottom:1px solid var(--border-secondary);border-right:none;flex-direction:row;gap:var(--spacing-sm)}.slot-actions{border-left:none;border-top:1px solid var(--border-secondary);justify-content:flex-end}.appointments-grid{grid-template-columns:1fr}}@media (max-width:480px){.welcome-banner{padding:var(--spacing-lg)}.welcome-text h1{font-size:var(--font-size-xl)}.welcome-stats{flex-wrap:wrap}.welcome-stat{flex:1 1;min-width:80px}.weekly-schedule-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}}.active-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:600;margin-left:8px;padding:4px 12px}.active-status-badge.active{background:#10b98133;color:#10b981}.active-status-badge.inactive{background:#ef444433;color:#ef4444}.welcome-actions{display:flex;gap:12px;margin-right:20px}.settings-btn{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.settings-btn:hover{background:#ffffff40;transform:translateY(-2px)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;left:0;padding:20px;right:0;top:0}.settings-modal{animation:slideUp .3s ease;background:#1a1a2e;background:var(--bg-primary,#1a1a2e);border-radius:20px;box-shadow:0 25px 50px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color,#ffffff1a);display:flex;justify-content:space-between;padding:20px 24px}.settings-header h2{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0}.settings-header .close-btn{background:none;border:none;border-radius:8px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;font-size:1.25rem;padding:8px;transition:all .2s ease}.settings-header .close-btn:hover{background:#ffffff1a;color:#fff}.settings-tabs{background:#0003;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color,#ffffff1a);display:flex;gap:4px;padding:12px 24px}.settings-tab{background:#0000;border:none;border-radius:10px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:12px 16px;transition:all .2s ease}.settings-tab:hover{background:#ffffff0d;color:#fff;color:var(--text-primary,#fff)}.settings-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--accent-gradient,linear-gradient(135deg,#6366f1,#8b5cf6));color:#fff}.settings-content{flex:1 1;overflow-y:auto;padding:24px}.profile-settings .profile-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-row-display{background:#ffffff0d;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px}.info-row-display label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-weight:500}.info-row-display span{color:#fff;color:var(--text-primary,#fff)}.divider{background:#ffffff1a;background:var(--border-color,#ffffff1a);height:1px;margin:24px 0}.availability-settings h4,.profile-settings h4,.unavailability-settings h4{color:#fff;color:var(--text-primary,#fff);font-size:1rem;margin:0 0 16px}.profile-form{display:flex;flex-direction:column;gap:16px}.profile-form .form-group,.unavailability-form .form-group{display:flex;flex-direction:column;gap:8px}.profile-form label,.unavailability-form label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.875rem;font-weight:500}.profile-form input,.unavailability-form input{background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;color:#fff;color:var(--text-primary,#fff);font-size:1rem;padding:12px 16px;transition:all .2s ease}.profile-form input:focus,.unavailability-form input:focus{background:#ffffff1f;border-color:#6366f1;border-color:var(--accent-color,#6366f1);outline:none}.profile-form input:disabled{cursor:not-allowed;opacity:.6}.profile-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.cancel-btn,.edit-btn,.save-btn{border:none;border-radius:10px;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.edit-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--accent-gradient,linear-gradient(135deg,#6366f1,#8b5cf6));color:#fff}.save-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.cancel-btn{background:#ffffff1a;border:1px solid #fff3;color:#fff;color:var(--text-primary,#fff)}.edit-btn:hover,.save-btn:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-2px)}.status-card{background:#ffffff0d;border-radius:16px;padding:24px;text-align:center}.status-info{margin-bottom:24px}.status-badge-large{align-items:center;border-radius:20px;display:inline-flex;font-size:1.125rem;font-weight:600;gap:8px;margin:12px 0;padding:12px 24px}.status-badge-large.active{background:#10b98133;color:#10b981}.status-badge-large.inactive{background:#ef444433;color:#ef4444}.status-description{margin:12px 0 0}.inactive-reason,.status-description{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.inactive-reason{font-style:italic;margin-top:8px}.toggle-status-btn{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 28px;transition:all .2s ease}.toggle-status-btn.deactivate{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.toggle-status-btn.activate{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.toggle-status-btn:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.section-desc{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.875rem;margin:0 0 16px}.unavailability-form .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.checkbox-group{align-items:center!important;flex-direction:row!important}.checkbox-group label{align-items:center;color:#fff!important;color:var(--text-primary,#fff)!important;cursor:pointer;display:flex;gap:10px}.checkbox-group input[type=checkbox]{accent-color:#6366f1;accent-color:var(--accent-color,#6366f1);height:18px;width:18px}.add-unavailability-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--accent-gradient,linear-gradient(135deg,#6366f1,#8b5cf6));border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:14px 24px;transition:all .2s ease;width:100%}.add-unavailability-btn:hover:not(:disabled){box-shadow:0 4px 12px #6366f14d;transform:translateY(-2px)}.add-unavailability-btn:disabled{cursor:not-allowed;opacity:.6}.unavailability-list{margin-top:16px}.no-items{background:#ffffff08;border-radius:12px;color:#9ca3af;color:var(--text-secondary,#9ca3af);padding:24px;text-align:center}.unavailability-items{display:flex;flex-direction:column;gap:12px}.unavailability-item{align-items:center;background:#ffffff0d;border-left:4px solid #6366f1;border-left:4px solid var(--accent-color,#6366f1);border-radius:12px;display:flex;justify-content:space-between;padding:16px}.unavailability-info{display:flex;flex-direction:column;gap:4px}.unavailability-dates{color:#fff;color:var(--text-primary,#fff);font-weight:500}.unavailability-reason{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.875rem}.remove-btn{background:#ef444433;border:none;border-radius:8px;cursor:pointer;padding:8px 12px;transition:all .2s ease}.remove-btn:hover{background:#ef444466}@media (max-width:600px){.settings-modal{border-radius:0;max-height:100vh}.unavailability-form .form-row{grid-template-columns:1fr}.settings-tabs{flex-wrap:wrap}}.app-header{background:#0f172ab3;border-bottom:1px solid #ffffff0f;transition:all .3s ease}.app-header.scrolled{background:#0f172ae6;box-shadow:0 4px 30px #0000004d}.header-container{align-items:center;display:flex;gap:var(--spacing-xl);justify-content:space-between;margin:0 auto;max-width:1400px;padding:var(--spacing-md) var(--spacing-xl)}.header-brand{align-items:center;display:flex;gap:var(--spacing-md);text-decoration:none;transition:transform .3s ease}.header-brand:hover{transform:scale(1.02)}.brand-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-lg);box-shadow:0 4px 15px #0d94884d;display:flex;height:44px;justify-content:center;width:44px}.brand-icon svg{color:#fff;height:22px;width:22px}.brand-text{display:flex;flex-direction:column}.brand-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary-light));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-lg);font-weight:800;letter-spacing:-.02em;line-height:1.2}.brand-tagline{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500}.header-nav,.nav-link{align-items:center}.nav-link{border-radius:var(--radius-lg);color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);position:relative;text-decoration:none;transition:all .2s ease}.nav-link:after{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0}.nav-link:hover{background:#ffffff0d;color:var(--text-primary)}.nav-link.active{background:#0d94881a;color:var(--color-primary-light)}.nav-link.active:after{width:60%}.nav-icon{font-size:1rem}.header-user{align-items:center;display:flex;gap:var(--spacing-md)}.hospital-profile-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-xl);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md) var(--spacing-xs) var(--spacing-xs);transition:all .2s ease}.hospital-profile-btn:hover{background:#0d94881a;border-color:#0d94884d}.hospital-profile-btn .user-avatar{border:none}.hospital-profile-btn .user-avatar.clickable{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));box-shadow:0 2px 8px #0d94884d}.hospital-profile-btn .user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.doctor-profile-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-xl);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md) var(--spacing-xs) var(--spacing-xs);transition:all .2s ease}.doctor-profile-btn:hover{background:#3b82f61a;border-color:#3b82f64d}.doctor-profile-btn .user-avatar{border:none}.doctor-profile-btn .user-avatar.clickable{background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 2px 8px #3b82f64d}.doctor-profile-btn .user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.user-avatar{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);display:flex;font-size:1.25rem;height:40px;justify-content:center;width:40px}.user-details{display:flex;flex-direction:column;text-align:left}.user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;line-height:1.3}.user-role{color:var(--text-muted);font-size:var(--font-size-xs)}.header-user .logout-btn{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:var(--radius-lg);box-shadow:none;color:#fca5a5;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.header-user .logout-btn svg{height:18px;width:18px}.header-user .logout-btn:hover{background:#ef444433;border-color:#ef444466;box-shadow:0 4px 12px #ef444433;color:#f87171;transform:translateY(-1px)}.mobile-menu-toggle{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:8px;transition:all .3s ease;width:40px}.mobile-menu-toggle span{background:var(--text-secondary);border-radius:var(--radius-full);display:block;height:2px;transition:all .3s ease;width:100%}.mobile-menu-toggle.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width:992px){.header-user .logout-btn span,.user-details{display:none}.header-user .logout-btn{height:40px;justify-content:center;padding:0;width:40px}}@media (max-width:768px){.header-container{padding:var(--spacing-md)}.brand-tagline{display:none}.brand-name{font-size:var(--font-size-base)}.brand-icon{height:36px;width:36px}.brand-icon svg{height:18px;width:18px}.mobile-menu-toggle{display:flex}.header-nav{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-direction:column;gap:var(--spacing-sm);left:0;opacity:0;padding:var(--spacing-md);position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden}.header-nav.open{opacity:1;transform:translateY(0);visibility:visible}.nav-link{justify-content:flex-start;padding:var(--spacing-md);width:100%}.user-avatar{display:none}}@media (max-width:480px){.brand-text{display:none}}.App{background:var(--bg-primary);min-height:100vh;position:relative}.App:before{background:radial-gradient(circle at 20% 20%,#0d948826 0,#0000 40%),radial-gradient(circle at 80% 80%,#6366f11a 0,#0000 40%),radial-gradient(circle at 50% 50%,#f59e0b0d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.main-content{animation:fadeIn .4s ease;margin:0 auto;max-width:1400px;padding:var(--spacing-xl);position:relative;z-index:1}.app-loading{align-items:center;background:var(--bg-primary);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.loading-content{text-align:center}.loading-logo{align-items:center;animation:pulse-glow 2s ease-in-out infinite;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-2xl);box-shadow:0 10px 40px #0d948866;display:flex;height:80px;justify-content:center;margin:0 auto var(--spacing-lg);width:80px}.loading-logo svg{color:#fff;height:40px;width:40px}@keyframes pulse-glow{0%,to{box-shadow:0 10px 40px #0d948866;transform:scale(1)}50%{box-shadow:0 10px 60px #0d948899;transform:scale(1.05)}}.loading-text h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary-light));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-2xl);font-weight:800;margin-bottom:var(--spacing-xs)}.loading-text p{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.loading-bar{background:var(--bg-tertiary);height:4px;margin:0 auto;overflow:hidden;width:200px}.loading-bar,.loading-progress{border-radius:var(--radius-full)}.loading-progress{animation:loading-slide 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));height:100%;width:40%}@keyframes loading-slide{0%{transform:translateX(-100%)}50%{transform:translateX(150%)}to{transform:translateX(-100%)}}.copyright-footer{border-top:1px solid var(--border-secondary);margin-top:var(--spacing-3xl);padding:var(--spacing-xl) 0;text-align:center}.copyright-content{flex-direction:column}.copyright-content,.copyright-logo{align-items:center;display:flex;gap:var(--spacing-sm)}.copyright-logo{margin-bottom:var(--spacing-xs)}.copyright-logo-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-md);display:flex;height:24px;justify-content:center;width:24px}.copyright-logo-icon svg{color:#fff;height:14px;width:14px}.copyright-logo span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary-light));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-sm);font-weight:700}.copyright-text{color:var(--text-muted);font-size:var(--font-size-xs)}.copyright-links{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-sm)}.copyright-links a{color:var(--text-muted);font-size:var(--font-size-xs);text-decoration:none;transition:color var(--transition-fast)}.copyright-links a:hover{color:var(--color-primary-light)}.app-header{animation:fadeInDown .4s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0f172acc;border-bottom:1px solid var(--border-primary);padding:var(--spacing-md) var(--spacing-xl);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin:0 auto;max-width:1400px}.header-left h1{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary-light));-webkit-background-clip:text;background-clip:text;display:flex;font-size:var(--font-size-xl);font-weight:700;gap:var(--spacing-sm)}.header-left h1:before{-webkit-text-fill-color:initial;content:"🏥"}.header-nav{display:flex;gap:var(--spacing-sm)}.header-nav a{border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;overflow:hidden;padding:var(--spacing-sm) var(--spacing-md);position:relative;transition:all var(--transition-fast)}.header-nav a:before{background:var(--color-primary);border-radius:inherit;content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-fast);z-index:-1}.header-nav a:hover{color:var(--text-primary)}.header-nav a:hover:before{opacity:.1}.header-nav a.active{background:#0d94881a;color:var(--color-primary-light)}.header-right{align-items:center;display:flex;gap:var(--spacing-lg)}.user-info{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-full);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md)}.logout-btn,.user-info{font-size:var(--font-size-sm)}.logout-btn{background:linear-gradient(135deg,var(--color-danger),#dc2626);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.logout-btn:hover{box-shadow:var(--shadow-lg),0 0 20px #ef44444d;transform:translateY(-2px)}.logout-btn:active{transform:translateY(0)}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--spacing-xl);position:relative}.login-container:before{animation:gradientShift 15s ease infinite;background:radial-gradient(circle at 30% 30%,#0d94884d 0,#0000 30%),radial-gradient(circle at 70% 70%,#6366f133 0,#0000 30%),radial-gradient(circle at 50% 50%,#f59e0b1a 0,#0000 40%);background-size:200% 200%;content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.login-container:after{background:repeating-linear-gradient(0deg,#0000,#0000 100px,#ffffff03 0,#ffffff03 101px),repeating-linear-gradient(90deg,#0000,#0000 100px,#ffffff03 0,#ffffff03 101px);content:"";inset:0;pointer-events:none;position:absolute}.login-form{animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1e293be6;border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),var(--shadow-glow-lg);max-width:480px;padding:var(--spacing-2xl);position:relative;width:100%}.login-form h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary-light));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl);text-align:center}.login-form h2:before{-webkit-text-fill-color:initial;content:"🏥 "}.login-tabs{background:var(--bg-tertiary);border-radius:var(--radius-xl);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xs)}.tab-button{background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.tab-button:hover{background:var(--bg-glass);color:var(--text-primary)}.tab-button.active{background:var(--color-primary);box-shadow:var(--shadow-md);color:#fff}.form-group{margin-bottom:var(--spacing-lg);position:relative}.form-group label{color:var(--text-secondary);display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-sm)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--border-accent)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);outline:none}.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' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.25rem;cursor:pointer;padding-right:3rem}button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-family:inherit;font-size:var(--font-size-base);font-weight:600;overflow:hidden;padding:var(--spacing-md) var(--spacing-xl);position:relative;transition:all var(--transition-fast)}button:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}button:hover{box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-2px)}button:hover:before{height:300px;width:300px}button:active{transform:translateY(0)}button:disabled{background:var(--bg-tertiary);box-shadow:none;color:var(--text-muted);cursor:not-allowed;transform:none}button:disabled:before{display:none}.login-info{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.login-info strong{color:var(--color-primary-light)}.error-message{background:var(--color-danger-bg);border:1px solid #ef444433;border-radius:var(--radius-lg);color:var(--color-danger)}.error-message,.success-message{animation:fadeInUp .3s ease;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md);text-align:center}.success-message{background:var(--color-success-bg);border:1px solid #10b98133;border-radius:var(--radius-lg);color:var(--color-success)}.admin-dashboard,.doctor-dashboard{animation:fadeIn .4s ease}.admin-dashboard h1,.doctor-dashboard h1{-webkit-text-fill-color:#0000;animation:fadeInUp .4s ease;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-3xl);margin-bottom:var(--spacing-xl)}.welcome-message{animation:fadeInUp .5s ease;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl);overflow:hidden;padding:var(--spacing-xl);position:relative}.welcome-message:before{animation:float 6s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 60%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:100%}.welcome-message h2{color:#fff;font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm);position:relative}.welcome-message p{color:#ffffffe6;font-size:var(--font-size-lg);position:relative}.dashboard-tabs{animation:fadeInUp .4s ease .1s both;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-sm)}.dashboard-tab,.dashboard-tabs{display:flex;gap:var(--spacing-sm)}.dashboard-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:var(--font-size-base);font-weight:600;justify-content:center;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.dashboard-tab:hover{background:var(--bg-glass);color:var(--text-primary)}.dashboard-tab.active{background:var(--color-primary);box-shadow:var(--shadow-md);color:#fff}.dashboard-actions{animation:fadeInUp .4s ease .2s both;display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.dashboard-actions button{align-items:center;display:flex;gap:var(--spacing-sm)}.refresh-btn{background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border:1px solid var(--border-primary)}.refresh-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.dashboard-controls{align-items:center;animation:fadeInUp .4s ease .15s both;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.view-controls{display:flex;gap:var(--spacing-sm)}.view-controls button{background:var(--bg-tertiary);border:1px solid var(--border-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-lg)}.view-controls button.active{background:var(--color-success);border-color:var(--color-success)}.date-controls{align-items:center;display:flex;gap:var(--spacing-md)}.date-controls label{color:var(--text-secondary);font-weight:500}.date-controls input[type=date]{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-family:inherit;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.date-controls input[type=date]:hover{border-color:var(--color-primary)}.date-controls input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);outline:none}.doctor-list{animation:fadeInUp .4s ease .3s both}.doctor-list h3{color:var(--text-primary);margin-bottom:var(--spacing-lg)}.doctors-table{background:var(--bg-card);border:1px solid var(--border-primary);border-collapse:initial;border-radius:var(--radius-xl);border-spacing:0;box-shadow:var(--shadow-lg);overflow:hidden;width:100%}.doctors-table th{background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);color:var(--text-secondary);font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase}.doctors-table td,.doctors-table th{font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg)}.doctors-table td{border-bottom:1px solid var(--border-secondary);color:var(--text-primary);transition:background var(--transition-fast)}.doctors-table tbody tr{transition:all var(--transition-fast)}.doctors-table tbody tr:hover{background:var(--bg-glass-hover)}.doctors-table tbody tr:last-child td{border-bottom:none}.doctors-table td button{font-size:var(--font-size-xs);margin-right:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md)}.delete-btn{background:linear-gradient(135deg,var(--color-danger),#dc2626)!important}.delete-btn:hover{box-shadow:var(--shadow-lg),0 0 20px #ef44444d!important}.modal-overlay{align-items:center;animation:fadeIn .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal,.modal-overlay{padding:var(--spacing-xl)}.modal{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),var(--shadow-glow-lg);max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.doctor-form{max-width:100%}.doctor-form h3{color:var(--text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl);text-align:center}.doctor-form h4{border-bottom:1px solid var(--border-primary);color:var(--text-primary);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-xl);padding-bottom:var(--spacing-sm)}.doctor-form h5{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}.schedule-presets{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.schedule-presets button{background:linear-gradient(135deg,var(--color-success),#059669);font-size:var(--font-size-sm);margin:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.schedule-template{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.template-inputs{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:var(--spacing-lg)}.template-inputs input{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;padding:var(--spacing-sm)}.template-inputs input:focus{border-color:var(--color-primary);outline:none}.day-selection{margin-top:var(--spacing-md)}.day-selection h6{margin-bottom:var(--spacing-sm)}.day-checkbox,.day-selection h6{color:var(--text-secondary);font-size:var(--font-size-sm)}.day-checkbox{align-items:center;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);margin:var(--spacing-xs) var(--spacing-md) var(--spacing-xs) 0;transition:color var(--transition-fast)}.day-checkbox:hover{color:var(--text-primary)}.day-checkbox input{accent-color:var(--color-primary);cursor:pointer;height:1rem;width:1rem}.day-selection button{background:linear-gradient(135deg,var(--color-info),#2563eb);font-size:var(--font-size-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.individual-schedule{margin-top:var(--spacing-lg)}.schedule-row{grid-gap:var(--spacing-sm);align-items:center;background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-lg);display:grid;gap:var(--spacing-sm);grid-template-columns:100px repeat(4,1fr) 80px;margin-bottom:var(--spacing-sm);padding:var(--spacing-md);transition:all var(--transition-fast)}.schedule-row:hover{background:var(--bg-glass-hover);border-color:var(--border-accent)}.schedule-row label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;text-transform:capitalize}.schedule-row input[type=time]{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm)}.schedule-row input[type=time]:focus{border-color:var(--color-primary);outline:none}.clear-btn{background:linear-gradient(135deg,var(--color-danger),#dc2626)!important;font-size:var(--font-size-xs)!important;padding:var(--spacing-xs) var(--spacing-sm)!important}.no-schedule{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-size-sm);font-style:italic;grid-column:2/-1;justify-content:space-between}.no-schedule button{background:var(--bg-tertiary);border:1px solid var(--border-primary);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl)}.form-actions button:last-child{background:var(--bg-tertiary);border:1px solid var(--border-primary)}.form-actions button:last-child:hover{background:var(--bg-glass-hover);border-color:var(--text-muted)}.schedule-section{animation:fadeInUp .4s ease .2s both;margin-top:var(--spacing-xl)}.schedule-section h3{color:var(--text-primary);margin-bottom:var(--spacing-lg)}.schedule-legend{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:var(--spacing-xl);justify-content:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.legend-color{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:24px;width:24px}.legend-color.available{background:linear-gradient(135deg,var(--color-success),#059669)}.legend-color.booked{background:linear-gradient(135deg,var(--color-info),#2563eb)}.legend-color.unavailable{background:linear-gradient(135deg,var(--color-danger),#dc2626)}.schedule-grid{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:0 auto;max-width:900px}.time-slot{align-items:center;border:2px solid #0000;border-radius:var(--radius-lg);cursor:default;display:flex;min-height:56px;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.time-slot.available{background:var(--color-success-bg);border-color:var(--color-success)}.time-slot.booked{background:var(--color-info-bg);border-color:var(--color-info)}.time-slot.unavailable{background:var(--color-danger-bg);border-color:var(--color-danger)}.time-slot:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.slot-time{color:var(--text-primary);font-size:var(--font-size-base);font-weight:700;min-width:80px}.slot-content{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;justify-content:space-between;margin-left:var(--spacing-lg)}.patient-name{color:var(--text-primary);font-weight:600}.appointment-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.close-btn{background:linear-gradient(135deg,var(--color-warning),#d97706)!important;color:#fff!important;font-size:var(--font-size-xs)!important;padding:var(--spacing-xs) var(--spacing-md)!important}.status-select{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.status-select:focus{border-color:var(--color-primary);outline:none}.weekly-schedule-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(7,1fr);margin:var(--spacing-lg) 0}.week-day-column{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-fast)}.week-day-column:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg)}.day-header{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));padding:var(--spacing-md);text-align:center}.day-header h4{color:#fff;font-size:var(--font-size-sm);font-weight:600;margin:0}.day-header span{color:#fffc;font-size:var(--font-size-xs)}.no-working-hours{color:var(--text-muted);font-size:var(--font-size-xs);font-style:italic;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.day-slots{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto;padding:var(--spacing-sm)}.mini-slot{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:var(--font-size-xs);justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.mini-slot.available{background:var(--color-success-bg);border-color:#10b9814d}.mini-slot.booked{background:var(--color-info-bg);border-color:#3b82f64d}.mini-slot.unavailable{background:var(--color-danger-bg);border-color:#ef44444d}.mini-slot:hover{transform:scale(1.02)}.mini-time{color:var(--text-secondary);font-weight:600}.mini-patient{color:var(--text-primary);font-size:.65rem;font-weight:500;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-schedule-message{background:var(--bg-card);border:2px dashed var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center}.no-schedule-message p{color:var(--text-secondary);margin:var(--spacing-sm) 0}.no-schedule-message p:first-child{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600}.appointment-details-section{animation:fadeInUp .4s ease .3s both;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);margin-top:var(--spacing-2xl);padding:var(--spacing-xl)}.appointment-details-section h3{color:var(--text-primary);margin-bottom:var(--spacing-lg)}.appointments-summary{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.appointment-summary-card{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast)}.appointment-summary-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md)}.appointment-summary-card h4{color:var(--text-primary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.appointment-summary-card p{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.appointment-summary-card p strong{color:var(--text-primary)}.resource-list{animation:fadeInUp .4s ease .3s both}.resource-list h3{color:var(--text-primary);margin-bottom:var(--spacing-lg)}.resources-loading{color:var(--text-secondary)}.no-resources,.resources-loading{padding:var(--spacing-2xl);text-align:center}.no-resources{background:var(--bg-card);border:2px dashed var(--border-primary);border-radius:var(--radius-xl)}.no-resources p{color:var(--text-secondary);margin:var(--spacing-sm) 0}.no-resources p:first-child{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600}.resources-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.resource-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);transition:all var(--transition-fast)}.resource-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-4px)}.resource-icon{filter:grayscale(.2);font-size:2.5rem;text-align:center}.resource-info{flex:1 1}.resource-filename{color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--spacing-sm) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.resource-type{background:var(--color-info-bg);border-radius:var(--radius-full);color:var(--color-info);font-size:var(--font-size-xs);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.resource-size{color:var(--text-muted);font-size:var(--font-size-sm)}.resource-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.resource-dates{color:var(--text-muted);font-size:var(--font-size-xs)}.resource-actions{border-top:1px solid var(--border-secondary);display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md)}.resource-actions button{align-items:center;display:flex;flex:1 1;font-size:var(--font-size-sm);gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm)}.download-btn{background:linear-gradient(135deg,var(--color-success),#059669)!important}.resources-summary{background:var(--bg-glass);border-radius:var(--radius-lg);color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xl);padding:var(--spacing-md);text-align:center}.resource-upload{max-width:600px}.resource-upload h3{color:var(--text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl);text-align:center}.upload-mode-tabs{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);display:flex;gap:0;margin-bottom:var(--spacing-xl);overflow:hidden}.mode-tab{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:var(--font-size-base);font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:all var(--transition-fast)}.mode-tab:first-child{border-right:1px solid var(--border-primary)}.mode-tab:hover{background:var(--bg-glass);color:var(--text-primary)}.mode-tab.active{background:var(--color-primary);color:#fff}.drop-zone{background:var(--bg-glass);border:2px dashed var(--border-primary);border-radius:var(--radius-xl);cursor:pointer;margin-bottom:var(--spacing-lg);padding:var(--spacing-2xl);text-align:center;transition:all var(--transition-fast)}.drop-zone:hover{background:#0d94880d;border-color:var(--color-primary)}.drop-zone.has-file{background:var(--color-success-bg);border-color:var(--color-success)}.drop-zone-content{color:var(--text-secondary)}.upload-icon{display:block;font-size:3rem;margin-bottom:var(--spacing-md)}.drop-zone-content p{margin:var(--spacing-xs) 0}.supported-formats{color:var(--text-muted);font-size:var(--font-size-sm)}.selected-file{align-items:center;color:var(--color-success);display:flex;font-weight:600;gap:var(--spacing-md);justify-content:center}.file-icon{font-size:2rem}.file-name{font-size:var(--font-size-base)}.file-size{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:400}.text-upload-section textarea{line-height:1.6;min-height:200px;resize:vertical}.char-count{color:var(--text-muted);display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs);text-align:right}.loading-spinner{align-items:center;display:flex;justify-content:center;padding:var(--spacing-2xl)}.loading-spinner:after{animation:spin .8s linear infinite;border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--color-primary);content:"";height:40px;width:40px}@media (max-width:1200px){.weekly-schedule-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:992px){.header-content{flex-wrap:wrap;gap:var(--spacing-md)}.header-left h1{font-size:var(--font-size-lg)}.weekly-schedule-grid{grid-template-columns:repeat(3,1fr)}.schedule-row{gap:var(--spacing-sm);grid-template-columns:1fr}.schedule-row label{padding-bottom:var(--spacing-xs);text-align:left}.schedule-row input[type=time]{width:100%}.no-schedule{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm);grid-column:1}}@media (max-width:768px){.main-content{padding:var(--spacing-md)}.header-nav,.user-info{display:none}.login-form{margin:var(--spacing-md);padding:var(--spacing-xl)}.dashboard-controls{align-items:stretch;flex-direction:column}.date-controls,.view-controls{justify-content:center}.dashboard-tabs{flex-direction:column}.weekly-schedule-grid{grid-template-columns:repeat(2,1fr)}.doctors-table{display:block;overflow-x:auto}.template-inputs{grid-template-columns:repeat(2,1fr)}.appointments-summary,.resources-grid{grid-template-columns:1fr}.schedule-legend{align-items:center;gap:var(--spacing-md)}.form-actions,.schedule-legend{flex-direction:column}.form-actions button{width:100%}}@media (max-width:480px){:root{--font-size-4xl:1.75rem;--font-size-3xl:1.5rem;--font-size-2xl:1.25rem}.login-form h2{font-size:var(--font-size-xl)}.weekly-schedule-grid{grid-template-columns:1fr}.slot-content,.time-slot{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.slot-content{margin-left:0;width:100%}.appointment-actions{justify-content:flex-start;width:100%}.dashboard-actions{flex-direction:column}.dashboard-actions button{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--border-primary:#ffffff4d;--border-secondary:#fff3}}
/*# sourceMappingURL=main.cb2936e4.css.map*/