.dental-module{padding:40px;animation:.5s fadeIn}.module-header{margin-bottom:32px}.module-header h2{margin-bottom:8px;font-size:24px}.module-header p{color:var(--text-muted)}.dental-workspace{align-items:flex-start;gap:32px;display:flex}.odontogram-panel{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;flex:1;gap:40px;min-width:600px;padding:40px;display:flex}.arch{justify-content:center;gap:24px;display:flex}.quadrant{gap:8px;display:flex}.divider-left{border-left:2px solid var(--border);padding-left:24px}.tooth-container{cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:8px;transition:transform .2s;display:flex}.tooth-container:hover{background:#3b82f60d;transform:translateY(-5px)}.tooth-number{color:var(--text-muted);font-size:13px;font-weight:600}.treatment-sidebar{flex-direction:column;gap:24px;width:320px;display:flex}.action-card{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--primary);padding:24px}.action-card h3{margin-bottom:8px;font-size:18px}.action-card p{color:var(--text-muted);margin-bottom:20px;font-size:13px}.action-buttons{flex-direction:column;gap:12px;display:flex}.btn-action{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-action ion-icon{font-size:18px}.btn-action.red{color:#ef4444;background:#ef44441a}.btn-action.red:hover{color:#fff;background:#ef4444}.btn-action.blue{color:#3b82f6;background:#3b82f61a}.btn-action.blue:hover{color:#fff;background:#3b82f6}.btn-action.dark{background:var(--border);color:var(--text-main)}.btn-action.dark:hover{color:#fff;background:#1f2937}.btn-action.ghost{color:var(--text-muted);background:0 0}.btn-action.ghost:hover{background:var(--bg-color)}.empty-state{background:var(--card-bg);border-radius:var(--radius-lg);text-align:center;color:var(--text-muted);box-shadow:var(--shadow-sm);padding:40px 24px}.empty-state ion-icon{color:var(--border);margin-bottom:16px;font-size:48px}.financial-summary{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.financial-summary h3{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px;font-size:16px}.fin-row{justify-content:space-between;margin-bottom:12px;font-size:14px;display:flex}.text-red{color:#ef4444}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.patients-module{background:var(--bg-color);height:calc(100vh - 100px);display:flex;overflow:hidden}.patients-list-sidebar{background:var(--card-bg);border-right:1px solid var(--border);z-index:1;flex-direction:column;width:380px;display:flex}.filters-header{border-bottom:1px solid var(--border);flex-direction:column;gap:16px;padding:24px;display:flex}.filter-chips{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{border-radius:var(--radius-full);background:var(--bg-color);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:var(--transition);padding:6px 14px;font-size:13px;font-weight:500}.chip:hover{background:var(--border)}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.list-container{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.patient-card{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);background:#fff;border:1px solid #0000;align-items:center;gap:16px;padding:16px;display:flex}.patient-card:hover{background:var(--bg-color);transform:translate(4px)}.patient-card.active{background:#3b82f60d;border-color:#3b82f633}.patient-avatar-sm{background:linear-gradient(135deg, var(--primary), #8b5cf6);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:600;display:flex}.patient-info-sm{flex:1}.patient-name-sm{color:var(--text-main);margin-bottom:4px;font-size:15px;font-weight:600}.patient-meta-sm{color:var(--text-muted);font-size:13px}.patient-card ion-icon{color:var(--text-muted);opacity:0;transition:opacity .2s}.patient-card:hover ion-icon,.patient-card.active ion-icon{opacity:1}.add-patient-btn{justify-content:center;align-items:center;gap:8px;margin:16px;display:flex}.patient-details-pane{background:var(--bg-color);flex:1;overflow-y:auto}.pane-header{background:var(--card-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:40px;display:flex}.profile-hero{align-items:center;gap:24px;display:flex}.hero-avatar{background:linear-gradient(135deg, var(--primary), #8b5cf6);color:#fff;width:80px;height:80px;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;font-size:32px;font-weight:700;display:flex}.hero-text h2{margin-bottom:8px;font-size:28px;font-weight:700}.hero-text p{color:var(--text-muted);font-size:15px}.quick-actions{gap:12px;display:flex}.action-icn{cursor:pointer;width:48px;height:48px;box-shadow:var(--shadow-sm);background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.action-icn:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.action-icn.green{color:var(--success)}.action-icn.blue{color:var(--primary)}.action-icn.dark{color:var(--text-main)}.tabs-nav{background:var(--card-bg);border-bottom:1px solid var(--border);padding:0 40px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:20px 24px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.tab-btn:hover{color:var(--text-main);background:var(--bg-color)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-btn ion-icon{font-size:18px}.tab-content{padding:40px;animation:.3s fadeIn}.form-grid{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:1fr 1fr;gap:24px;padding:32px;display:grid}.input-group{flex-direction:column;gap:8px;display:flex}.input-group.full-width{grid-column:1/-1}.input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.input-field{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-color);color:var(--text-main);transition:var(--transition);outline:none;padding:12px 16px;font-family:inherit;font-size:15px}.input-field:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #3b82f61a}.medical-tab{flex-direction:column;gap:32px;display:flex}.alert-box{border-radius:var(--radius-md);align-items:flex-start;gap:16px;padding:20px;display:flex}.alert-box.warning{border-left:4px solid var(--danger);color:#b91c1c;background:#ef44441a}.alert-box ion-icon{color:var(--danger);font-size:24px}.split-medical{grid-template-columns:1fr 1fr;gap:24px;display:grid}.med-box{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:32px}.med-box h3{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:12px;font-size:16px}.checkbox-wrap{cursor:pointer;align-items:center;gap:12px;margin-bottom:12px;font-size:15px;display:flex}.textarea-field{border:1px solid var(--border);border-radius:var(--radius-md);resize:vertical;outline:none;width:100%;min-height:100px;margin-top:16px;padding:12px;font-family:inherit;font-size:14px}.textarea-field:focus{border-color:var(--primary)}.fin-stats{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px;display:grid}.fin-card{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;border:1px solid #0000;padding:32px}.fin-card.border-danger{border-color:#ef44444d}.fin-card h4{color:var(--text-muted);text-transform:uppercase;margin-bottom:12px;font-size:14px}.fin-card p{font-size:32px;font-weight:700}.text-success p{color:var(--success)}.text-danger p{color:var(--danger)}.transactions-table{border-collapse:collapse;background:var(--card-bg);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.transactions-table th,.transactions-table td{text-align:left;border-bottom:1px solid var(--border);padding:16px 24px}.transactions-table th{color:var(--text-muted);text-transform:uppercase;background:#f3f5f880;font-size:13px;font-weight:600}.transactions-table tr:last-child td{border-bottom:none}.mt-4{margin-top:24px}.mb-2{margin-bottom:12px}.mt-2{margin-top:12px}.w-full{width:calc(100% - 32px)}.calendar-module{background:var(--bg-color);flex-direction:column;height:calc(100vh - 100px);padding:40px;display:flex;overflow:hidden}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.cal-controls{align-items:center;gap:16px;display:flex}.cal-controls .btn-icon{border:1px solid var(--border);cursor:pointer;width:36px;height:36px;transition:var(--transition);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.cal-controls .btn-icon:hover{background:var(--bg-color)}.current-week{text-align:center;min-width:280px;font-size:20px;font-weight:600}.btn-today{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:#fff;padding:8px 16px;font-weight:500}.view-toggles{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;align-items:center;gap:4px;padding:4px;display:flex}.toggle-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:8px 16px;font-size:14px;font-weight:500}.toggle-btn.active{color:var(--primary);background:#3b82f61a}.new-apt-btn{align-items:center;gap:8px;margin-left:16px;display:flex}.calendar-grid-container{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);flex:1;position:relative;overflow-y:auto}.timetable{grid-template-columns:70px repeat(5,1fr);grid-auto-rows:60px;min-width:800px;display:grid;position:relative}.time-header-corner{border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--card-bg);z-index:2;height:50px;position:sticky;top:0}.day-header{text-align:center;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--card-bg);z-index:2;height:50px;padding:16px;font-weight:600;position:sticky;top:0}.time-label{text-align:right;color:var(--text-muted);padding-right:12px;font-size:12px;font-weight:500;position:relative;transform:translateY(-8px)}.time-label.half-hour{color:#0000}.grid-cell{border-top:1px solid var(--border);border-right:1px solid var(--border);height:60px}.grid-cell.half-cell{border-top:1px dashed var(--border)}.appointment-block{border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-md);z-index:3;cursor:pointer;border-left:4px solid #0003;padding:8px 12px;font-size:13px;transition:transform .2s;position:absolute;overflow:hidden}.appointment-block:hover{z-index:4;transform:scale(1.02)}.apt-header{margin-bottom:4px;font-size:14px}.apt-body{opacity:.9;font-size:12px}.bg-blue{background-color:#3b82f6}.bg-yellow{background-color:#f59e0b}.bg-green{background-color:#10b981}.bg-red{background-color:#ef4444}.bg-gray{background-color:#64748b}:root{--font-family:"Inter", sans-serif;--bg-color:#f7f9fc;--header-bg:#fff;--card-bg:#fff;--text-main:#1f2937;--text-muted:#6b7280;--primary:#0ea5e9;--primary-hover:#0284c7;--primary-light:#e0f2fe;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--border:#e5e7eb;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000a, 0 4px 6px -2px #00000005;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--transition:all .25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;width:100%;max-width:1600px;margin:0 auto;display:flex}.top-header{background:var(--header-bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:50;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;max-width:1600px;height:80px;margin:0 auto;padding:0 40px;display:flex}.brand{color:var(--text-main);letter-spacing:-.5px;align-items:center;gap:12px;font-size:22px;font-weight:700;display:flex}.brand ion-icon{color:var(--primary);background:var(--primary-light);border-radius:8px;padding:4px;font-size:32px}.top-nav{gap:24px;height:100%;display:flex}.nav-item{color:var(--text-muted);transition:var(--transition);cursor:pointer;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:0 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--primary)}.nav-item.active{color:var(--primary);border-bottom-color:var(--primary)}.nav-item ion-icon{font-size:20px}.header-actions{align-items:center;gap:20px;display:flex}.search-box{align-items:center;display:flex;position:relative}.search-box ion-icon{color:var(--text-muted);font-size:18px;position:absolute;left:14px}.search-box input{border:1px solid var(--border);border-radius:var(--radius-full);background-color:var(--bg-color);color:var(--text-main);width:220px;transition:var(--transition);outline:none;padding:10px 16px 10px 42px;font-family:inherit;font-size:14px}.search-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:#fff;width:280px}.icon-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:8px;font-size:20px;display:flex;position:relative}.icon-btn:hover{color:var(--primary);border-color:var(--primary);background-color:var(--primary-light)}.badge{background-color:var(--danger);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:0;right:0}.user-profile{cursor:pointer;border-left:1px solid var(--border);align-items:center;gap:12px;padding-left:12px;display:flex}.avatar{background-color:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.user-info h4{font-size:14px;font-weight:600;line-height:1.2}.user-info p{color:var(--text-muted);font-size:12px}.page-title-banner{background:var(--bg-color);padding:32px 40px}.page-title-banner h1{color:var(--text-main);letter-spacing:-.5px;font-size:28px;font-weight:700}.page-title-banner p{color:var(--text-muted);margin-top:6px;font-size:15px}.fade-in{animation:.4s ease-out fadeIn}.dashboard,.patients-module,.calendar-module{width:100%;max-width:1600px;margin:0 auto}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 20px;font-weight:600;transition:background .2s}.btn-primary:hover{background:var(--primary-hover)}@media (width<=768px){.landing-nav{flex-direction:column!important;gap:16px!important;padding:16px 20px!important}.landing-nav-links{flex-direction:column!important;gap:12px!important;width:100%!important}.landing-nav-links a,.landing-nav-links button{text-align:center!important;width:100%!important;margin:0!important}.landing-hero{margin-top:32px!important;padding:0 20px!important}.landing-title{font-size:36px!important}.landing-subtitle{font-size:18px!important}.landing-hero-buttons{flex-direction:column!important;gap:16px!important;width:100%!important}.landing-hero-buttons button{width:100%!important}.landing-section{padding:40px 20px!important}.landing-h2{font-size:28px!important}.landing-app-buttons{width:100%;flex-direction:column!important}.landing-app-buttons button{width:100%!important;margin:0!important}.landing-pricing-grid{align-items:center;flex-direction:column!important;gap:20px!important}.pricing-card{width:100%!important;transform:none!important}.landing-footer{text-align:center;flex-direction:column!important;gap:16px!important;padding:20px!important}.landing-mockup{height:250px!important;margin-top:40px!important}}
