@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #6366f1;--accent-hover: #4f46e5;--accent-glow: rgba(99, 102, 241, .5);--border-color: #334155;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--container-width: 1200px;--font-sans: "Inter", sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color .2s ease}button{cursor:pointer;font-family:inherit;border:none;background:none}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2;font-weight:700}p{margin:0 0 1rem;color:var(--text-secondary)}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;transition:all .2s ease}.btn-primary{background-color:var(--accent-primary);color:#fff;box-shadow:0 4px 14px 0 var(--accent-glow)}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.text-gradient{background:linear-gradient(135deg,#fff 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.section{padding:var(--spacing-lg) 0}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-card{background:#fff;border-radius:20px;padding:3rem;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;color:#1e293b;margin-bottom:.5rem}.login-header p{color:#64748b;font-size:.95rem}.login-form{margin-bottom:2rem}.login-form .form-group{margin-bottom:1.5rem}.login-form label{display:block;font-size:.85rem;font-weight:600;color:#475569;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.login-form .form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#f8fafc}.login-form .form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.error-message{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;text-align:center}.btn-login{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-login:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.btn-login:active{transform:translateY(0)}.demo-section{border-top:2px solid #f1f5f9;padding-top:2rem}.demo-title{text-align:center;color:#64748b;font-size:.9rem;margin-bottom:1rem;font-weight:600}.demo-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.5rem}.demo-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:all .3s ease}.demo-btn:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.demo-btn.admin:hover{border-color:#3b82f6;background:#eff6ff}.demo-btn.surgeon:hover{border-color:#10b981;background:#f0fdf4}.demo-btn.patient:hover{border-color:#f59e0b;background:#fffbeb}.demo-btn.manager:hover{border-color:#8b5cf6;background:#f5f3ff}.demo-icon{font-size:2rem}.demo-label{font-size:.85rem;font-weight:600;color:#475569}.demo-credentials{background:#f8fafc;padding:1rem;border-radius:10px;font-size:.8rem;color:#64748b}.demo-credentials p{margin:.5rem 0;line-height:1.6}.demo-credentials strong{color:#1e293b;font-weight:600}.sidebar{width:310px;background-color:#0f172a;color:#94a3b8;display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;border-right:1px solid #1e293b;z-index:50;transition:width .3s ease}.sidebar-header{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #1e293b}.logo-text{font-size:1.25rem;font-weight:700;color:#10b981;letter-spacing:.05em;text-transform:uppercase}.role-badge{display:inline-block;padding:.25rem .75rem;background:#10b98133;color:#10b981;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.5px;align-self:flex-start}.user-profile{padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;margin-bottom:1rem;background:#ffffff14;border-radius:12px;margin:0 1rem 1rem;border:1px solid rgba(255,255,255,.05)}.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{color:#f8fafc;font-size:.9rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{color:#64748b;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:0 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:20px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background-color:#fff3}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;border:none;background:none;color:inherit;font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;white-space:nowrap}.nav-item:hover{color:#f8fafc;background-color:#ffffff0d}.nav-item.active{background-color:#10b981;color:#fff;box-shadow:0 4px 12px #10b98133}.nav-item .icon{font-size:1.2rem;display:flex;align-items:center;justify-content:center;width:24px}.sidebar-footer{padding:1.5rem;border-top:1px solid #1e293b;margin-top:auto}.logout-btn{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;border:1px solid #dc2626;background:#dc26261a;color:#fca5a5;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.logout-btn:hover{background:#dc2626;color:#fff;transform:translateY(-2px)}.logout-btn .icon{font-size:1.2rem}.user-details{display:flex;flex-direction:column}.user-role{font-size:.75rem;color:#64748b}.ai-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.ai-modal-content{background:#fff;width:90%;max-width:800px;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden;display:flex;flex-direction:column;max-height:90vh;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.ai-modal-header{background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;color:#fff}.ai-title-group{display:flex;align-items:center;gap:1rem}.ai-icon-large{font-size:2rem;background:#fff3;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.ai-modal-title h2{margin:0;font-size:1.5rem;font-weight:700}.ai-modal-title p{margin:0;font-size:.9rem;opacity:.9}.btn-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:background .2s}.btn-close:hover{background:#ffffff4d}.ai-modal-body{padding:2rem;overflow-y:auto}.optimization-controls{background:#f8fafc;padding:1.5rem;border-radius:16px;border:1px solid #e2e8f0;margin-bottom:2rem}.control-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.control-group{flex:1}.control-group label{display:block;font-size:.9rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.slider-container{display:flex;align-items:center;gap:1rem}.utilization-slider{flex:1;height:6px;border-radius:3px;background:#e2e8f0;outline:none;-webkit-appearance:none}.utilization-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#6366f1;cursor:pointer;box-shadow:0 2px 4px #6366f14d}.utilization-value{font-size:1.1rem;font-weight:700;color:#6366f1;min-width:60px}.btn-optimize{background:#0f172a;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:transform .2s}.btn-optimize:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0f172a33}.btn-optimize:disabled{opacity:.7;cursor:not-allowed;transform:none}.optimization-results{animation:fadeIn .5s ease-out}.results-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.result-card{background:#fff;border:1px solid #e2e8f0;padding:1rem;border-radius:12px;text-align:center}.result-label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.result-value{font-size:1.5rem;font-weight:700;color:#0f172a}.result-value.highlight{color:#10b981}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.recommendation-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:border-color .2s}.recommendation-item:hover{border-color:#cbd5e1}.rec-info{display:flex;align-items:center;gap:1rem}.rec-code{background:#f1f5f9;padding:.25rem .5rem;border-radius:6px;font-family:monospace;font-weight:600;color:#475569}.rec-desc{font-weight:500;color:#1e293b}.rec-metrics{display:flex;gap:1.5rem;text-align:right}.rec-metric{display:flex;flex-direction:column}.rec-metric span:first-child{font-size:.75rem;color:#94a3b8}.rec-metric span:last-child{font-weight:600;color:#334155}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#64748b;gap:1rem}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dashboard{max-width:1400px;margin:0 auto;padding-bottom:3rem;font-family:Inter,sans-serif;width:100%;box-sizing:border-box}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}.pie-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem}@media(max-width:1200px){.pie-charts-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.pie-charts-grid{grid-template-columns:1fr}}.header-left{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.header-actions{display:flex;gap:1rem;align-items:center}.page-title{font-size:2rem;font-weight:800;color:#1e293b;margin:0;letter-spacing:-.03em;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.date-picker{background:#fff;padding:.5rem 1rem;border-radius:50px;border:1px solid #e2e8f0;box-shadow:0 2px 4px #00000008;display:flex;align-items:center;gap:.75rem;transition:all .2s ease}.date-picker:hover{box-shadow:0 4px 8px #0000000f;transform:translateY(-1px)}.date-input{border:none;background:transparent;color:#475569;font-family:inherit;font-size:.95rem;font-weight:500;outline:none;cursor:pointer}.btn-action{background:#fff;color:#475569;border:1px solid #e2e8f0;padding:.75rem 1.25rem;border-radius:50px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;box-shadow:0 2px 4px #00000005}.btn-action:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 6px #0000000d}.btn-ai{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:50px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #6366f140;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn-ai:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #6366f159}.stats-hero{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:1.5rem;margin-bottom:2.5rem}.hero-card{background:#fff;border-radius:16px;padding:1rem 1.5rem;position:relative;overflow:hidden;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 30px -10px #00000014;transition:transform .3s ease;min-height:100px}.hero-card:hover{transform:translateY(-5px)}.revenue-hero{background:linear-gradient(135deg,#fff,#f0fdf4);border:1px solid #dcfce7}.profit-hero{background:linear-gradient(135deg,#fff,#eff6ff);border:1px solid #dbeafe}.hero-bg-pattern{position:absolute;top:-50px;right:-50px;width:300px;height:300px;background:radial-gradient(circle,#fffc,#fff0 70%);border-radius:50%;z-index:0;pointer-events:none;opacity:.4}.hero-icon-wrapper{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#fff;box-shadow:0 4px 12px #0000000d;z-index:2;flex-shrink:0}.hero-content{z-index:2;position:relative;display:flex;flex-direction:column;min-width:0}.hero-label{font-size:.9rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;white-space:nowrap}.hero-value{font-size:1.75rem;font-weight:800;color:#0f172a;line-height:1;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-trend{font-size:.9rem;font-weight:600;margin-top:.5rem;display:inline-block;padding:.25rem .75rem;border-radius:20px;background:#fffc;width:fit-content}.hero-trend.positive{color:#059669}.mini-stats-column{display:flex;flex-direction:column;gap:1rem}.mini-stat-card{background:#fff;border-radius:16px;padding:1rem;display:flex;align-items:center;gap:.875rem;flex:1;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005;transition:all .2s ease}.mini-stat-card:hover{transform:translate(5px);border-color:#cbd5e1}.mini-stat-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.mini-stat-icon.cost{background:#fef2f2;color:#dc2626}.mini-stat-icon.cases{background:#f3e8ff;color:#7c3aed}.mini-stat-info{display:flex;flex-direction:column;min-width:0}.mini-stat-label{font-size:.8rem;color:#64748b;font-weight:600}.mini-stat-value{font-size:1.25rem;font-weight:700;color:#1e293b}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.chart-card{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 20px -5px #0000000d;overflow:hidden}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.chart-header h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.chart-actions{display:flex;background:#f1f5f9;padding:.25rem;border-radius:12px}.chart-action-btn{border:none;background:transparent;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease}.chart-action-btn.active{background:#fff;color:#0f172a;box-shadow:0 2px 4px #0000000d}.diverging-chart-container{display:flex;flex-direction:column;gap:1.5rem;min-height:300px;width:100%}.diverging-bar-row{display:flex;align-items:center;gap:1rem;width:100%}.bar-label{width:80px;font-size:.9rem;color:#64748b;font-weight:500;text-align:right;flex-shrink:0}.bar-track{flex:1;height:32px;background:#f8fafc;border-radius:6px;position:relative;display:flex;align-items:center;overflow:hidden}.center-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#cbd5e1;z-index:1}.bar-fill{height:20px;border-radius:4px;position:absolute;transition:width 1s cubic-bezier(.4,0,.2,1);cursor:pointer;max-width:50%}.bar-fill.positive{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 2px 4px #10b98133}.bar-fill.negative{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef444433}.bar-tooltip{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:10}.bar-fill:hover .bar-tooltip{opacity:1}.donut-chart-container{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:1rem 0}.donut-chart{width:220px;height:220px;border-radius:50%;position:relative;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.donut-chart:hover{transform:scale(1.05)}.donut-hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:160px;height:160px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 4px #0000000d}.donut-center-text{text-align:center}.donut-label{display:block;font-size:.9rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.donut-value{display:block;font-size:2.5rem;font-weight:800;color:#1e293b;line-height:1;margin-top:.25rem}.chart-legend-vertical{display:flex;gap:2rem;width:100%;justify-content:center;flex-wrap:wrap}.legend-dot.profit{background:#10b981;box-shadow:0 0 0 4px #d1fae5}.legend-dot.cost{background:#ef4444;box-shadow:0 0 0 4px #fee2e2}.top-surgeon-card{background:#fff;border-radius:16px;padding:.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005;transition:all .3s ease;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.ts-profit.negative{color:#ef4444}.pie-chart{width:220px;height:220px;border-radius:50%;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.empty-chart-state{display:flex;align-items:center;justify-content:center;height:200px;color:#94a3b8;font-style:italic;background:#f8fafc;border-radius:12px;border:2px dashed #e2e8f0}@media(max-width:1200px){.stats-hero{grid-template-columns:1fr 1fr}.mini-stats-column{grid-column:span 2;flex-direction:row}}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.chart-card.wide-chart{order:2}.chart-card.donut-chart-card{order:1}}@media(max-width:768px){.stats-hero{grid-template-columns:1fr}.mini-stats-column{grid-column:span 1;flex-direction:column}.hero-value{font-size:2rem}.dashboard-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.btn-ai,.btn-action{flex:1;justify-content:center}.bar-label{width:60px;font-size:.8rem}}.top-surgeons-section{margin-bottom:2.5rem}.section-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.top-surgeons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.top-surgeon-card{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.top-surgeon-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px -5px #0000000d;border-color:#cbd5e1}.ts-header{font-size:.85rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.ts-content{display:flex;flex-direction:column;gap:.5rem}.ts-name{font-size:1.25rem;font-weight:700;color:#0f172a}.ts-profit{font-size:1.5rem;font-weight:800}.ts-profit.positive{color:#059669}.ts-empty{font-style:italic;color:#94a3b8;font-size:.95rem}.utilization-chart-container{display:flex;justify-content:center;padding:1rem 0}.pie-chart-wrapper{display:flex;align-items:center;gap:3rem;flex-wrap:wrap;justify-content:center}.pie-chart{width:220px;height:220px;border-radius:50%;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease;position:relative}.pie-chart:hover{transform:scale(1.05)}.chart-legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;max-width:500px}.email-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.email-modal-content{background:#fff;padding:2rem;border-radius:16px;width:90%;max-width:400px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out}.email-modal-header{margin-bottom:1.5rem}.email-modal-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.email-modal-desc{font-size:.875rem;color:#64748b}.email-input-group{margin-bottom:1.5rem}.email-input-label{display:block;font-size:.875rem;font-weight:500;color:#475569;margin-bottom:.5rem}.email-input{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.email-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.email-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;color:#64748b;background:#f1f5f9;border:none;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#e2e8f0;color:#475569}.btn-send{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;color:#fff;background:#3b82f6;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-send:hover{background:#2563eb}.btn-send:disabled{opacity:.7;cursor:not-allowed}.case-detail-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:#fff;padding:1rem 1.5rem;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:2rem;width:100%;box-shadow:0 4px 6px -1px #0000000d}.case-tabs{display:flex;align-items:center;gap:.5rem;background:#f1f5f9;padding:.35rem;border-radius:10px;overflow-x:auto;scrollbar-width:none}.case-tabs::-webkit-scrollbar{display:none}.case-tab-btn{padding:.6rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;color:#64748b;border:none;background:transparent;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap;flex-shrink:0;cursor:pointer}.case-tab-btn:hover{color:#1e293b;background:#ffffff80}.case-tab-btn.active{background:#fff;color:#3b82f6;box-shadow:0 2px 4px #0000000d}.btn-back{color:#64748b;font-weight:600;font-size:.9rem;padding:.6rem 1.2rem;border-radius:8px;background:#fff;border:1px solid #e2e8f0;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.5rem;flex-shrink:0;cursor:pointer}.btn-back:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b;transform:translate(-3px)}.error-border{border-color:#ef4444!important;background-color:#fef2f2!important}.error-border:focus{box-shadow:0 0 0 4px #ef44441a!important}.error-text{color:#ef4444;font-size:.75rem;font-weight:500;margin-top:.25rem;display:block;animation:fadeInError .2s ease-out}@keyframes fadeInError{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.required-star{color:#ef4444;font-weight:700;margin-left:2px}.management-container{padding:2.5rem;max-width:1600px;margin:0 auto;animation:fadeIn .5s ease-out;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid transparent;background:linear-gradient(to right,#f8fafc,#f8fafc) padding-box,linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899) border-box;border-image-slice:1}.management-title{font-size:2.25rem;font-weight:800;background:linear-gradient(135deg,#1e293b,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.btn-add{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.875rem 2rem;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d;position:relative;overflow:hidden}.btn-add:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-add:hover:before{left:100%}.btn-add:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-add:active{transform:translateY(0)}.btn-add span{font-size:1.25rem;font-weight:700}.table-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000014;border:1px solid #e2e8f0;overflow-x:auto;position:relative}.table-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899)}.data-table{width:100%;border-collapse:collapse}.data-table th{background:linear-gradient(to bottom,#f8fafc,#f1f5f9);padding:1.25rem 1.75rem;font-weight:700;color:#475569;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:10;text-align:left;white-space:nowrap}.data-table td{padding:1.25rem 1.75rem;border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:.95rem;font-weight:500;transition:background .2s;text-align:left}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:linear-gradient(to right,#f8fafc,#fff)}.actions-cell{display:flex;gap:.625rem;align-items:center}.btn-icon{width:38px;height:38px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1.1rem;position:relative;overflow:visible;z-index:1}.btn-icon svg{width:18px;height:18px;flex-shrink:0;pointer-events:none;position:relative;z-index:2}.btn-icon:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .3s,height .3s;z-index:0}.btn-icon:active:before{width:100px;height:100px}.btn-edit{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;box-shadow:0 2px 8px #3b82f633}.btn-edit:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #3b82f666}.btn-reschedule{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;box-shadow:0 2px 8px #f59e0b33}.btn-reschedule:hover{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #f59e0b66}.btn-action-cancel{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;box-shadow:0 2px 8px #ef444433}.btn-action-cancel:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #ef444466}.btn-delete{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;box-shadow:0 2px 8px #ef444433}.btn-delete:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #ef444466}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.modal-content{background:#fff;padding:2.5rem;border-radius:20px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.2);position:relative}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899)}@keyframes slideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.modal-header h3{margin:0;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#1e293b,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-close{background:#f1f5f9;border:none;width:36px;height:36px;border-radius:10px;font-size:1.5rem;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close:hover{background:#e2e8f0;color:#1e293b;transform:rotate(90deg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.25rem}.form-row-full{grid-column:1 / -1}.form-group{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#475569;margin-bottom:.625rem;letter-spacing:.01em}.form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.95rem;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif;background:#f8fafc}.form-input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}.form-input:hover{border-color:#cbd5e1}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f1f5f9}.btn-cancel{background:#fff;border:2px solid #e2e8f0;color:#64748b;padding:.875rem 1.75rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-save{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d;font-size:.95rem}.btn-save:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-save:active{transform:translateY(0)}.data-table tbody tr td[colspan]{text-align:center;padding:3rem 2rem;color:#94a3b8;font-size:1rem;font-weight:500}.vertical-layout{display:flex;flex-direction:column;gap:2.5rem;align-items:stretch;width:100%}.split-layout{display:grid;grid-template-columns:400px 1fr;gap:2rem;align-items:start}@media(max-width:1200px){.split-layout{grid-template-columns:1fr}}.content-card{background:#fff;border-radius:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid #e2e8f0;padding:1.5rem;transition:all .3s ease}.content-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.card-header{margin-bottom:2rem;border-bottom:1px solid #f1f5f9;padding-bottom:1.5rem}.card-header h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;letter-spacing:-.02em}.card-subtitle{color:#64748b;font-size:.95rem;margin:0;line-height:1.5}.form-card{position:sticky;top:2rem}.full-width{width:100%}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-completed{background:#dcfce7;color:#166534}.status-scheduled{background:#dbeafe;color:#1e40af}.status-pending{background:#fef9c3;color:#854d0e}.form-card-wide{padding:2rem!important;background:linear-gradient(to bottom right,#fff,#f8fafc)!important}.card-header-compact{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.header-info h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.form-row-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;margin-bottom:2rem}.form-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;background-color:#f8fafc;font-size:.95rem;color:#1e293b;transition:all .2s;cursor:pointer}.form-select:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a;outline:none}.required-star{color:#ef4444;margin-left:2px}.currency-input{position:relative;display:flex;align-items:center}.currency-input .unit{position:absolute;left:1rem;color:#64748b;font-weight:600}.currency-input input{padding-left:2rem!important}.form-submit-row{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #f1f5f9}.btn-save-modern{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.875rem 2.5rem;border-radius:12px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #3b82f640;transition:all .2s}.btn-save-modern:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f659}.btn-cancel-modern{background:#fff;color:#64748b;border:2px solid #e2e8f0;padding:.875rem 2rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-modern:hover{background:#f8fafc;color:#1e293b}.btn-small-link{background:none;border:none;color:#64748b;font-size:.85rem;text-decoration:underline;cursor:pointer;padding:0}.btn-small-link:hover{color:#ef4444}@media(max-width:1400px){.form-row-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1000px){.form-row-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.form-row-grid{grid-template-columns:1fr}}.or-schedule-container{padding:2rem;background:linear-gradient(135deg,#f8fafc,#e0f7fa);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:fadeIn .5s ease-out}.or-schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid transparent;background:linear-gradient(to right,#f8fafc,#f8fafc) padding-box,linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899) border-box;border-image-slice:1}.or-schedule-title{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#1e293b,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;margin:0}.month-nav{display:flex;align-items:center;gap:1rem;background:#fff;padding:.5rem;border-radius:12px;box-shadow:0 2px 4px #0000000d}.btn-nav{background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:background .2s;color:#64748b}.btn-nav:hover{background:#f1f5f9;color:#1e293b}.month-label{font-weight:600;font-size:1.1rem;color:#1e293b;min-width:150px;text-align:center}.schedule-grid-wrapper{width:100%;overflow-x:auto;border-radius:12px;box-shadow:0 8px 20px -4px #00000014;background:#fff;border:1px solid #cbd5e1}.schedule-grid{display:grid;grid-template-columns:minmax(150px,200px) repeat(5,minmax(180px,1fr));min-width:1100px}.grid-header-row,.grid-row{display:contents}.grid-header-cell{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0f172a;font-weight:600;padding:1rem;text-align:center;border-bottom:2px solid #94a3b8;border-right:1px solid #cbd5e1;display:flex;align-items:center;justify-content:center;white-space:nowrap}.row-label{background:#f1f5f9;font-weight:600;padding:1rem;border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1;display:flex;align-items:center;color:#334155;position:sticky;left:0;z-index:2}.grid-header-cell:first-child{position:sticky;left:0;z-index:3}.grid-cell{padding:.5rem;border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1;min-height:120px;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;transition:background .3s;position:relative;gap:.5rem}.block-list{display:flex;flex-direction:column;gap:4px;width:100%}.block-item{background:#fff;border-left:4px solid #3b82f6;padding:6px;border-radius:4px;box-shadow:0 1px 3px #0000001a;font-size:.85rem;transition:transform .2s}.block-item:hover{transform:translate(2px);box-shadow:0 4px 6px #0000001a}.cell-provider{font-weight:700;color:#1e293b;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-time{font-size:.75rem;color:#64748b;margin-top:2px}.gap-indicator{font-size:.7rem;text-align:center;padding:2px;border-radius:4px;font-weight:600;margin:2px 0;display:flex;align-items:center;justify-content:center;gap:4px}.gap-indicator:before,.gap-indicator:after{content:"";height:1px;background:currentColor;flex:1;opacity:.5}.gap-green{color:#16a34a;background:#dcfce7}.gap-yellow{color:#d97706;background:#fef3c7}.gap-red{color:#dc2626;background:#fee2e2}.modal-block-list{display:flex;flex-direction:column;gap:1rem;max-height:300px;overflow-y:auto;margin-bottom:2rem;padding-right:.5rem}.modal-block-item{background:#f8fafc;border:1px solid #e2e8f0;padding:1rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center}.modal-block-info h4{margin:0 0 .25rem;color:#0f172a}.modal-block-info p{margin:0;color:#64748b;font-size:.9rem}.modal-block-actions{display:flex;gap:.5rem}.btn-icon{background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:.5rem;border-radius:6px;transition:background .2s}.btn-icon.edit:hover{background:#e0f2fe;color:#0284c7}.btn-icon.delete:hover{background:#fee2e2;color:#dc2626}.btn-add-block{width:100%;padding:1rem;background:#f0f9ff;border:2px dashed #bae6fd;color:#0284c7;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s;margin-bottom:1rem}.btn-add-block:hover{background:#e0f2fe;border-color:#7dd3fc}.header-metrics{display:flex;gap:1.5rem;font-size:.9rem;color:#64748b}.metric-badge{padding:.25rem .75rem;border-radius:20px;background:#fff;border:1px solid #e2e8f0;font-weight:600;color:#334155;box-shadow:0 1px 2px #0000000d}@media(max-width:768px){.schedule-grid-wrapper{box-shadow:none;border:none}.schedule-grid{min-width:800px}.grid-header-cell,.row-label{font-size:.8rem;padding:.5rem}.form-row{grid-template-columns:1fr}.modal-content{padding:1.5rem;width:95%}}.grid-group-header{grid-column:1 / -1;background:#f8fafc;color:#334155;font-weight:800;padding:1.25rem 1.5rem;font-size:1.1rem;border-bottom:2px solid #e2e8f0;border-top:1px solid #e2e8f0;text-transform:uppercase;letter-spacing:.05em;position:sticky;left:0;z-index:5;width:95%}.row-label{top:50px}.grid-group-header{top:0}.week-label{display:block;font-size:.7rem;color:#64748b;font-weight:600;margin-top:.4rem;text-transform:uppercase;letter-spacing:.05em;background:#f1f5f9;padding:2px 6px;border-radius:4px;width:fit-content}.or-schedule-container.embedded{min-height:auto;padding:0;background:transparent;box-shadow:none}.or-schedule-container.embedded .or-schedule-header{margin-bottom:1rem;padding-bottom:.5rem;background:transparent;border-bottom:none}.or-schedule-container.embedded .or-schedule-title{font-size:1.25rem}.or-schedule-container.embedded .schedule-grid-wrapper{box-shadow:none;border:1px solid #e2e8f0}.chart-section-container{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #00000005;border:1px solid #e2e8f0;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.chart-header h3{margin:0;color:#1e293b;font-size:1.25rem}.filter-select{padding:.5rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;color:#334155;outline:none;cursor:pointer}.utilization-chart-container{display:flex;justify-content:center;align-items:center;width:100%}.pie-chart-wrapper{display:flex;align-items:center;gap:4rem;flex-wrap:wrap;justify-content:center}.pie-chart{width:220px;height:220px;border-radius:50%;position:relative;box-shadow:0 4px 12px #0000001a}.chart-legend-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.legend-item{display:flex;align-items:center;gap:.75rem}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-info{display:flex;flex-direction:column}.legend-name{font-size:.85rem;color:#64748b;font-weight:500}.legend-val{font-size:1rem;font-weight:700;color:#1e293b}.donut-hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50%;height:50%;background:#fff;border-radius:50%}.btn-toggle-chart{background:#fff;border:1px solid #e2e8f0;color:#475569;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;font-size:.9rem;margin-left:1rem}.btn-toggle-chart:hover{background:#f8fafc;color:#1e293b;border-color:#cbd5e1}.btn-toggle-chart.active{background:#eff6ff;color:#3b82f6;border-color:#bfdbfe}.stat-sublabel{font-size:.8rem;color:#94a3b8;margin-top:.25rem}.or-info-badge{background:#f1f5f9;color:#64748b;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500}.or-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.or-card{padding:0}.or-card-header-section{padding:1.5rem;border-bottom:1px solid #e2e8f0}.or-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.or-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.utilization-badge{padding:.35rem .85rem;border-radius:999px;font-size:.85rem;font-weight:700}.or-status-label{font-size:.9rem;font-weight:500}.or-progress-section{padding:1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.progress-bar-container{width:100%: height: 10px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:.75rem}.progress-bar-fill{height:100%;border-radius:999px;transition:width .6s ease-in-out}.progress-labels{display:flex;justify-content:space-between;font-size:.8rem;color:#64748b}.or-stats-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.5rem;border-bottom:1px solid #e2e8f0}.mini-stat{display:flex;align-items:center;gap:.75rem}.mini-stat-icon{font-size:1.5rem}.mini-stat-value{font-size:1rem;font-weight:700;color:#1e293b;line-height:1.2}.mini-stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.or-surgeries-list{padding:1.5rem}.surgeries-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.95rem;font-weight:600;color:#1e293b}.surgeries-items{display:flex;flex-direction:column;gap:.75rem}.surgery-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.surgery-item:hover{background:#f1f5f9;border-color:#cbd5e1}.surgery-time{background:#eff6ff;color:#3b82f6;padding:.4rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap;min-width:80px;text-align:center}.surgery-details{display:flex;flex-direction:column;gap:.25rem}.surgery-patient{font-size:.9rem;font-weight:600;color:#1e293b}.surgery-doctor{font-size:.85rem;color:#64748b}.surgery-duration{background:#ecfdf5;color:#10b981;padding:.4rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}@media(max-width:1024px){.or-grid{grid-template-columns:1fr}}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.or-stats-mini{grid-template-columns:1fr}.surgery-item{grid-template-columns:1fr;gap:.75rem}.surgery-time,.surgery-duration{width:fit-content}}.surgery-schedule-container{padding:1rem;height:100vh;display:flex;flex-direction:column;background:#f8fafc;font-family:Inter,sans-serif;overflow:hidden}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;background:#fff;padding:.75rem 1.25rem;border-radius:12px;box-shadow:0 1px 3px #0000000d}.schedule-header h2{font-size:1.25rem;color:#0f172a;margin:0;font-weight:700;letter-spacing:-.01em}.week-nav{display:flex;align-items:center;gap:8px;background:#f1f5f9;padding:4px;border-radius:8px;border:1px solid #e2e8f0}.current-week-label{font-weight:600;color:#475569;min-width:180px;text-align:center;font-size:.85rem}.btn-nav{background:#fff;border:1px solid #cbd5e1;padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:600;color:#64748b;font-size:.75rem;transition:all .2s ease}.btn-nav:hover{border-color:#94a3b8;color:#0f172a;background:#f8fafc}.weekly-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;flex:1;overflow-x:hidden;padding-bottom:.5rem}.day-column{background:#fff;border-radius:12px;display:flex;flex-direction:column;min-width:0;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000005}.day-header{padding:.75rem;background:#fff;border-bottom:1px solid #f1f5f9;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:space-between}.day-name{font-weight:700;color:#94a3b8;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.day-date{background:#e0f2fe;color:#0369a1;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.day-cards{padding:.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto;background:#f8fafc}.surgery-card{background:#fff;padding:.75rem;border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;transition:all .15s ease;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:.4rem}.surgery-card:hover{transform:scale(1.02);box-shadow:0 4px 6px -1px #0000001a;z-index:2}.card-time{font-size:.65rem;font-weight:700;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px;align-self:flex-start}.card-patient{font-weight:700;color:#0f172a;font-size:.9rem;line-height:1.3;white-space:normal;word-break:break-word}.card-surgeon{font-size:.7rem;color:#2563eb;font-weight:600;white-space:normal;line-height:1.3;word-break:break-word}.card-procedure{font-size:.72rem;color:#475569;line-height:1.4;background:#f8fafc;padding:.5rem;border-radius:6px;border:1px dashed #e2e8f0;max-height:80px;overflow-y:auto;display:block;word-break:break-word}.card-procedure::-webkit-scrollbar{width:3px}.card-procedure::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.card-status{margin-top:.1rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:2px 6px;border-radius:4px;width:fit-content;align-self:flex-end}.status-scheduled{color:#0284c7;background:#e0f2fe}.status-completed{color:#059669;background:#dcfce7}.status-cancelled{color:#dc2626;background:#fee2e2}.no-surgeries{text-align:center;color:#94a3b8;font-weight:500;font-size:.75rem;margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;opacity:.6}.day-cards::-webkit-scrollbar{width:4px}.day-cards::-webkit-scrollbar-track{background:transparent}.day-cards::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.filter-tabs{display:flex;gap:.5rem;background:#ffffff0d;padding:.25rem;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.filter-tab{padding:.5rem 1.5rem;border:none;background:transparent;color:#fff9;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.filter-tab:hover{background:#ffffff0d;color:#ffffffe6}.filter-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003;border-color:#fff3}.stat-icon{font-size:2.5rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.stat-info{flex:1}.stat-value{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.stat-label{font-size:.85rem;color:#fff9;margin-top:.25rem}.count-badge{background:#667eea33;color:#667eea;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.surgeries-list{display:flex;flex-direction:column;gap:1.5rem}.surgery-card:hover{background:#ffffff0d;border-color:#fff3;transform:translate(4px)}.surgery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.surgery-date-time{display:flex;flex-direction:column;gap:.25rem}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.surgery-body{display:flex;flex-direction:column;gap:1rem}.surgery-patient,.surgery-total{display:flex;align-items:center;gap:.5rem}.surgery-procedures{display:flex;flex-direction:column;gap:.5rem}.cpt-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.cpt-item{display:grid;grid-template-columns:80px 1fr auto;gap:1rem;align-items:center;background:#ffffff08;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.cpt-code{font-family:Courier New,monospace;font-weight:600;color:#667eea;font-size:.9rem}.cpt-desc{color:#fffc;font-size:.9rem}.cpt-amount{color:#22c55e;font-weight:600;font-size:.95rem}.total-amount{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#22c55e,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#fff;margin-bottom:.5rem}.empty-state p{color:#fff9}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.filter-tabs{width:100%}.filter-tab{flex:1;padding:.5rem 1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.surgery-header{flex-direction:column;gap:1rem}.cpt-item{grid-template-columns:1fr;gap:.5rem}.cpt-code{font-size:.85rem}}.search-box{position:relative;width:300px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1rem;opacity:.5}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:.95rem;transition:all .3s ease}.search-input:focus{outline:none;background:#ffffff1a;border-color:#667eea80;box-shadow:0 0 0 3px #667eea1a}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.patient-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column;gap:1.25rem}.patient-card:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-4px);box-shadow:0 12px 30px #0003}.patient-header{display:flex;align-items:center;gap:1rem}.patient-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;box-shadow:0 4px 15px #667eea4d}.patient-info{flex:1}.patient-name{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:.25rem}.patient-mrn{font-size:.85rem;color:#ffffff80;font-family:Courier New,monospace;background:#ffffff0d;padding:.1rem .5rem;border-radius:4px;display:inline-block}.patient-details{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#0003;border-radius:12px}.detail-row{display:flex;justify-content:space-between;align-items:center}.last-surgery{margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.5rem}.surgery-preview{display:flex;justify-content:space-between;align-items:center}.surgery-preview .date{color:#fff;font-weight:500}.surgery-preview .status{font-size:.8rem;padding:.2rem .6rem;border-radius:12px;background:#22c55e33;color:#22c55e;text-transform:capitalize}.patient-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:auto}.btn-action{padding:.75rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#667eea1a;color:#667eea;border:1px solid rgba(102,126,234,.2)}.btn-action:hover{background:#667eea33;transform:translateY(-1px)}.btn-action.secondary{background:transparent;border-color:#ffffff1a;color:#ffffffb3}.btn-action.secondary:hover{background:#ffffff0d;color:#fff}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-box{width:100%}.patients-grid{grid-template-columns:1fr}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.info-section{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.info-row:hover{background:#ffffff0d;border-color:#ffffff1a}.info-label{font-size:.85rem;color:#fff9;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1.05rem;color:#fff;font-weight:600}.info-highlight{font-family:Courier New,monospace;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.1rem}.info-notice{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3);border-radius:12px;padding:1.5rem;display:flex;gap:1rem;align-items:flex-start}.notice-icon{font-size:2rem;flex-shrink:0}.notice-content h4{color:#fff;margin:0 0 .5rem;font-size:1.1rem}.notice-content p{color:#fffc;margin:0;line-height:1.6}.notice-content strong{color:#667eea;font-weight:600}@media(max-width:768px){.info-grid{grid-template-columns:1fr}.info-notice{flex-direction:column;text-align:center}}.surgery-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.surgeries-container{display:flex;flex-direction:column;gap:1.5rem}.surgery-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;transition:all .3s ease}.surgery-card:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.surgery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.surgery-date-info{display:flex;flex-direction:column;gap:.25rem}.surgery-date{font-size:1.1rem;font-weight:600;color:#fff}.surgery-time{font-size:.9rem;color:#3b82f6}.status-icon{font-size:1rem}.status-scheduled{background:#667eea33;color:#667eea}.status-in-progress{background:#fbbf2433;color:#fbbf24}.status-completed{background:#22c55e33;color:#22c55e}.status-cancelled{background:#ef444433;color:#ef4444}.status-default{background:#9ca3af33;color:#9ca3af}.surgery-body{display:flex;flex-direction:column;gap:1.25rem}.surgery-info-row{display:flex;align-items:center;gap:.5rem}.label{font-size:.9rem;color:#fff9;font-weight:500}.value{font-size:1rem;color:#fff;font-weight:600}.procedures-section,.procedures-list{display:flex;flex-direction:column;gap:.75rem}.procedure-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.05);gap:1rem}.procedure-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.procedure-code{font-family:Courier New,monospace;font-weight:600;color:#667eea;font-size:.9rem}.procedure-desc{color:#fffc;font-size:.9rem}.procedure-cost{color:#22c55e;font-weight:700;font-size:1rem;white-space:nowrap}.surgery-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#22c55e1a,#10b9811a);border:1px solid rgba(34,197,94,.3);border-radius:8px}.total-label{font-size:1rem;color:#fffc;font-weight:600}.total-amount{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#22c55e,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.surgery-notes{display:flex;flex-direction:column;gap:.5rem;background:#ffffff08;padding:1rem;border-radius:8px;border-left:3px solid #667eea}.surgery-notes p{margin:0;color:#fffc;font-size:.9rem;line-height:1.6}@media(max-width:768px){.surgery-stats{grid-template-columns:repeat(3,1fr)}.surgery-header{flex-direction:column;gap:1rem}.procedure-item{flex-direction:column;align-items:flex-start}.procedure-cost{align-self:flex-end}.surgery-total{flex-direction:column;gap:.5rem;align-items:flex-start}}.billing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.paid-stat{border-color:#22c55e4d}.paid-stat .stat-value{background:linear-gradient(135deg,#22c55e,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pending-stat{border-color:#fbbf244d}.pending-stat .stat-value{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.overdue-stat{border-color:#ef44444d}.overdue-stat .stat-value{background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bills-container{display:flex;flex-direction:column;gap:1.5rem}.bill-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;transition:all .3s ease}.bill-card:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.overdue-card{border-color:#ef444480;background:#ef44440d}.bill-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.bill-info{display:flex;flex-direction:column;gap:.25rem}.bill-id{font-size:1.1rem;font-weight:700;color:#fff}.bill-date{font-size:.85rem;color:#fff9}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.status-pending{background:#fbbf2433;color:#fbbf24}.status-paid{background:#22c55e33;color:#22c55e}.status-partially-paid{background:#3b82f633;color:#3b82f6}.status-overdue{background:#ef444433;color:#ef4444}.bill-surgery-info{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:#ffffff08;border-radius:8px}.bill-amounts{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.amount-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffffff08;border-radius:8px}.amount-label{font-size:.9rem;color:#ffffffb3;font-weight:500}.amount-value{font-size:1.1rem;color:#fff;font-weight:700}.insurance-covered{color:#22c55e}.total-row{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3)}.responsibility{font-size:1.3rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bill-footer{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.due-date,.paid-date{display:flex;align-items:center;gap:.5rem}.overdue-text{color:#ef4444;font-weight:700}.pay-button{width:100%;padding:1rem;background:linear-gradient(135deg,#22c55e,#10b981);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #22c55e4d}.pay-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.billing-help{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3);border-radius:12px;padding:1.5rem;display:flex;gap:1rem;align-items:flex-start}.help-icon{font-size:2rem;flex-shrink:0}.help-content h4{color:#fff;margin:0 0 .5rem;font-size:1.1rem}.help-content p{color:#fffc;margin:.25rem 0;line-height:1.6;font-size:.9rem}.help-content strong{color:#667eea;font-weight:600}@media(max-width:768px){.billing-stats{grid-template-columns:repeat(2,1fr)}.bill-header{flex-direction:column;gap:1rem}.bill-footer{flex-direction:column;align-items:flex-start}.billing-help{flex-direction:column;text-align:center}}@media print{@page{size:8.5in 11in;margin:.25in}body *{visibility:hidden}.hcfa-container,.hcfa-container *{visibility:visible}.hcfa-container{position:absolute;left:0;top:0;width:100%}.no-print{display:none!important}}.hcfa-container{width:8.5in;height:11in;background:#fff;color:#cc2229;font-family:Arial,sans-serif;font-size:10px;position:relative;box-sizing:border-box;padding:.25in;margin:0 auto;border:1px solid #eee}.hcfa-content{color:#000;font-family:Courier New,Courier,monospace;font-weight:700;text-transform:uppercase;font-size:12px}.hcfa-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;border-bottom:2px solid #cc2229;padding-bottom:5px}.hcfa-row{display:flex;width:100%;margin-bottom:4px}.hcfa-col{display:flex;flex-direction:column;border-right:1px solid #cc2229;padding:2px 4px;position:relative}.hcfa-col:last-child{border-right:none}.hcfa-label{color:#cc2229;font-size:8px;margin-bottom:2px;line-height:1}.hcfa-input{border:none;background:transparent;width:100%;font-family:Courier New,Courier,monospace;font-size:11px;color:#000;font-weight:700}.hcfa-checkbox{display:inline-flex;align-items:center;margin-right:8px}.hcfa-checkbox input{margin-right:2px}.hcfa-section-title{background:#cc2229;color:#fff;font-weight:700;padding:2px 5px;font-size:10px;margin:5px 0;display:block}.box-container{border:1px solid #cc2229;margin-bottom:-1px;display:flex}.box{padding:2px;border-right:1px solid #cc2229;position:relative}.box:last-child{border-right:none}.w-full{width:100%}.w-half{width:50%}.w-third{width:33.33%}.w-quarter{width:25%}.carrier-block{height:100px;border:1px solid #cc2229;margin-bottom:10px;padding:10px;display:flex;justify-content:flex-end;align-items:flex-start}.carrier-info{width:50%;color:#000;font-size:12px;line-height:1.4}.cpt-auto-update{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;color:#1a1a2e;margin-bottom:.5rem}.update-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;border:1px solid rgba(0,0,0,.05)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid #f0f0f0;padding-bottom:1rem}.card-header h2,.card-header h3{font-size:1.25rem;color:#333;margin:0}.badge{background:#f0f2f5;color:#666;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.badge.cloud{background:#e3f2fd;color:#1976d2}.file-drop-area{border:2px dashed #ddd;border-radius:12px;padding:2rem;text-align:center;transition:all .2s}.file-drop-area:hover{border-color:#4a90e2;background:#f8fbff}input[type=file]{display:none}.file-label{display:inline-block;padding:.75rem 1.5rem;background:#4a90e2;color:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s}.file-label:hover{background:#357abd}.spinner{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:1rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stat-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f5f5f5}.status-ok{color:#2e7d32;font-weight:600}.btn-primary{width:100%;margin-top:1.5rem;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .1s}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.btn-sm{font-size:.875rem;padding:.25rem .75rem}.log-window{background:#1e1e1e;color:#0f0;font-family:Consolas,monospace;padding:1rem;border-radius:8px;height:300px;overflow-y:auto;font-size:.9rem}.log-line{padding:2px 0;white-space:pre-wrap;border-bottom:1px solid #333}.placeholder{color:#666;font-style:italic}.role-permissions-container{padding:2rem;max-width:1200px;margin:0 auto}.management-header{margin-bottom:2rem}.management-header h2{font-size:1.8rem;color:#1e293b;margin-bottom:.5rem}.management-header p{color:#64748b}.management-content{display:grid;grid-template-columns:250px 1fr;gap:2rem}.role-selector-card,.permissions-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.role-selector-card h3,.permissions-card h3{font-size:1.1rem;color:#1e293b;margin-bottom:1.5rem}.role-buttons{display:flex;flex-direction:column;gap:.75rem}.role-btn{padding:.75rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:8px;text-align:left;cursor:pointer;font-weight:500;transition:all .2s ease;color:#475569}.role-btn:hover{background:#f8fafc;border-color:#cbd5e1}.role-btn.active{background:#eff6ff;border-color:#3b82f6;color:#2563eb;box-shadow:0 0 0 1px #3b82f6}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.card-header h3{margin-bottom:0}.save-btn{padding:.6rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.save-btn:hover{background:#2563eb}.save-btn:disabled{background:#94a3b8;cursor:not-allowed}.info-badge{background:#f1f5f9;color:#64748b;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:500}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.permission-item{display:flex;gap:1rem;padding:1.25rem;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s}.permission-item:hover{border-color:#3b82f6;background:#f8faff}.permission-item.checked{background:#f0f9ff;border-color:#bae6fd}.permission-item.disabled{cursor:default;opacity:.8}.permission-item.disabled:hover{background:#f0f9ff;border-color:#bae6fd}.checkbox-wrapper{position:relative;width:20px;height:20px;flex-shrink:0}.checkbox-wrapper input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:20px;width:20px;background-color:#fff;border:2px solid #cbd5e1;border-radius:4px;transition:all .2s}.permission-item.checked .checkmark{background-color:#3b82f6;border-color:#3b82f6}.checkmark:after{content:"";position:absolute;display:none}.permission-item.checked .checkmark:after{display:block}.checkbox-wrapper .checkmark:after{left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.permission-info{display:flex;flex-direction:column;gap:.25rem}.perm-name{font-weight:700;font-size:.8rem;color:#1e293b;letter-spacing:.025em}.perm-desc{font-size:.85rem;color:#64748b;line-height:1.4}.loading-state{padding:4rem;text-align:center;color:#64748b}@media(max-width:768px){.management-content{grid-template-columns:1fr}}.app{min-height:100vh;display:flex;background-color:#f8fafc}.main-content{margin-left:340px;padding:1rem;flex:1;width:calc(100% - 340px);background-color:#f8fafc;color:#1e293b}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000d}.header-left{display:flex;align-items:center;gap:1.5rem}.page-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.date-picker{display:flex;align-items:center;gap:.5rem;background:#f1f5f9;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;color:#64748b}.date-input{background:transparent;border:none;color:#64748b;font-size:.9rem;font-family:inherit;cursor:pointer}.date-input:focus{outline:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{font-size:1.1rem;color:#64748b;font-weight:500}.btn-ai{background:#6366f1;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:500;display:flex;align-items:center;gap:.5rem;cursor:pointer;box-shadow:0 4px 12px #6366f14d}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:16px;border:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 1px 2px #0000000d}.stat-content{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.85rem;color:#64748b;font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:#0f172a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.icon-green{background:#ecfdf5;color:#10b981}.icon-orange{background:#fff7ed;color:#f97316}.icon-blue{background:#eff6ff;color:#3b82f6}.icon-purple{background:#f5f3ff;color:#8b5cf6}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.chart-card{background:#fff;padding:1.5rem;border-radius:16px;border:1px solid #e2e8f0;min-height:300px}.chart-card h3{font-size:1rem;color:#1e293b;margin-bottom:1.5rem}.empty-state{height:200px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.9rem;border:2px dashed #e2e8f0;border-radius:8px}.fade-in{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.placeholder-view{display:flex;align-items:center;justify-content:center;height:50vh;color:#64748b;font-size:1.5rem;font-weight:500}.page-container{max-width:1200px;margin:0 auto}.page-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:1.5rem}.content-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.card-header{padding:1.5rem;border-bottom:1px solid #e2e8f0}.card-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.card-subtitle{color:#64748b;font-size:.9rem;margin:0}.registration-card{max-width:600px}.registration-form{padding:2rem}.form-input{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#1e293b;transition:all .2s;background:#f8fafc}.form-input:focus{outline:none;border-color:#10b981;background:#fff;box-shadow:0 0 0 3px #10b9811a}.btn-submit{background:#10b981;color:#fff;border:none;padding:.875rem;border-radius:8px;font-weight:600;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;transition:background .2s}.btn-submit:hover{background:#059669}.split-layout{display:grid;grid-template-columns:350px 1fr;gap:1.5rem;align-items:start}.cpt-form{padding:1.5rem}.cpt-form .form-group{margin-bottom:1.25rem}.cpt-form label{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.list-header{display:flex;justify-content:space-between;align-items:center}.clean-table{width:100%;border-collapse:collapse}.clean-table th{background:#f8fafc;padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.clean-table td{padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;font-size:.9rem;color:#334155}.clean-table tr:last-child td{border-bottom:none}.font-mono{font-family:Monaco,Consolas,monospace;color:#64748b}.category-tag{display:inline-block;padding:.25rem .75rem;background:#f1f5f9;color:#475569;border-radius:999px;font-size:.75rem;font-weight:500}.filter-select{padding:.5rem 2rem .5rem 1rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;color:#64748b;background:#fff}.surgery-form{padding:2rem}.surgery-form .form-group{margin-bottom:1.5rem}.surgery-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#64748b}.cpt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;max-height:400px;overflow-y:auto;padding:.5rem}.cpt-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.cpt-card:hover{border-color:#10b981;background:#f0fdf4}.cpt-card.selected{background:#ecfdf5;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.cpt-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.cpt-code-badge{font-family:Monaco,Consolas,monospace;font-size:.85rem;font-weight:600;color:#64748b;background:#fff;padding:.25rem .5rem;border-radius:4px}.cpt-price{font-weight:600;color:#10b981;font-size:.9rem}.cpt-description{font-size:.85rem;color:#475569;line-height:1.4}.count-badge{background:#e0f2fe;color:#0369a1;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.surgeon-name{font-weight:600;color:#1e293b}.contact-info{font-size:.85rem}.contact-info .email{color:#64748b;margin-bottom:.25rem}.contact-info .phone{color:#94a3b8}.cost-preview{margin-top:.75rem;padding:.75rem;background:#f0fdf4;border-radius:6px;color:#15803d;font-size:.9rem}.cost-preview strong{color:#10b981;font-size:1.1rem}.text-muted{color:#94a3b8;font-size:.85rem;font-style:italic}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{font-size:1.1rem;font-weight:500}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:2rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;text-align:center}.error-screen h2{font-size:2rem;margin-bottom:1rem}.error-screen p{font-size:1.1rem;margin-bottom:1.5rem;max-width:500px}.error-screen .btn-submit{background:#fff;color:#f5576c;margin-bottom:2rem}.error-screen .btn-submit:hover{background:#f8f9fa;transform:translateY(-2px)}.error-help{background:#ffffff1a;padding:1.5rem;border-radius:12px;max-width:500px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-help p{margin-bottom:.5rem;font-size:.95rem}.error-help ul{list-style:none;padding:0;margin:1rem 0}.error-help li{padding:.5rem 0;font-size:.9rem}.error-help li:before{content:"✓ ";margin-right:.5rem}.error-help strong{color:#fff;background:#0003;padding:.2rem .5rem;border-radius:4px}.placeholder-view{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:1.5rem;color:#94a3b8;font-weight:600;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d}.chatbot-container{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;font-family:Inter,sans-serif}.chatbot-toggle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;box-shadow:0 4px 14px #4f46e566;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.chatbot-toggle:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 6px 20px #4f46e599}.chatbot-toggle svg{width:28px;height:28px}.chatbot-window{width:380px;height:550px;background:#fff;border-radius:16px;box-shadow:0 12px 28px #00000026;display:flex;flex-direction:column;margin-bottom:1rem;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1);border:1px solid #e2e8f0}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chatbot-header{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.chatbot-title{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1rem}.status-dot{width:8px;height:8px;background:#10b981;border-radius:50%;box-shadow:0 0 5px #10b98180}.chatbot-close{background:#ffffff1a;border:none;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;font-size:1.2rem;line-height:1}.chatbot-close:hover{background:#fff3}.chatbot-messages{flex:1;padding:1.25rem;overflow-y:auto;background:#f8fafc;display:flex;flex-direction:column;gap:1rem}.message{max-width:85%;padding:.75rem 1rem;border-radius:12px;font-size:.95rem;line-height:1.5;position:relative}.message.user{align-self:flex-end;background:#6366f1;color:#fff;border-bottom-right-radius:2px;box-shadow:0 2px 5px #6366f133}.message.bot{align-self:flex-start;background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:2px;box-shadow:0 2px 5px #0000000d}.message-time{font-size:.7rem;margin-top:.25rem;opacity:.7;text-align:right;display:block}.typing-indicator{padding:.5rem 1rem;border-radius:12px;background:#fff;border:1px solid #e2e8f0;align-self:flex-start;display:flex;gap:.3rem;width:fit-content}.typing-dot{width:6px;height:6px;background:#94a3b8;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chatbot-input-area{padding:1rem;background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:.5rem}.chatbot-input{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:99px;background:#f8fafc;font-family:inherit;font-size:.95rem;transition:all .2s}.chatbot-input:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11a}.chatbot-send{width:42px;height:42px;border-radius:50%;background:#6366f1;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.chatbot-send:hover{background:#4f46e5;transform:scale(1.05)}.chatbot-send:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.chatbot-mic{width:36px;height:36px;border-radius:50%;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .2s;background:transparent;border:none;cursor:pointer}.chatbot-mic:hover{background:#f1f5f9;color:#4f46e5}.chatbot-mic.listening{color:#ef4444;background:#ef44441a;animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}
