code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.form-input{border:2px solid #ddd;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.autocomplete-dropdown{border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-height:300px;transform:translateZ(0);will-change:transform;z-index:9999}.autocomplete-loading{color:#6c757d;font-style:italic;padding:16px}.autocomplete-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin:8px;padding:16px;transition:all .3s ease}.autocomplete-item:hover{background:#f8f9fa;border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.autocomplete-create-new{background:#e8f5e8;border:1px solid #28a745;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;margin:8px;padding:12px;transition:all .3s ease}.autocomplete-create-new:hover{background:#d4edda;border-color:#1e7e34;box-shadow:0 4px 12px #28a74526;transform:translateY(-2px)}.create-new-text{color:#155724;font-size:16px;font-weight:600;margin-bottom:4px}.create-new-subtext{color:#6c757d;font-size:14px}.autocomplete-no-results{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;margin:8px;padding:20px}@media (max-width:768px){.autocomplete-create-new,.autocomplete-item{margin:6px;padding:10px}.create-new-text{font-size:15px}.create-new-subtext{font-size:13px}}.referral-form-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:40px 20px}.form-header{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:0 auto 40px;max-width:800px;padding:40px;text-align:center}.form-header h1{color:#2c3e50;font-size:32px;font-weight:600;margin:0 0 8px}.form-header p{color:#6c757d;font-size:16px;margin:0}.referral-form{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:800px;overflow:hidden}.form-section{border-bottom:1px solid #e9ecef;padding:32px}.form-section:last-child{border-bottom:none}.form-section h3{border-bottom:2px solid #4a90e2;color:#2c3e50;font-size:20px;margin:0 0 24px;padding-bottom:8px}.referral-form-container .form-row{margin-bottom:16px}.form-group input,.form-group select,.form-group textarea{border:1px solid #dee2e6;font-family:inherit;padding:12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}.message{border-radius:6px;font-weight:500;margin-bottom:24px;padding:16px}.treatment-group{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;padding:20px}.treatment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.treatment-header h4{color:#2c3e50;font-size:16px;margin:0}.remove-treatment-btn{background-color:#dc3545;border-radius:4px;color:#fff;font-size:12px;padding:6px 12px}.remove-treatment-btn:hover{background-color:#c82333}.add-treatment-btn{background-color:#28a745;border-radius:6px;color:#fff;font-size:14px;font-weight:500;margin-top:8px;padding:12px 24px}.add-treatment-btn:hover{background-color:#218838}.file-help{color:#6c757d;display:block;font-size:12px;margin-top:4px}.selected-files{border-radius:4px;margin-top:12px;padding:12px}.selected-files p{margin:0 0 8px}.selected-files ul{margin:0;padding-left:20px}.selected-files li{color:#6c757d;font-size:13px;margin-bottom:4px}.submit-section{background-color:#f8f9fa;padding:32px;text-align:center}.submit-btn{min-width:200px;transition:all .3s}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2968a3);box-shadow:0 4px 12px #4a90e24d;transform:translateY(-2px)}.file-drop-zone{background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;cursor:pointer;padding:40px 20px;position:relative;text-align:center;transition:all .3s ease}.file-drop-zone:hover{background-color:#f0f7ff;border-color:#4a90e2}.file-drop-zone.drag-active{background-color:#e3f2fd;border-color:#4a90e2;transform:scale(1.02)}.drop-zone-content{pointer-events:none}.drop-zone-icon{font-size:48px;margin-bottom:16px;opacity:.6}.drop-zone-text{color:#2c3e50;font-size:16px;margin:0 0 8px}.drop-zone-text strong{color:#4a90e2}.drop-zone-subtext{color:#6c757d;font-size:14px;margin:0 0 20px}.file-input-hidden{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.browse-btn,.file-input-hidden{cursor:pointer;pointer-events:all}.browse-btn{background-color:#4a90e2;border-radius:6px;color:#fff;display:inline-block;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.browse-btn:hover{background-color:#357abd}.selected-files{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.selected-files p{color:#2c3e50;font-size:14px;font-weight:500;margin:0 0 16px}.file-list{display:flex;flex-direction:column;gap:8px}.file-item{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;padding:12px;transition:all .2s}.file-item:hover{border-color:#4a90e2;box-shadow:0 2px 4px #4a90e21a}.file-info{display:flex;flex:1 1;flex-direction:column}.file-name{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:2px}.file-size{color:#6c757d;font-size:12px}.remove-file-btn{align-items:center;background-color:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;line-height:1;margin-left:12px;transition:all .2s;width:24px}.remove-file-btn:hover{background-color:#c82333;transform:scale(1.1)}@media (max-width:768px){.file-drop-zone{padding:30px 15px}.drop-zone-icon{font-size:36px;margin-bottom:12px}.drop-zone-text{font-size:14px}.drop-zone-subtext{font-size:12px}.file-info{align-items:center;flex-direction:row;gap:8px}.file-size{margin-left:auto}.referral-form-container{padding:20px 10px}.form-header{margin-bottom:20px;padding:24px 20px}.form-header h1{font-size:24px}.form-header h2{font-size:20px}.form-section{padding:20px}.form-row{gap:0;grid-template-columns:1fr}.treatment-header{align-items:flex-start;flex-direction:column;gap:12px}.submit-btn{padding:14px;width:100%}}@media (max-width:480px){.form-header h1{font-size:20px}.form-header h2,.form-section h3{font-size:18px}}@media print{.referral-form-container{background:#fff;padding:0}.form-header,.referral-form{border:1px solid #ccc;box-shadow:none}.add-treatment-btn,.remove-treatment-btn,.submit-section{display:none}}.doctor-input-wrapper{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;position:relative;transition:border-color .2s,box-shadow .2s}.doctor-input-wrapper:focus-within{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.doctor-input-wrapper.error{border-color:#dc3545}.doctor-prefix{background-color:#f8f9fa;border-radius:6px 0 0 6px;border-right:1px solid #e9ecef;color:#6c757d;font-size:14px;font-weight:500;min-width:40px;padding:12px 0 12px 12px;text-align:center}.doctor-input-wrapper .autocomplete-container{border:none;flex:1 1}.doctor-input-wrapper .autocomplete-container input{border:none;border-radius:0 6px 6px 0;margin:0}.doctor-input-wrapper .autocomplete-container input:focus{border:none;box-shadow:none}.doctor-input-wrapper .autocomplete-dropdown{border-radius:0 0 6px 6px;border-top:none;left:0;margin-left:0;right:0}.form-header h2{color:#4a90e2;font-size:24px;font-weight:400;margin:0 0 12px}.appointment-form .form-section h3{border-bottom:2px solid #4a90e2;color:#2c3e50;font-size:20px;margin:0 0 24px;padding-bottom:8px}.form-group textarea{border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:14px;min-height:100px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-group textarea.error{border-color:#dc3545}.submit-btn{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:8px;box-shadow:0 4px 12px #4a90e24d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 48px;transition:all .3s ease}.submit-btn:hover{background:linear-gradient(135deg,#357abd,#2968a3);box-shadow:0 6px 20px #4a90e266;transform:translateY(-2px)}.submit-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-left:4px solid #28a745;border-radius:8px;color:#155724}.error-message,.success-message{font-weight:500;margin-bottom:24px;padding:16px}.error-message{background-color:#f8d7da;border-radius:8px}.form-group select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23666' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-group select.error{border-color:#dc3545}select[name=painSeverity] option[value=no-pain]{background-color:#d4edda}select[name=painSeverity] option[value=mild]{background-color:#fff3cd}select[name=painSeverity] option[value=moderate]{background-color:#ffeaa7}select[name=painSeverity] option[value=severe]{background-color:#fdcb6e}select[name=painSeverity] option[value=extreme]{background-color:#e17055;color:#fff}select[name=preferredTimeframe] option[value=asap]{background-color:#f8d7da;font-weight:700}.appointment-form .form-section{border-bottom:1px solid #e9ecef;padding:32px}.appointment-form .form-section:last-child{border-bottom:none}@media (max-width:768px){.appointment-form .form-row{flex-direction:column;gap:0}.appointment-form .submit-btn{padding:14px;width:100%}}@media (max-width:480px){.form-header h1{font-size:20px}.appointment-form .form-section h3,.form-header h2{font-size:18px}}.login-container,.mfa-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-card,.mfa-enrollment-container{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:40px;width:100%}.login-card h2,.mfa-enrollment-container h2{color:#2c3e50;font-size:24px;margin-bottom:8px;text-align:center}.mfa-enrollment-container .subtitle{color:#7f8c8d;font-size:16px;font-weight:400;margin-bottom:24px;text-align:center}.email-verification-section{margin-bottom:20px}.email-verification-alert{background-color:#e8f4fd;border:1px solid #bee3f8;border-radius:6px;margin-bottom:20px;padding:20px}.email-verification-alert h3{color:#2b6cb0;font-size:18px;margin-bottom:10px;margin-top:0;text-align:left}.email-verification-alert p{color:#4a5568;margin-bottom:12px;text-align:left}.verification-instructions{margin-top:15px}.mfa-enrollment-form,.mfa-success,.mfa-verification-form{margin-top:20px}.form-buttons{display:flex;justify-content:space-between;margin-top:15px}.login-card h3{font-size:18px;font-weight:400;margin-bottom:32px}.login-card h3,.login-card p{color:#7f8c8d;text-align:center}.login-card p,.success-message{margin-bottom:20px}.success-message{background-color:#d5f5e3;color:#27ae60;font-size:14px;padding:10px;text-align:center}.form-group input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#764ba2;outline:none}.error-message{background-color:#fadbd8;color:#e74c3c;margin-bottom:20px;text-align:center}.login-btn,.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:background .3s ease;width:100%}.login-btn:hover:not(:disabled),.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#667eea)}.login-btn:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.7}.cancel-btn,.secondary-button{background:#fff;border:1px solid #764ba2;border-radius:6px;color:#764ba2;cursor:pointer;font-size:16px;font-weight:600;margin-top:12px;padding:14px;transition:background .3s ease;width:100%}.cancel-btn:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:#f8f9fa}.cancel-btn:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.7}.form-buttons .primary-button,.form-buttons .secondary-button{flex:1 1;margin:0 5px}.form-buttons .secondary-button{margin-left:0}.form-buttons .primary-button{margin-right:0}.mfa-success p{color:#2c3e50;font-size:15px;margin-bottom:12px;text-align:center}#recaptcha-container{margin:15px 0}.hipaa-notice{background-color:#e8f4fd;border:1px solid #bee3f8;border-radius:6px;color:#2b6cb0;font-size:12px;margin-bottom:20px;padding:10px;text-align:center}.form-group small{color:#6b7280;display:block;font-size:12px;margin-top:4px}.login-card p,.phone-display{color:#4b5563;font-size:14px;margin-bottom:16px}.phone-display{background-color:#f3f4f6;border-radius:4px;padding:8px;text-align:center}.secondary-button{background:#fff;border:1px solid #4f46e5;border-radius:6px;color:#4f46e5;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:10px;padding:12px;transition:background .3s ease;width:100%}.secondary-button:hover:not(:disabled){background:#f8f9fa}.secondary-button:disabled{cursor:not-allowed;opacity:.7}body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;padding:env(safe-area-inset-top) 0 0}.App{min-height:100vh}button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;width:100%}input[type=checkbox],input[type=radio]{flex-shrink:0;margin:0 8px 0 0;padding:0;width:auto}input:focus,select:focus,textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-group{margin-bottom:16px}.form-group label{color:#333}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;margin-bottom:16px;padding:12px}.success-message{background-color:#efe;border:1px solid #cfc;border-radius:6px;color:#3c3;margin-bottom:16px;padding:12px}.autocomplete-container{position:relative;width:100%}.autocomplete-dropdown{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-item{border-bottom:1px solid #eee;cursor:pointer;padding:12px}.autocomplete-item:hover{background-color:#f5f5f5}.autocomplete-item:last-child{border-bottom:none}.autocomplete-loading{color:#666;padding:12px;text-align:center}.autocomplete-no-results{color:#888;font-style:italic;padding:12px;text-align:center}@media (max-width:768px){body{padding-top:max(env(safe-area-inset-top),0px)}.app-header{top:env(safe-area-inset-top,0)}.dashboard-body,.main-content{margin-top:57px}.sidebar-toggle-fixed{top:calc(57px + env(safe-area-inset-top, 0))}.sidebar{top:calc(107px + env(safe-area-inset-top, 0))}.App,body,html{overflow-x:hidden}}.history-viewer{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;max-height:300px;overflow-y:auto;padding:20px}.history-viewer h4{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.history-timeline{display:flex;flex-direction:column;gap:12px}.history-entry{align-items:flex-start;display:flex;gap:12px;padding:8px 0}.history-entry:not(:last-child){border-bottom:1px solid #f8f9fa;padding-bottom:12px}.history-icon{align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;height:24px;justify-content:center;width:24px}.history-entry.received .history-icon{background-color:#e8f5e8;border-color:#28a745}.history-entry.marked_read .history-icon{background-color:#e3f2fd;border-color:#1976d2}.history-entry.marked_unread .history-icon{background-color:#fff3e0;border-color:#f57c00}.history-entry.tag_added .history-icon{background-color:#f3e5f5;border-color:#7b1fa2}.history-entry.tag_removed .history-icon{background-color:#ffebee;border-color:#d32f2f}.history-content{flex:1 1;min-width:0}.history-action{color:#2c3e50;font-size:14px;font-weight:500;line-height:1.3;margin-bottom:2px}.history-timestamp{color:#6c757d;font-size:12px;line-height:1.2}.history-viewer::-webkit-scrollbar{width:6px}.history-viewer::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.history-viewer::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.history-viewer::-webkit-scrollbar-thumb:hover{background:#adb5bd}@media (max-width:768px){.history-viewer{margin-bottom:16px;padding:16px}.history-entry,.history-timeline{gap:10px}.history-icon{font-size:10px;height:20px;width:20px}.history-action{font-size:13px}.history-timestamp{font-size:11px}}@media (max-width:480px){.history-viewer{padding:12px}.history-viewer h4{font-size:14px}.history-action{font-size:12px}.history-timestamp{font-size:10px}}.referral-item{background:#f8f9fa;border:1px solid #e9ecef;border-left:4px solid #4a90e2;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:12px;overflow:hidden;transition:all .2s ease}.referral-item:hover{background:#f1f3f4;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.referral-item:last-child{margin-bottom:12px}.referral-date{color:#adb5bd;font-size:12px;white-space:nowrap}.status-indicators{align-items:center;display:flex;gap:8px}.unread-badge{border-radius:8px;font-size:10px;padding:2px 6px}.tags{gap:4px}.tag{border-radius:8px;font-size:10px;padding:2px 6px}.expand-icon{margin-left:4px}@media (max-width:768px){.bottom-row,.top-row{align-items:flex-start;flex-direction:column;gap:8px}.tooth-pills{justify-content:flex-start;margin:0;order:2}.top-row .referral-date{align-self:flex-end;order:3}.bottom-row .status-indicators{justify-content:flex-start;width:100%}}.referral-summary h3{color:#2c3e50;font-size:18px;font-weight:500;margin:0 0 8px}.referral-summary h3.unread-text{color:#1976d2;font-weight:700}.referral-summary p{color:#6c757d;font-size:14px;margin:4px 0}.referral-date{color:#adb5bd!important;font-size:12px!important}.referral-status{align-items:center;display:flex;gap:12px}.unread-badge{background-color:#28a745;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{border-radius:12px;font-size:11px;font-weight:500;padding:3px 8px}.tag-reviewed{background-color:#e3f2fd;color:#1976d2}.tag-contacted{background-color:#f3e5f5;color:#7b1fa2}.tag-scheduled{background-color:#e8f5e8;color:#388e3c}.tag-refused{background-color:#ffebee;color:#d32f2f}.tag-follow-up{background-color:#fff3e0;color:#f57c00}.expand-icon{color:#6c757d;font-size:12px;margin-left:8px}.referral-details{background-color:#fafbfc;border-top:1px solid #f1f3f4;padding:0 24px 24px}.referral-actions-top{gap:12px;margin-bottom:20px}.read-toggle-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.read-toggle-btn:hover{border-color:#4a90e2;color:#4a90e2}.read-toggle-btn.mark-read{border-color:#28a745;color:#28a745}.read-toggle-btn.mark-unread{border-color:#ffc107;color:#856404}.history-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.history-btn:hover{border-color:#6f42c1;color:#6f42c1}.create-patient-btn{background:#d1fae5;border:1px solid #10b981;border-radius:4px;color:#059669;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.create-patient-btn:hover:not(:disabled){background:#10b981;color:#fff}.create-patient-btn:disabled{cursor:not-allowed;opacity:.6}.patient-linked-badge{background:#dbeafe;border-radius:4px;color:#1d4ed8;font-size:11px;font-weight:500;padding:4px 10px}.patient-linked-badge.clickable{cursor:pointer;transition:all .2s}.patient-linked-badge.clickable:hover{background:#bfdbfe;text-decoration:underline}.patient-message{border-radius:4px;font-size:11px;font-weight:500;max-width:200px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;white-space:nowrap}.patient-message-success{background:#d1fae5;color:#059669}.patient-message-info{background:#e0f2fe;color:#0284c7}.patient-error-msg,.patient-message-error{background:#fef3c7;color:#d97706}.patient-error-msg{border-radius:4px;font-size:11px;max-width:200px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;white-space:nowrap}.referral-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}.attachments-row{margin-top:20px;width:100%}.info-section h4{border-bottom:2px solid #4a90e2;color:#2c3e50;font-size:16px;margin:0 0 12px;padding-bottom:4px}.info-section p{color:#495057;font-size:14px;margin:6px 0}.treatment-item{background-color:#fff;border-left:3px solid #4a90e2;margin-bottom:8px}.attachment-section h4{color:#2c3e50;font-size:14px;font-weight:600;margin:0 0 12px}.attachment-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:12px}.attachment-thumbnail{cursor:pointer;display:flex;flex-direction:column;height:90px;justify-content:space-between;padding:6px;text-align:center}.attachment-item,.attachment-thumbnail{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;transition:all .2s}.attachment-item{overflow:hidden}.attachment-item:hover{border-color:#4a90e2;box-shadow:0 2px 8px #4a90e21a}.image-attachment{cursor:pointer;display:flex;flex-direction:column}.attachment-thumbnail:hover{transform:scale(1.05)}.file-attachment{align-items:center;display:flex;height:100%;min-height:80px;padding:12px}.file-attachment,.file-attachment:hover{color:inherit;text-decoration:none}.file-icon{font-size:32px;margin-right:12px;opacity:.7}.attachment-info{flex:1 1;padding:8px 12px}.attachment-name{color:#2c3e50;display:block;font-size:12px;font-weight:500;line-height:1.3;margin-bottom:4px;word-break:break-word}.attachment-size{color:#6c757d;display:block;font-size:10px}.image-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000c;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:9999}.image-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.image-modal-close{align-items:center;background-color:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .2s;width:32px;z-index:1}.image-modal-close:hover{background-color:#000000e6;transform:scale(1.1)}.image-modal-img{display:block;max-height:70vh;max-width:100%;object-fit:contain}.image-modal-info{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:16px 20px}.image-modal-info h4{color:#2c3e50;font-size:14px;margin:0 0 8px;word-break:break-word}.image-modal-info p{color:#6c757d;font-size:12px;margin:0 0 12px}.download-link{background-color:#4a90e2;border-radius:4px;color:#fff;display:inline-block;font-size:12px;padding:6px 12px;text-decoration:none;transition:background-color .2s}.download-link:hover{background-color:#357abd;color:#fff;text-decoration:none}.referral-actions{grid-gap:24px;border-top:1px solid #dee2e6;display:grid;gap:24px;grid-template-columns:1fr 1fr;padding-top:16px}.notes-section h4,.tag-controls h4{color:#2c3e50;font-size:14px;font-weight:600;margin:0 0 12px}.tag-buttons{display:flex;flex-wrap:wrap;gap:6px}.tag-btn{background-color:#fff;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.tag-btn.active{background-color:#4a90e2;border-color:#4a90e2;color:#fff}.tag-btn:hover:not(.active){border-color:#4a90e2;color:#4a90e2}.internal-note{align-items:flex-start;background-color:#fff;border-left:3px solid #28a745;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px}.note-content{flex:1 1}.note-content p{color:#2c3e50;font-size:14px;margin:0 0 6px}.note-content small{color:#6c757d;font-size:11px}.delete-note-btn{align-items:center;background-color:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:24px;justify-content:center;line-height:1;margin-left:12px;transition:background-color .2s;width:24px}.delete-note-btn:hover{background-color:#c82333}.internal-note p{color:#2c3e50;font-size:14px;margin:0 0 6px}.internal-note small{color:#6c757d;font-size:11px}.add-note-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px;transition:background-color .2s}.add-note-btn:hover{background-color:#218838}.add-note textarea{border:1px solid #dee2e6;border-radius:4px;font-family:inherit;font-size:14px;margin-bottom:8px;min-height:80px;padding:8px;resize:vertical;width:100%}.add-note textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.note-buttons{display:flex;gap:8px}.note-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s}.note-buttons button:first-child{background-color:#28a745;color:#fff}.note-buttons button:first-child:hover{background-color:#218838}.note-buttons button:last-child{background-color:#6c757d;color:#fff}.note-buttons button:last-child:hover{background-color:#5a6268}.export-btn{background-color:#28a745;border-radius:4px;font-size:14px;margin-left:10px;padding:8px 16px}.export-btn:hover{background-color:#218838}.referral-actions-top{gap:10px;margin-bottom:15px}@media (max-width:768px){.referral-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.referral-details{padding:0 16px 16px}.referral-actions-top{flex-wrap:wrap;gap:8px}.referral-actions,.referral-info{grid-template-columns:1fr}.tag-buttons{gap:4px}.attachment-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.attachment-thumbnail{height:80px}.image-modal{margin:10px;max-height:95vh;max-width:95vw}.image-modal-img{max-height:60vh}.image-modal-info{padding:12px 16px}}@media (max-width:480px){.referral-summary h3{font-size:16px}.referral-summary p{font-size:13px}.referral-actions-top{flex-direction:column}.history-btn,.read-toggle-btn{text-align:center;width:100%}.attachment-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.attachment-thumbnail{height:60px}.attachment-name{font-size:11px}.attachment-size{font-size:9px}.file-icon{font-size:24px}}.form-row .form-group .autocomplete-container,.form-row .form-group .autocomplete-container input,.form-row .form-group .doctor-input-wrapper,.form-row .form-group .doctor-input-wrapper .autocomplete-container,.form-row .form-group .doctor-input-wrapper .autocomplete-container input{width:100%}.form-row .form-group .doctor-input-wrapper,.form-row .form-group input,.form-row .form-group select{box-sizing:border-box;width:100%}.treatment-item{background-color:#f8f9fa;border-radius:6px;margin-bottom:16px;padding:12px}.restoration-type-row,.treatment-type-row{align-items:center;display:flex;gap:8px}.restoration-type-row .restoration-pill,.treatment-type-row .treatment-pill{border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.5px;margin-left:8px;padding:4px 8px;text-transform:uppercase}.gmail-style-layout{display:flex;flex-direction:column;gap:8px;padding:16px 24px}.top-row{gap:16px;min-height:36px}.bottom-row,.top-row{align-items:center;display:flex;justify-content:space-between}.status-and-name{align-items:center;display:flex;flex-shrink:0;gap:12px}.top-row .patient-name{color:#2c3e50;font-size:16px;font-weight:600}.top-row .patient-name.unread-text{color:#1976d2;font-weight:700}.time-and-date{align-items:center;display:flex;flex-shrink:0;gap:12px}.referral-item.archived{background:#f5f5f5;opacity:.7}.referral-item.archived:hover{opacity:.85}.status-change-section{align-items:center;border-bottom:1px solid #e9ecef;display:flex;gap:12px;margin-bottom:16px;padding:12px 0}.status-change-section .section-label{color:#6c757d;font-size:13px;font-weight:500}.attempt-info{color:#ff9800;font-size:12px;font-weight:500}.referral-actions-top{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;padding-top:16px}.action-buttons-right{align-items:center;gap:8px}.note-item{background-color:#f8f9fa;border-left:3px solid #28a745;border-radius:6px;margin-bottom:8px;padding:12px}.note-text{color:#2c3e50;font-size:14px;margin:0 0 6px}.note-timestamp{color:#6c757d;font-size:11px}.add-note-form{margin-top:12px}.note-textarea{border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:14px;margin-bottom:8px;min-height:80px;padding:10px;resize:vertical;width:100%}.note-textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e226;outline:none}.note-form-actions{display:flex;gap:8px}.save-note-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px}.save-note-btn:hover{background-color:#218838}.cancel-note-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px}.cancel-note-btn:hover{background-color:#5a6268}.tooth-pills{align-items:center;gap:6px;justify-content:center}.tooth-pill{flex-shrink:0;font-size:11px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.top-row .referral-date{color:#6c757d;font-size:12px;justify-self:end;white-space:nowrap}.office-doctor-info{color:#6c757d;flex-shrink:0;font-size:13px}.bottom-row .status-indicators{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:flex-end}.bottom-row .expand-icon{color:#6c757d;flex-shrink:0;font-size:14px;margin-left:8px}.status-badge{border:1px solid;border-radius:16px;letter-spacing:.5px;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.status-badge-small{border-radius:10px;font-size:10px;padding:2px 6px}.status-badge-small .status-icon{font-size:10px}.status-badge-medium{border-radius:14px;font-size:11px;padding:4px 10px}.status-badge-medium .status-icon{font-size:12px}.status-badge-large{border-radius:18px;font-size:13px;padding:6px 14px}.status-badge-large .status-icon{font-size:14px}.status-badge.clickable{cursor:pointer}.status-badge.clickable:hover{box-shadow:0 2px 4px #0000001a;filter:brightness(.95);transform:translateY(-1px)}.status-badge.clickable:active{transform:translateY(0)}.status-icon{align-items:center;display:inline-flex;justify-content:center}.status-label{line-height:1}.attempt-count{background-color:#00000026;border-radius:8px;font-size:9px;margin-left:2px;padding:1px 4px}.dropdown-arrow{font-size:8px;margin-left:2px;opacity:.7}@media (max-width:768px){.status-badge-medium{font-size:10px;padding:3px 8px}.status-badge-large{font-size:11px;padding:4px 10px}}.time-in-status{align-items:center;display:inline-flex;font-weight:500;gap:4px;white-space:nowrap}.time-in-status-small,.time-in-status-small .time-icon{font-size:10px}.time-in-status-medium,.time-in-status-medium .time-icon{font-size:12px}.time-in-status-large,.time-in-status-large .time-icon{font-size:14px}.time-in-status.urgent{animation:urgentPulse 2s ease-in-out infinite}.time-icon{align-items:center;display:inline-flex}.time-prefix{opacity:.8}.time-text{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:768px){.time-in-status-medium{font-size:11px}.time-in-status-large{font-size:12px}}.status-change-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:99999}.status-change-modal{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:calc(100vh - 40px);max-width:420px;min-width:320px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h4{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;transition:all .15s ease;width:32px}.modal-close-btn:hover{background-color:#e9ecef;color:#2c3e50}.current-status-display{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#6c757d;font-size:13px;padding:12px 20px}.current-status-label{color:#6c757d;font-size:12px}.status-options{padding:8px}.status-option{background:none;border:none;padding:12px 16px}.status-option:hover{background-color:var(--status-bg)}.status-option:active{transform:scale(.98)}.status-option:disabled{cursor:not-allowed;opacity:.5}.status-option-icon{align-items:center;background-color:var(--status-bg);border-radius:50%;display:flex;font-size:20px;height:32px;justify-content:center;width:32px}.status-option-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.status-option-label{color:var(--status-color);font-size:14px;font-weight:600}.status-option-desc{color:#6c757d;font-size:11px}.status-option-arrow{color:#adb5bd;font-size:16px;transition:transform .15s ease}.status-option:hover .status-option-arrow{color:var(--status-color);transform:translateX(4px)}.no-transitions{padding:20px;text-align:center}.no-transitions p{color:#6c757d;font-size:14px;margin:0 0 12px}.no-transitions .hint{font-size:12px;font-style:italic}.reopen-btn{background-color:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s}.reopen-btn:hover{background-color:#1976d2}.note-input-section{padding:16px 20px}.selected-status-preview{align-items:center;color:#6c757d;display:flex;font-size:13px;gap:8px;margin-bottom:16px}.new-status-badge{align-items:center;border:1px solid;border-radius:14px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:4px 10px}.note-field{margin-bottom:16px}.note-field label{color:#495057;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.note-field textarea{border:1px solid #dee2e6;border-radius:8px;font-family:inherit;font-size:14px;min-height:80px;padding:10px 12px;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.note-field textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e226;outline:none}.note-field textarea:disabled{background-color:#f8f9fa;cursor:not-allowed}.note-field textarea::placeholder{color:#adb5bd}.cancel-btn{background:none;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.cancel-btn:hover{background-color:#f8f9fa;border-color:#adb5bd}.cancel-btn:disabled{cursor:not-allowed;opacity:.5}.confirm-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:all .2s}.confirm-btn:hover{filter:brightness(.9)}.confirm-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.status-change-overlay{padding:10px}.status-change-modal{max-height:calc(100vh - 20px);max-width:none;min-width:auto;width:100%}.modal-header{padding:14px 16px}.modal-header h4{font-size:16px}.current-status-display{padding:10px 16px}.status-options{padding:6px}.status-option{padding:10px 12px}.note-input-section{padding:14px 16px}.modal-actions{flex-direction:column-reverse;gap:8px}.cancel-btn,.confirm-btn{padding:12px 16px;text-align:center;width:100%}}.status-history{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:16px;padding:16px}.status-history-title{align-items:center;color:#2c3e50;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 12px}.history-count{color:#6c757d;font-size:12px;font-weight:400}.status-history-list{display:flex;flex-direction:column;gap:12px}.status-history-item{background-color:#fff;border-left:3px solid #dee2e6;border-radius:6px;padding:12px}.status-history-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.status-transition{align-items:center;display:flex;font-size:13px;gap:8px}.status-from{font-weight:500}.status-arrow{color:#adb5bd;font-size:14px}.status-to{font-size:12px}.status-timestamp{color:#6c757d;font-size:11px;white-space:nowrap}.status-note{align-items:flex-start;background-color:#fffbeb;border-left:3px solid #f59e0b;border-radius:6px;display:flex;gap:8px;margin-top:10px;padding:10px 12px}.note-icon{flex-shrink:0;font-size:14px}.note-text{color:#495057;font-size:13px;line-height:1.5;word-break:break-word}.status-user{color:#6c757d;font-size:11px;font-style:italic;margin-top:8px}.show-more-btn{background:none;border:1px dashed #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;font-size:12px;margin-top:12px;padding:8px 16px;transition:all .15s ease;width:100%}.show-more-btn:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#495057}@media (max-width:480px){.status-history{padding:12px}.status-history-item{padding:10px}.status-history-header{align-items:flex-start;flex-direction:column}.status-timestamp{margin-top:4px}}.quick-actions{display:flex;flex-wrap:wrap;gap:8px}.quick-actions-horizontal{flex-direction:row}.quick-actions-vertical{flex-direction:column}.quick-actions-small .quick-action-btn{font-size:11px;padding:4px 8px}.quick-actions-small .action-icon{font-size:12px}.quick-actions-medium .quick-action-btn{font-size:12px;padding:6px 12px}.quick-actions-medium .action-icon{font-size:14px}.quick-actions-large .quick-action-btn{font-size:13px;padding:8px 16px}.quick-actions-large .action-icon{font-size:16px}.quick-action-btn{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;text-decoration:none;transition:all .15s ease;white-space:nowrap}.quick-action-btn:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.quick-action-btn:active{transform:translateY(0)}.quick-action-btn.call-patient:hover{background-color:#e8f5e9;border-color:#28a745;color:#28a745}.quick-action-btn.call-office:hover{background-color:#e3f2fd;border-color:#17a2b8;color:#17a2b8}.quick-action-btn.email-office:hover,.quick-action-btn.email-patient:hover{background-color:#f3e5f5;border-color:#6f42c1;color:#6f42c1}.quick-action-btn.add-note:hover{background-color:#fff3cd;border-color:#ffc107;color:#856404}.quick-action-btn.schedule:hover{background-color:#f3e5f5;border-color:#9c27b0;color:#9c27b0}.action-icon{align-items:center;display:inline-flex;justify-content:center}.action-label{font-weight:500}.quick-actions-compact{display:flex;gap:4px}.compact-action{align-items:center;background-color:#f8f9fa;border-radius:50%;display:inline-flex;font-size:14px;height:28px;justify-content:center;text-decoration:none;transition:all .15s ease;width:28px}.compact-action:hover{background-color:#e9ecef;transform:scale(1.1)}@media (max-width:768px){.quick-actions{gap:6px}.quick-action-btn{font-size:11px;padding:6px 10px}.action-label{display:none}.quick-action-btn .action-icon{margin-right:0}}@media (max-width:480px){.quick-actions-horizontal{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.quick-action-btn{flex-shrink:0}}.appointment-request-item{background:#f8f9fa;border:1px solid #e9ecef;border-left:4px solid #17a2b8;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:12px;overflow:hidden;transition:all .2s ease}.appointment-request-item:hover{background:#f1f3f4;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.appointment-request-item:last-child{margin-bottom:12px}.appointment-request-item.archived{background:#f5f5f5;opacity:.7}.appointment-request-item.archived:hover{opacity:.85}.appointment-request-item .gmail-style-layout{display:flex;flex-direction:column;gap:8px;padding:16px 24px}.appointment-request-item .top-row{gap:16px;min-height:36px}.appointment-request-item .bottom-row,.appointment-request-item .top-row{align-items:center;display:flex;justify-content:space-between}.appointment-request-item .status-and-name{align-items:center;display:flex;flex-shrink:0;gap:12px}.appointment-request-item .patient-name{color:#2c3e50;font-size:16px;font-weight:600}.appointment-request-item .patient-name.unread-text{color:#1976d2;font-weight:700}.appointment-request-item .source-badge{align-items:center;background-color:#e3f2fd;border-radius:10px;color:#1565c0;display:inline-flex;font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.appointment-request-item .time-and-date{align-items:center;display:flex;flex-shrink:0;gap:12px}.appointment-request-item .status-change-section{align-items:center;border-bottom:1px solid #e9ecef;display:flex;gap:12px;margin-bottom:16px;padding:12px 0}.appointment-request-item .status-change-section .section-label{color:#6c757d;font-size:13px;font-weight:500}.appointment-request-item .attempt-info{color:#ff9800;font-size:12px;font-weight:500}.appointment-request-item .pain-pills{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.appointment-request-item .pain-pill{border-radius:12px;flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.appointment-request-item .appointment-date{color:#6c757d;font-size:12px;justify-self:end;white-space:nowrap}.appointment-request-item .referring-info{color:#6c757d;flex-shrink:0;font-size:13px}.appointment-request-item .status-indicators{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:flex-end}.appointment-request-item .unread-badge{background-color:#28a745;border-radius:8px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.appointment-request-item .tags{display:flex;gap:4px}.appointment-request-item .tags .tag{border-radius:8px;font-size:10px;font-weight:500;padding:2px 6px}.appointment-request-item .expand-icon{color:#6c757d;flex-shrink:0;font-size:14px;margin-left:8px}.appointment-request-item .appointment-details{background-color:#fafbfc;border-top:1px solid #f1f3f4;padding:0 24px 24px}.appointment-request-item .appointment-actions-top{border-bottom:1px solid #e9ecef;display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px;padding-top:16px}.appointment-request-item .read-toggle-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.appointment-request-item .read-toggle-btn:hover{border-color:#17a2b8;color:#17a2b8}.appointment-request-item .read-toggle-btn.mark-read{border-color:#28a745;color:#28a745}.appointment-request-item .read-toggle-btn.mark-unread{border-color:#ffc107;color:#856404}.appointment-request-item .action-buttons-right{align-items:center;display:flex;gap:8px;margin-left:auto}.appointment-request-item .create-patient-btn{background:#d1fae5;border:1px solid #10b981;border-radius:4px;color:#059669;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.appointment-request-item .create-patient-btn:hover:not(:disabled){background:#10b981;color:#fff}.appointment-request-item .create-patient-btn:disabled{cursor:not-allowed;opacity:.6}.appointment-request-item .patient-linked-badge{background:#dbeafe;border-radius:4px;color:#1d4ed8;font-size:11px;font-weight:500;padding:4px 10px}.appointment-request-item .patient-linked-badge.clickable{cursor:pointer;transition:all .2s}.appointment-request-item .patient-linked-badge.clickable:hover{background:#bfdbfe;text-decoration:underline}.appointment-request-item .patient-message{border-radius:4px;font-size:11px;font-weight:500;max-width:200px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;white-space:nowrap}.appointment-request-item .patient-message-success{background:#d1fae5;color:#059669}.appointment-request-item .patient-message-info{background:#e0f2fe;color:#0284c7}.appointment-request-item .patient-message-error{background:#fef3c7;color:#d97706}.appointment-request-item .patient-error-msg{background:#fef3c7;border-radius:4px;color:#d97706;font-size:11px;max-width:200px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;white-space:nowrap}.appointment-request-item .appointment-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}.appointment-request-item .info-section h4{border-bottom:2px solid #17a2b8;color:#2c3e50;font-size:16px;margin:0 0 12px;padding-bottom:4px}.appointment-request-item .info-section p{color:#495057;font-size:14px;margin:6px 0}.appointment-request-item .pain-assessment{margin-bottom:12px}.appointment-request-item .pain-severity-row,.appointment-request-item .urgency-row{align-items:center;display:flex;gap:12px;margin-bottom:8px}.appointment-request-item .pain-severity-pill,.appointment-request-item .urgency-preference-pill{border-radius:12px;font-size:12px;font-weight:600;min-width:100px;padding:4px 12px;text-align:center}.appointment-request-item .pain-description{margin-top:12px}.appointment-request-item .description-text{background-color:#f8f9fa;border-left:3px solid #17a2b8;border-radius:6px;color:#495057;font-style:italic;margin-top:8px;padding:12px}.appointment-request-item .appointment-actions{grid-gap:24px;border-top:1px solid #dee2e6;display:grid;gap:24px;grid-template-columns:1fr 1fr;padding-top:16px}.appointment-request-item .tag-controls h4{color:#2c3e50;font-size:14px;font-weight:600;margin:0 0 12px}.appointment-request-item .tag-buttons{display:flex;flex-wrap:wrap;gap:6px}.appointment-request-item .no-tags,.appointment-request-item .tags-loading{color:#6c757d;font-style:italic;padding:8px}@media (max-width:768px){.appointment-request-item .bottom-row,.appointment-request-item .top-row{align-items:flex-start;flex-direction:column;gap:8px}.appointment-request-item .pain-pills{justify-content:flex-start;margin:0;order:2}.appointment-request-item .top-row .appointment-date{align-self:flex-end;order:3}.appointment-request-item .bottom-row .status-indicators{justify-content:flex-start;width:100%}.appointment-request-item .appointment-details{padding:0 16px 16px}.appointment-request-item .appointment-actions-top{flex-wrap:wrap;gap:8px}.appointment-request-item .appointment-actions,.appointment-request-item .appointment-info{grid-template-columns:1fr}.appointment-request-item .tag-buttons{gap:4px}}@media (max-width:480px){.appointment-request-item .appointment-actions-top{flex-direction:column}.appointment-request-item .read-toggle-btn{text-align:center;width:100%}}.search-bar{flex:1 1;min-width:300px}.search-input-container{align-items:center;display:flex}.search-icon{color:#6c757d;font-size:16px;left:12px;z-index:1}.search-input{background-color:#f8f9fa;padding:12px 40px;transition:all .2s}.search-input:focus{background-color:#fff;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.search-input::placeholder{color:#6c757d;font-style:italic}.clear-search-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;position:absolute;right:12px;transition:all .2s;width:20px}.clear-search-btn:hover{background-color:#e9ecef;color:#495057}@media (max-width:768px){.search-bar{min-width:0;width:100%}.search-input{font-size:16px;padding:10px 32px}.search-icon,.search-input::placeholder{font-size:14px}.search-icon{left:10px}.clear-search-btn{height:24px;right:10px;width:24px}}@media (max-width:480px){.search-input::placeholder{content:"Search referrals..."}}.date-range-picker{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px}.date-inputs{align-items:flex-end;display:flex;gap:12px}.date-input-group{display:flex;flex-direction:column;gap:4px}.date-input-group label{color:#495057;font-size:12px;font-weight:500}.date-input{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:8px 12px;transition:all .2s;width:140px}.date-input:focus{background-color:#fff;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.clear-dates-btn{align-self:flex-end;background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;transition:background-color .2s;white-space:nowrap}.clear-dates-btn:hover{background-color:#5a6268}@media (max-width:768px){.date-range-picker{justify-content:flex-start;width:100%}.date-inputs{flex-wrap:wrap;gap:8px}.date-input{font-size:16px;width:120px}.clear-dates-btn{align-self:flex-start;margin-top:8px}}@media (max-width:480px){.date-inputs{justify-content:space-between;width:100%}.date-input{width:100px}.date-input-group label{font-size:11px}}.sidebar{background:#fff;border-right:1px solid #e9ecef;box-shadow:2px 0 4px #0000000d;height:calc(100vh - 107px);left:0;overflow-y:auto;position:fixed;top:107px;transform:translateX(0);transition:transform .3s ease;width:280px;z-index:999}.sidebar.sidebar-closed{transform:translateX(-100%)}.sidebar-content{padding:24px 0}.nav-section{margin-bottom:20px;padding:0 12px}.nav-section:first-child{margin-top:8px}.nav-section h3{color:#6c757d;font-size:11px;font-weight:600;letter-spacing:.8px;margin:0 0 8px;padding:0 12px;text-transform:uppercase}.nav-button{border-radius:8px;color:#495057;font-size:13px;margin-bottom:2px;transition:all .15s ease}.nav-button:hover{background:#f8f9fa;color:#2c3e50}.nav-button.active{background:#e3f2fd;color:#1976d2;font-weight:500}.nav-button-content{align-items:center;display:flex;flex:1 1;gap:10px}.nav-icon{font-size:14px;text-align:center;width:20px}.status-indicator{border-radius:50%;flex-shrink:0;height:10px;width:10px}.tag-indicator{border-radius:50%;flex-shrink:0;height:8px;width:8px}.source-icon{font-size:14px;text-align:center;width:20px}.count{color:#6c757d;font-size:12px;font-weight:400}.nav-button.active .count{color:#1976d2}.urgent-badge{animation:urgentPulse 2s ease-in-out infinite;font-size:12px;margin-left:4px}.notification-badge{font-size:10px;font-weight:600;margin-left:6px;min-width:16px}.archived-section{border-top:1px solid #e9ecef;margin-top:12px;padding-top:8px}.archived-header{color:#adb5bd;font-size:10px;font-weight:600;letter-spacing:.5px;margin:0 0 6px 12px;text-transform:uppercase}.nav-button.archived{opacity:.7}.nav-button.archived:hover{opacity:1}.source-type-btn{position:relative}.source-type-btn.active:before{color:#1976d2;content:"✓";font-size:10px;position:absolute;right:8px}.tag-button{padding-left:10px}.loading-tags{color:#6c757d;font-size:12px;font-style:italic}.loading-tags,.no-tags-message{padding:8px 12px}.no-tags-message p{color:#6c757d;font-size:12px;margin:0 0 4px}.no-tags-message .hint{color:#adb5bd;font-size:11px;font-style:italic}@media (max-width:768px){.sidebar{box-shadow:2px 0 8px #00000026;max-width:280px;width:100%}.nav-section{margin-bottom:16px;padding:0 8px}.nav-button{font-size:13px;padding:10px}.nav-section h3{font-size:10px;padding:0 10px}.sidebar:after{background-color:#00000080;content:"";display:none;height:100vh;left:280px;position:fixed;top:0;width:calc(100vw - 280px);z-index:-1}.sidebar:not(.sidebar-closed):after{display:block}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#f1f1f1}.sidebar::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.pipeline-summary-bar{background:#fff;border-bottom:1px solid #e9ecef;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.pipeline-segments{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pipeline-segment{align-items:center;background-color:var(--segment-bg);border:2px solid #0000;border-radius:20px;color:var(--segment-color);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.pipeline-segment:hover{border-color:var(--segment-color);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.pipeline-segment.active{border-color:var(--segment-color);box-shadow:0 0 0 3px var(--segment-bg);font-weight:600}.pipeline-segment:active{transform:translateY(0)}.segment-icon{font-size:14px}.segment-label{font-weight:inherit}.segment-count{font-weight:400;opacity:.8}.segment-urgent{align-items:center;animation:urgentPulse 2s ease-in-out infinite;background-color:#fff3cd;border-radius:10px;color:#856404;display:inline-flex;font-size:10px;font-weight:600;gap:2px;margin-left:4px;padding:2px 6px}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.7}}.pipeline-arrow{color:#adb5bd;font-size:14px;margin:0 2px}.pipeline-divider{color:#dee2e6;font-size:18px;margin:0 8px}.pipeline-summary-stats{align-items:center;display:flex;gap:16px;margin-left:auto;padding-left:16px}.stat-item{align-items:center;display:flex;font-size:13px;gap:4px}.stat-value{color:#2c3e50;font-weight:600}.pipeline-summary-compact{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:none;gap:12px;padding:12px 16px}.pipeline-select{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;color:#2c3e50;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 14px}.pipeline-select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e226;outline:none}.compact-urgent-badge{align-items:center;animation:urgentPulse 2s ease-in-out infinite;background-color:#fff3cd;border-radius:14px;color:#856404;display:inline-flex;font-size:12px;font-weight:600;padding:6px 10px}@media (max-width:992px){.pipeline-summary-bar{padding:10px 16px}.pipeline-segment{font-size:12px;padding:6px 10px}.segment-label{display:none}.pipeline-segment .segment-icon{margin-right:0}.pipeline-summary-stats{display:none}}@media (max-width:768px){.pipeline-summary-bar{display:none}.pipeline-summary-compact{display:flex}}@media (prefers-color-scheme:dark){.pipeline-summary-bar{background:#1e1e1e;border-bottom-color:#333}.pipeline-arrow,.pipeline-divider{color:#555}.stat-label{color:#999}.stat-value{color:#e0e0e0}}.dashboard{background-color:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.header-left{gap:16px}.sidebar-toggle{background:none;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:16px;padding:8px;transition:all .2s}.sidebar-toggle:hover{background-color:#f8f9fa;border-color:#4a90e2}.sidebar-toggle-fixed{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d;display:flex;height:50px;left:0;padding-left:16px;position:fixed;top:57px;transition:all .3s ease;width:280px;z-index:1001}.sidebar-toggle-fixed.sidebar-closed{left:0;width:60px}.sidebar-toggle-fixed .toggle-button{background:none;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:16px;padding:8px;transition:all .2s}.sidebar-toggle-fixed .toggle-button:hover{background-color:#f8f9fa;border-color:#4a90e2}.dashboard-body{display:flex;flex:1 1;overflow:hidden;position:relative}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:280px;margin-top:0;padding-top:0;transition:margin-left .3s ease}.main-content.sidebar-closed{margin-left:0}.search-controls{align-items:flex-start;flex-wrap:wrap;gap:20px;padding:20px 24px}.referrals-header,.search-controls{background:#fff;border-bottom:1px solid #e9ecef;display:flex}.referrals-header{align-items:center;justify-content:space-between;padding:16px 24px}.referrals-header h2{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.results-count{color:#6c757d;font-size:14px}.referrals-list{background:#fff;flex:1 1;overflow-y:auto}.no-referrals{color:#6c757d;padding:60px 20px;text-align:center}.no-referrals p{font-size:16px;margin:0}.search-highlight{background-color:#fff3cd;border-radius:2px;color:#856404;font-weight:500;padding:1px 2px}@media (max-width:768px){.dashboard-header{padding:12px 16px}.dashboard-header h1{font-size:16px}.header-left{gap:12px}.main-content{margin-left:0}.search-controls{flex-direction:column;gap:12px;padding:16px}.referrals-header{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 16px}.referrals-header h2{font-size:16px}.results-count{font-size:12px}}@media (max-width:480px){.dashboard-header h1{display:none}.search-controls{padding:12px}}.nav-button{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:4px;padding:10px 12px;text-align:left;width:100%}.nav-button.active{background:#e6fffa;color:#234e52}.nav-button:hover{background:#f7fafc}.notification-badge{background:#e53e3e;border-radius:10px;color:#fff;font-size:12px;min-width:18px;padding:2px 6px;text-align:center}.source-filter-badge{color:#1565c0;font-size:12px;font-weight:500}@media (max-width:768px){.pipeline-summary-bar{display:none!important}.pipeline-summary-compact{display:flex!important}}@media (min-width:769px){.pipeline-summary-compact{display:none!important}}.validation-queue{margin:0 auto;max-width:900px;padding:20px}.validation-header{margin-bottom:24px}.validation-header h2{color:#2c5282;margin:0 0 8px}.validation-header p{color:#666;margin:0}.no-items{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;padding:40px 20px;text-align:center}.validation-list{display:flex;flex-direction:column;gap:16px}.validation-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.validation-header-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.validation-type{border-radius:16px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.type-new_office{background:#e6fffa;color:#234e52}.type-new_doctor{background:#fef5e7;color:#744210}.type-new_combination{background:#f0f4ff;color:#3c4fe0}.type-doctor_with_new_office{background:#fef5e7;color:#744210}.type-office_contact_changed{background:#e6fffa;color:#234e52}.type-doctor_not_at_office{background:#fff5f5;color:#c53030}.type-office_with_new_doctor{background:#f0fff4;color:#22543d}.type-multiple_issues{background:#fdf2f8;color:#97266d}.validation-date{color:#666;font-size:14px}.flagging-reasons{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-bottom:20px;padding:16px}.flagging-reasons h4{color:#856404;font-size:16px;font-weight:600;margin:0 0 12px}.flagging-reasons ul{list-style-type:disc;margin:0;padding-left:20px}.flagging-reason-group{margin-bottom:8px}.flagging-reason-group strong{color:#856404;font-weight:600}.flagging-reason-group ul{margin-bottom:0;margin-top:4px}.flagging-reason{color:#856404;font-size:14px;line-height:1.5;margin-bottom:4px}.submitted-data,.validation-details{margin-bottom:20px}.submitted-data{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:16px}.submitted-data h4{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.data-row{align-items:flex-start;display:flex;font-size:14px;gap:12px;margin-bottom:12px}.data-row strong{color:#2d3748;display:inline-block;flex-shrink:0;font-weight:600;margin-top:2px;min-width:80px}.data-row span{color:#4a5568;line-height:1.4}.issue-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-bottom:16px;padding:16px}.issue-section h4{border-bottom:1px solid #dee2e6;color:#495057;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.issue-options{display:flex;flex-direction:column;gap:8px}.action-option{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.action-option:hover{background-color:#f8fafc;border-color:#cbd5e0}.action-option input[type=radio]{cursor:pointer;flex-shrink:0;height:18px;margin:4px 0 0;width:18px}.action-option label{cursor:pointer;flex:1 1;margin:0}.option-label{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:4px}.option-description{color:#718096;font-size:13px;line-height:1.4}.action-option:has(input:checked){background-color:#e6fffa;border-color:#4fd1c7}.action-option:has(input:checked) .option-label{color:#234e52}.action-option:has(input:checked) .option-description{color:#2d3748}.custom-office-name{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:4px;margin-top:12px;padding:12px}.custom-office-name label{color:#1e40af;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.custom-office-name input{background:#fff;border:1px solid #cbd5e0;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.custom-office-name input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.preview-section{background:#f0f9ff;border:2px solid #3b82f6;margin-top:20px;padding:16px}.preview-section h4{color:#1e40af;font-size:16px;font-weight:600;margin:0 0 16px}.preview-change{border-left:4px solid;border-radius:6px;margin-bottom:16px;padding:12px}.preview-change.office_update{background:#fef3c7;border-left-color:#f59e0b}.preview-change.office_create{background:#d1fae5;border-left-color:#10b981}.preview-change.office_keep{background:#e0e7ff;border-left-color:#6366f1}.preview-change.relationship_create{background:#fce7f3;border-left-color:#ec4899}.preview-change.relationship_skip{background:#f3f4f6;border-left-color:#6b7280}.change-description{color:#374151;font-size:14px;font-weight:600;margin-bottom:8px}.change-details{list-style-type:disc;margin:0;padding-left:16px}.change-details li{color:#4b5563;font-size:13px;line-height:1.4;margin-bottom:4px}.selection-prompt{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;flex:1 1;font-weight:500;margin-right:12px;padding:12px 16px;text-align:center}.validation-actions{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;padding-top:16px}.approve-btn,.cancel-btn,.preview-btn,.reject-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:10px 20px;transition:background-color .2s}.approve-btn{background:#10b981;color:#fff}.approve-btn:hover:not(:disabled){background:#059669}.reject-btn{background:#ef4444;color:#fff}.reject-btn:hover:not(:disabled){background:#dc2626}.preview-btn{background:#3b82f6;color:#fff;flex:1 1}.preview-btn:hover:not(:disabled){background:#2563eb}.cancel-btn{background:#6b7280}.cancel-btn:hover:not(:disabled){background:#4b5563}.approve-btn:disabled,.cancel-btn:disabled,.preview-btn:disabled,.reject-btn:disabled{cursor:not-allowed;opacity:.6}.loading{color:#666;font-size:18px}.error,.loading{padding:40px;text-align:center}.error{background:#fed7d7;border-radius:8px;color:#e53e3e;font-size:16px}.validation-queue .custom-doctor-form,.validation-queue .custom-office-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:12px;padding:16px}.validation-queue .custom-doctor-form h5,.validation-queue .custom-office-form h5{color:#2d3748;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.validation-queue .form-row{margin-bottom:12px}.validation-queue .form-row label{color:#4a5568;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.validation-queue .form-row input,.validation-queue .form-row select{border:1px solid #cbd5e0;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.validation-queue .form-row input:focus,.validation-queue .form-row select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.validation-queue .form-row-group{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr;margin-bottom:12px}.validation-queue .search-interface{background:#f0f8ff;border:1px solid #bee3f8;border-radius:6px;margin-top:12px;padding:16px}.validation-queue .search-interface h5{color:#2b6cb0;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.validation-queue .search-box{position:relative}.validation-queue .search-box input{border:2px solid #bee3f8;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.validation-queue .search-box input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.validation-queue .search-results{background:#fff;border:1px solid #e2e8f0;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.validation-queue .search-result-item{border-bottom:1px solid #f7fafc;cursor:pointer;padding:12px 16px;transition:background-color .2s}.validation-queue .search-result-item:hover{background-color:#f7fafc}.validation-queue .search-result-item:last-child{border-bottom:none}.validation-queue .result-name{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:4px}.validation-queue .result-details{color:#718096;font-size:12px;line-height:1.3}.preview-change.doctor_create,.preview-change.office_create{background-color:#f0fff4;border-left:4px solid #38a169}.preview-change.doctor_select,.preview-change.office_select{background-color:#ebf8ff;border-left:4px solid #3182ce}.preview-change.office_update{background-color:#fffbeb;border-left:4px solid #d69e2e}.preview-change.relationship_create{background-color:#faf5ff;border-left:4px solid #805ad5}.preview-change.office_keep,.preview-change.relationship_skip{background-color:#f7fafc;border-left:4px solid #718096}.action-option:has(input:checked) .option-label{color:#2d3748;font-weight:600}.action-option:has(input:checked) .option-description{color:#4a5568}.validation-queue .search-box.loading:after{animation:spin 1s linear infinite;border:2px solid #cbd5e0;border-radius:50%;border-top-color:#4299e1;content:"";height:16px;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px}.validation-queue .form-row input:invalid{border-color:#f56565}.validation-queue .form-row input:invalid:focus{border-color:#f56565;box-shadow:0 0 0 3px #f565651a}.validation-queue .form-row input:valid{border-color:#48bb78}@media (max-width:768px){.validation-queue{padding:12px}.validation-item{padding:16px}.data-row{flex-direction:column;gap:4px}.data-row strong{margin-top:0;min-width:auto}.action-option{padding:16px}.validation-actions{flex-direction:column}.approve-btn,.cancel-btn,.preview-btn,.reject-btn{min-width:auto;width:100%}.selection-prompt{margin-bottom:12px;margin-right:0}.validation-header-row{align-items:flex-start;flex-direction:column;gap:8px}.issue-section,.preview-section{padding:12px}.validation-queue .form-row-group{gap:12px;grid-template-columns:1fr}.validation-queue .custom-doctor-form,.validation-queue .custom-office-form,.validation-queue .search-interface{margin-top:8px;padding:12px}.validation-queue .form-row input,.validation-queue .form-row select{font-size:16px;padding:10px}.validation-queue .search-box input{font-size:16px;padding:12px}.validation-queue .search-results{max-height:150px}.validation-queue .search-result-item{padding:16px 12px}}.validation-queue .search-box input[value*="✓ Selected:"]{background-color:#d1fae5;border-color:#10b981;color:#065f46;font-weight:600}.validation-queue .search-box input[value*="✓ Selected:"]:focus{border-color:#059669;box-shadow:0 0 0 3px #10b9811a}.contact-management{margin:0 auto;max-width:1200px;padding:20px}.contact-management-loading{color:#666;font-size:18px;padding:40px;text-align:center}.contact-management-header{align-items:center;border-bottom:2px solid #ddd;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.contact-management-header h2{color:#2c3e50;margin:0}.contact-stats{display:flex;gap:20px}.stat-item{background:#f8f9fa;color:#495057;font-weight:500;padding:8px 16px}.contact-tabs{border-bottom:3px solid #ddd;display:flex;gap:2px;margin-bottom:20px}.excel-import-tab{padding:20px 0}.tab-button{background:#f8f9fa;border:1px solid #ddd;border-bottom:none;border-radius:8px 8px 0 0;color:#495057;padding:12px 24px;transition:all .3s ease}.tab-button:hover{background:#e9ecef;transform:translateY(-2px)}.tab-button.active{border-bottom:3px solid #fff;color:#007bff;font-weight:600;margin-bottom:-3px}.contact-controls{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.search-container{flex:1 1;max-width:400px}.search-input{border:2px solid #ddd;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s ease}.search-input:focus{box-shadow:0 0 0 3px #007bff1a}.add-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.add-button:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.doctors-list,.offices-list{grid-gap:20px;display:grid;gap:20px}.office-item{background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;transition:all .3s ease}.office-item:hover{border-color:#007bff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.doctor-item{background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:all .3s ease}.doctor-item:hover,.office-item:hover{border-color:#007bff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.contact-management .doctor-header,.contact-management .office-header{align-items:flex-start;background:linear-gradient(135deg,#2877d1,#2877d1)!important;border-bottom:none!important;border-radius:8px 8px 0 0!important;color:#fff!important;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px;padding:16px}.contact-management .doctor-header h3,.contact-management .office-header h3{word-wrap:break-word;color:#fff!important;flex:1 1;font-size:18px;line-height:1.3;margin:0;min-width:0}.office-actions{display:flex;gap:8px}.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.edit-btn{background:#007bff;color:#fff}.edit-btn:hover{background:#0056b3;transform:scale(1.05)}.delete-btn{background:#dc3545}.delete-btn:hover{background:#c82333;transform:scale(1.05)}.doctor-details,.office-details{grid-gap:8px;display:grid;gap:8px}.office-content{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.office-notes-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.notes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.notes-header h4{color:#495057;font-size:16px;font-weight:600;margin:0}.notes-edit-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .3s ease}.notes-edit-btn:hover{background:#0056b3}.notes-content{min-height:60px}.notes-editing{display:flex;flex-direction:column;gap:12px}.notes-textarea{border:1px solid #ced4da;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .3s ease;width:100%}.notes-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.notes-save-btn{align-self:flex-start;background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.notes-save-btn:hover{background:#218838}.notes-display p{color:#495057;line-height:1.5;margin:0}.no-notes{color:#6c757d!important;font-style:italic}@media (max-width:768px){.office-content{gap:16px;grid-template-columns:1fr}.notes-header{align-items:flex-start;flex-direction:column;gap:8px}}.doctor-details p,.office-details p{color:#495057;line-height:1.5;margin:0}.doctor-details strong,.office-details strong{color:#2c3e50}.relationships-list{grid-gap:12px;display:grid;gap:12px}.relationships-header{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:16px;padding:16px}.relationships-header p{color:#495057;font-weight:600;margin:0}.relationship-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .3s ease}.relationship-item:hover{border-color:#007bff;box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.relationship-info{color:#495057;font-size:16px}.relationship-info strong{color:#2c3e50}.delete-relationship-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.delete-relationship-btn:hover{background:#c82333;transform:scale(1.05)}.modal-overlay{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:0;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:#f8f9fa;border-bottom:1px solid #ddd;border-radius:12px 12px 0 0;padding:20px}.close-modal{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;transition:all .3s ease;width:30px}.close-modal:hover{background:#e9ecef;color:#000}.modal form{padding:24px}.form-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:6px}.form-group input,.form-group select{border:2px solid #ddd;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-row{grid-template-columns:2fr 1fr 1fr}.doctor-search-container{position:relative}.doctor-search-input{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.doctor-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.doctor-search-dropdown{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.doctor-search-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;margin:8px;padding:16px;transition:all .3s ease}.doctor-search-item:hover{background:#f8f9fa;border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.doctor-search-name{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:4px}.doctor-search-specialty{color:#6c757d;font-size:14px;font-style:italic;margin-bottom:8px}.doctor-search-contact{display:flex;flex-wrap:wrap;gap:16px}.doctor-search-email,.doctor-search-phone{align-items:center;background:#e9ecef;border-radius:12px;color:#495057;display:flex;font-size:13px;gap:4px;padding:4px 8px}.doctor-search-empty{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;font-style:italic;margin:8px;padding:20px;text-align:center}.doctor-search-new-option{background:#e8f5e8;border:1px solid #28a745;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;margin:8px;padding:16px;transition:all .3s ease}.doctor-search-new-option:hover{background:#d4edda;border-color:#1e7e34;box-shadow:0 4px 12px #28a74526;transform:translateY(-2px)}.doctor-search-new-text{color:#155724;font-size:16px;font-weight:600;margin-bottom:4px}.doctor-search-new-subtext{color:#6c757d;font-size:14px}@media (max-width:768px){.doctor-search-item,.doctor-search-new-option{margin:6px;padding:12px}.doctor-search-name,.doctor-search-new-text{font-size:15px}.doctor-search-contact{flex-direction:column;gap:8px}.doctor-search-email,.doctor-search-phone{font-size:12px}}.office-search-input{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.office-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.office-search-dropdown{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.office-search-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;margin:8px;padding:16px;transition:all .3s ease}.office-search-item:hover{background:#f8f9fa;border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.office-search-name{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:8px}.office-search-address{color:#6c757d;font-size:14px;line-height:1.4;margin-bottom:8px}.office-search-contact{display:flex;flex-wrap:wrap;gap:16px}.office-search-email,.office-search-phone{align-items:center;background:#e9ecef;border-radius:12px;color:#495057;display:flex;font-size:13px;gap:4px;padding:4px 8px}.office-search-empty{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;font-style:italic;margin:8px;padding:20px;text-align:center}.selected-offices{margin-bottom:16px}.no-offices-selected{color:#6c757d;font-style:italic;margin-top:8px}.modal-actions{border-top:1px solid #ddd;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.save-btn{background:#28a745;color:#fff}.save-btn:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-2px)}.office-doctors-section{border-top:2px solid #f0f0f0;margin-top:20px;padding-top:16px}.doctors-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.doctors-header h4{color:#495057;font-size:16px;margin:0}.no-doctors{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:24px;text-align:center}.no-doctors p{color:#6c757d;margin:0 0 12px}.add-first-doctor-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.add-first-doctor-btn:hover{background:#218838;transform:translateY(-1px)}.doctors-grid{grid-gap:12px;display:grid;gap:12px}.doctor-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;transition:all .3s ease}.doctor-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26}.doctor-card-header{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .3s ease}.doctor-card-header:hover{background:#f8f9fa}.doctor-basic-info h5{color:#2c3e50;font-size:15px;margin:0 0 4px}.doctor-specialty{color:#6c757d;font-size:13px;font-style:italic}.expand-toggle{align-items:center;background:#007bff;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;transition:all .3s ease;width:24px}.expand-toggle:hover{background:#0056b3;transform:scale(1.1)}.doctor-card-details{background:#fff;border-top:1px solid #dee2e6;padding:16px}.doctor-details{margin-bottom:12px}.doctor-details p{color:#495057;font-size:14px;margin:6px 0}.doctor-card-actions{display:flex;gap:8px}.edit-doctor-btn,.remove-doctor-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .3s ease}.edit-doctor-btn{background:#007bff;color:#fff}.edit-doctor-btn:hover{background:#0056b3}.remove-doctor-btn{background:#ffc107;color:#212529}.remove-doctor-btn:hover{background:#e0a800}.doctors-tab-header{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;margin-bottom:16px;padding:12px 16px}.doctors-tab-header p{color:#1565c0;font-size:14px;margin:0}.doctor-offices-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.doctor-office-tag{align-items:center;background:#e3f2fd;border:1px solid #2196f3;border-radius:16px;color:#1565c0;display:inline-flex;font-size:12px;font-weight:500;padding:4px 12px;transition:all .2s ease}.doctor-office-tag:hover{background:#bbdefb;border-color:#1976d2;transform:scale(1.05)}.no-offices-tag{align-items:center;background:#fff3cd;border:1px solid #ffeaa7;border-radius:16px;color:#856404;display:inline-flex;font-size:12px;font-style:italic;padding:4px 12px}.doctor-actions{display:flex;gap:8px}.add-doctor-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.add-doctor-btn:hover{background:#218838;transform:scale(1.05)}.no-results{background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;color:#666;font-size:18px;padding:40px;text-align:center}@media (max-width:768px){.office-search-item{margin:6px;padding:12px}.office-search-name{font-size:15px}.office-search-contact{flex-direction:column;gap:8px}.office-search-email,.office-search-phone{font-size:12px}.contact-management{padding:12px}.contact-management-header{align-items:flex-start;flex-direction:column;gap:12px}.contact-stats{flex-wrap:wrap}.contact-controls{flex-direction:column;gap:12px}.search-container{max-width:100%}.contact-tabs{flex-wrap:wrap}.tab-button{flex:1 1;min-width:120px}.contact-management .doctor-header,.contact-management .office-header,.relationship-item{align-items:flex-start;flex-direction:column;gap:12px}.form-row{grid-template-columns:1fr}.office-selector{padding:8px}.selected-offices-list{flex-direction:column}.selected-office-item{justify-content:space-between;width:100%}.office-dropdown{max-height:150px}.modal{margin:10px;width:95%}.modal-actions{flex-direction:column-reverse}.cancel-btn,.save-btn{width:100%}}.referral-form-container .form-row{display:flex!important;gap:20px;grid-template-columns:none!important}.referral-form-container .form-row .form-group{flex:1 1}.referral-form-container .form-group input,.referral-form-container .form-group select,.referral-form-container .form-group textarea{box-sizing:border-box;width:100%}.email-import-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.import-subsection-header{margin-bottom:20px}.import-subsection-header h4{color:#495057;font-size:18px;margin:0 0 5px}.import-subsection-header p{color:#6c757d;font-size:14px;margin:0}.email-stats{margin-bottom:20px}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.stat-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px;text-align:center}.stat-number{color:#007bff;display:block;font-size:24px;font-weight:700;margin-bottom:5px}.stat-label{color:#6c757d;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.email-file-upload{margin-bottom:15px}.file-input{background:#fff;border:1px solid #ced4da;border-radius:4px;padding:10px;width:100%}.file-selected{color:#28a745;font-size:14px;margin-top:8px}.import-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;margin-bottom:15px;padding:12px 24px;transition:background .3s ease}.import-button:hover:not(:disabled){background:#0056b3}.import-button:disabled{background:#6c757d;cursor:not-allowed}.import-button.importing{background:#6c757d}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;margin-bottom:15px;padding:10px}.import-results{background:#fff;border:1px solid #d4edda;border-radius:4px;padding:15px}.results-summary{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-weight:500;padding:10px}.results-section,.results-summary{margin-bottom:15px}.results-section h5{color:#495057;font-size:14px;margin:0 0 10px}.results-list{max-height:150px;overflow-y:auto}.result-item{border-bottom:1px solid #e9ecef;font-size:14px;padding:8px}.result-item:last-child{border-bottom:none}.result-item.error{color:#721c24}.import-divider{margin:0 20px}.bulk-import-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.bulk-import-section h3{color:#495057;margin-top:0}.bulk-import-section p{color:#6c757d;margin-bottom:15px}.bulk-import-section textarea{border:1px solid #ced4da;border-radius:4px;font-family:monospace;font-size:14px;padding:10px}.bulk-import-section button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 20px}.bulk-import-section button:hover{background:#218838}@media (max-width:768px){.stats-grid{gap:10px;grid-template-columns:1fr}.stat-number{font-size:20px}}.oral-surgeon-section{margin-top:10px}.oral-surgeon-option{align-items:flex-start;display:flex;font-size:14px;margin-bottom:15px}.oral-surgeon-option input[type=checkbox]{flex-shrink:0;height:16px;margin-right:8px;margin-top:2px;width:16px}.oral-surgeon-option label{cursor:pointer;flex:1 1;line-height:1.4;margin:0}.refer-offices-container{margin-top:10px}.refer-offices-label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.selected-offices{margin-bottom:10px}.selected-offices-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.selected-office-item{align-items:center;background:#e3f2fd;border:1px solid #2196f3;border-radius:20px;display:flex;font-size:14px;gap:8px;padding:6px 12px}.selected-office-name{color:#1565c0;font-weight:500}.remove-office-btn{align-items:center;background:none;border:none;border-radius:50%;color:#1565c0;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:20px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:20px}.remove-office-btn:hover{background:#1565c0;color:#fff}.office-search-container{position:relative}.offices-checkbox-list{background:#fafafa;border:1px solid #ddd;border-radius:4px;max-height:150px;overflow-y:auto;padding:8px}.office-checkbox-item{align-items:center;display:flex;font-size:13px;margin-bottom:6px}.office-checkbox-item:last-child{margin-bottom:0}.office-checkbox-item input[type=checkbox]{flex-shrink:0;margin-right:8px;margin-top:0}.office-checkbox-item label{cursor:pointer;line-height:1.3;margin:0}.visits-btn{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.visits-btn:hover{background:#138496;transform:scale(1.05)}.visits-modal{display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:90%}.visits-modal .modal-header{border-bottom:2px solid #e9ecef;flex-shrink:0;padding:20px 24px 16px}.visits-modal .modal-header h3{color:#2c3e50;font-size:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visits-modal-content{flex:1 1;overflow-y:auto;padding:20px 24px}.add-visit-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-bottom:24px;padding:20px}.add-visit-section h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 16px}.visit-form{display:flex;flex-direction:column;gap:16px}.visit-form .form-row{align-items:flex-end;display:flex;gap:16px}.visit-form .form-group{display:flex;flex:1 1;flex-direction:column;gap:6px}.visit-form .form-group:first-child{flex:0 0 160px}.visit-form label{color:#495057;font-size:14px;font-weight:600}.visit-date-input,.visit-description-input{border:2px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .3s ease}.visit-date-input:focus,.visit-description-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.add-visit-btn{align-self:flex-start;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.add-visit-btn:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.visits-list-section h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 16px}.no-visits{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;margin:16px 0;padding:40px 20px;text-align:center}.no-visits p{font-style:italic;margin:0}.visits-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding-right:8px}.visit-item{align-items:flex-start;background:#fff;border:2px solid #e9ecef;border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .3s ease}.visit-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a;transform:translateY(-1px)}.visit-info{flex:1 1;min-width:0}.visit-date{color:#495057;font-size:15px;font-weight:600;margin-bottom:6px}.imported-note{color:#6c757d;font-size:12px;font-style:italic;font-weight:400}.visit-description{word-wrap:break-word;color:#2c3e50;font-size:14px;line-height:1.4;margin-bottom:6px}.visit-original{word-wrap:break-word;color:#6c757d;font-size:12px;font-style:italic}.contact-management .delete-btn,.contact-management .doctor-actions .delete-btn,.contact-management .office-actions .delete-btn{align-items:center!important;background:#dc3545!important;border:none!important;border-radius:6px!important;color:#fff!important;cursor:pointer!important;display:inline-block!important;flex:none!important;font-size:14px!important;font-weight:500!important;height:auto!important;justify-content:center!important;line-height:normal!important;max-height:none!important;max-width:none!important;min-height:auto!important;min-width:auto!important;padding:6px 12px!important;text-align:center!important;transition:all .3s ease!important;vertical-align:middle!important;white-space:nowrap!important;width:auto!important}.contact-management .delete-btn:hover,.contact-management .doctor-actions .delete-btn:hover,.contact-management .office-actions .delete-btn:hover{background:#c82333!important;transform:scale(1.05)!important}.visits-modal .modal-actions{border-top:2px solid #e9ecef;display:flex;flex-shrink:0;justify-content:flex-end;padding:16px 24px}.visits-modal .cancel-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.visits-modal .cancel-btn:hover{background:#5a6268;transform:translateY(-1px)}.visits-list::-webkit-scrollbar{width:6px}.visits-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.visits-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.visits-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.visits-modal{max-height:90vh;width:95%}.visits-modal .modal-actions,.visits-modal .modal-header,.visits-modal-content{padding-left:16px;padding-right:16px}.visit-form .form-row{flex-direction:column;gap:12px}.visit-form .form-group:first-child{flex:1 1}.visit-item{align-items:stretch;flex-direction:column;gap:12px}.delete-visit-btn{align-self:flex-end;height:36px;width:36px}.office-actions{flex-wrap:wrap;gap:6px}.visits-btn{font-size:12px;padding:5px 8px}}@media (max-width:480px){.visits-modal{margin:1%;width:98%}.visits-modal .modal-header h3{font-size:18px}.add-visit-section{padding:16px}.visits-list{max-height:250px}}.visit-actions{display:flex;flex-shrink:0;gap:8px}.edit-visit-btn{align-items:center;background:#007bff;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;transition:all .3s ease;width:32px}.edit-visit-btn:hover{background:#0056b3;transform:scale(1.1)}.visit-edit-form{display:flex;flex:1 1;flex-direction:column;gap:16px}.edit-form-row{align-items:flex-end;gap:16px}.edit-form-group{display:flex;flex-direction:column;gap:6px}.edit-form-group:first-child{flex:0 0 160px}.edit-form-group:last-child{flex:1 1}.edit-form-group label{color:#495057;font-size:12px;font-weight:600}.edit-visit-date-input,.edit-visit-description-input{border:2px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 10px;transition:border-color .3s ease}.edit-visit-date-input:focus,.edit-visit-description-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.cancel-edit-btn,.save-edit-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .3s ease}.save-edit-btn{background:#28a745;color:#fff}.save-edit-btn:hover{background:#218838}.cancel-edit-btn{background:#6c757d;color:#fff}.cancel-edit-btn:hover{background:#5a6268}@media (max-width:768px){.edit-form-row{flex-direction:column;gap:12px}.edit-form-group:first-child{flex:1 1}.edit-actions{justify-content:stretch}.cancel-edit-btn,.save-edit-btn{flex:1 1}}.referral-details-section{background:#e8f5e9;border-left:4px solid #66bb6a;border-radius:8px;margin-top:20px;padding:16px}.referral-details-section h4{color:#2c3e50;font-size:16px;margin:0 0 12px}.referral-note{color:#555;font-size:14px;line-height:1.5}@media (max-width:768px){.patient-contact{flex-direction:column;gap:8px}.metrics-grid{grid-template-columns:1fr}.notes-header{align-items:flex-start;flex-direction:column;gap:8px}.edit-notes-btn,.save-notes-btn{width:100%}}.export-tab{padding:20px 0}.export-header{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin-bottom:24px;padding:16px 20px}.export-header p{color:#1565c0;font-size:15px;margin:0}.export-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.export-card{background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:all .3s ease}.export-card:hover{border-color:#007bff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.export-card-header{background:linear-gradient(135deg,#2877d1,#2877d1);color:#fff;padding:16px 20px}.export-card-header h3{font-size:18px;font-weight:600;margin:0}.export-card-body{padding:20px}.export-card-body>p{color:#495057;font-size:14px;line-height:1.5;margin:0 0 16px}.export-fields{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:16px}.export-fields p{color:#495057;font-size:14px;margin:0 0 8px}.export-fields ul{margin:0;padding-left:20px}.export-fields li{color:#6c757d;font-size:13px;line-height:1.5;margin-bottom:4px}.export-fields li:last-child{margin-bottom:0}.export-btn{align-items:center;background:#28a745;border-radius:8px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .3s ease;width:100%}.export-btn:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.export-btn:active{transform:translateY(0)}@media (max-width:768px){.export-cards{grid-template-columns:1fr}.export-card-header{padding:14px 16px}.export-card-header h3{font-size:16px}.export-card-body{padding:16px}.export-btn{font-size:14px;padding:10px 20px}}.add-category-form{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:24px;padding:20px}.add-category-btn{margin-bottom:24px}.categories-list{border-radius:8px;display:flex;flex-direction:column;gap:12px;min-height:60px;padding:8px;transition:background-color .2s}.categories-list.dragging{background-color:#f8f9fa}.category-item{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:8px;display:flex;gap:16px;min-height:70px;padding:16px;transition:all .2s}.category-item:hover{border-color:#4a90e2;box-shadow:0 2px 4px #0000001a}.category-item.inactive{background-color:#f8f9fa;border-color:#ced4da;opacity:.6}.category-item.dragging{background-color:#fff;border-color:#4a90e2;box-shadow:0 8px 16px #00000026;transform:rotate(2deg);z-index:1000}.drag-handle{border-radius:4px;color:#6c757d;cursor:grab;font-size:16px;line-height:1;padding:8px;transition:all .2s;-webkit-user-select:none;user-select:none}.drag-handle:hover{background-color:#e9ecef;color:#495057}.drag-handle:active{cursor:grabbing}.category-content{flex:1 1}.category-content,.category-info{display:flex;flex-direction:column;gap:4px}.category-name{border-radius:4px;color:#2c3e50;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;margin:0;max-width:-webkit-fit-content;max-width:fit-content;padding:4px 8px;transition:background-color .2s}.category-name:hover{background-color:#f8f9fa}.category-stats{color:#6c757d;font-size:12px;font-weight:500}.category-edit-input{background:#fff;border:2px solid #4a90e2;border-radius:4px;color:#2c3e50;font-size:16px;font-weight:600;max-width:300px;padding:8px 12px;width:100%}.category-edit-input:focus{box-shadow:0 0 0 3px #4a90e21a;outline:none}.category-item.drag-over{background-color:#f8fff9;border-color:#28a745}.move-btn{font-size:16px;min-width:36px}.category-actions{align-items:center;display:flex;gap:8px}.category-actions .settings-btn{font-size:12px;min-width:80px;padding:8px 12px}@media (max-width:768px){.category-item{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.drag-handle{align-self:center;order:-1}.category-content,.category-name{text-align:center}.category-name{max-width:100%}.category-actions{justify-content:center}.add-category-form .settings-form-row{align-items:stretch;flex-direction:column;gap:12px}.add-category-form .settings-btn{width:100%}}.category-item.loading{opacity:.5;pointer-events:none}.category-item.loading:after{animation:spin 1s linear infinite;border:2px solid #dee2e6;border-radius:50%;border-top-color:#4a90e2;content:"";height:16px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:16px}.category-name:focus,.drag-handle:focus{outline:2px solid #4a90e2;outline-offset:2px}.category-item:focus-within{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.add-tag-form{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:24px}.add-tag-btn,.add-tag-form{margin-bottom:32px}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-option{border:3px solid #0000;border-radius:6px;cursor:pointer;height:32px;position:relative;transition:all .2s;width:32px}.color-option:hover{border-color:#0003;transform:scale(1.1)}.color-option.selected{border-color:#2c3e50;transform:scale(1.15)}.color-option.selected:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;text-shadow:1px 1px 2px #000000b3;top:50%;transform:translate(-50%,-50%)}.color-picker-small{display:flex;gap:4px;margin:8px 0}.color-option-small{border:2px solid #0000;border-radius:4px;cursor:pointer;height:24px;transition:all .2s;width:24px}.color-option-small:hover{border-color:#0003;transform:scale(1.1)}.color-option-small.selected{border-color:#2c3e50;transform:scale(1.2)}.tags-by-category{display:flex;flex-direction:column;gap:32px}.category-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.category-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:16px 20px}.category-header h4{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.tag-count{color:#6c757d;font-size:12px;font-weight:500}.empty-category{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}.empty-category p{font-size:14px;margin:0}.tags-list{background-color:#dee2e6;display:flex;flex-direction:column;gap:1px}.tag-item{align-items:center;background:#fff;display:flex;gap:16px;min-height:60px;padding:16px 20px;transition:all .2s}.tag-item.inactive,.tag-item:hover{background-color:#f8f9fa}.tag-item.inactive{opacity:.6}.tag-preview{align-items:center;display:flex;gap:8px;min-width:120px}.tag-color-preview{border:1px solid #0000001a;border-radius:3px;flex-shrink:0;height:16px;width:16px}.tag-name-preview{color:#495057;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-content{align-items:center;display:flex;flex:1 1}.tag-info{gap:4px}.tag-details,.tag-info{display:flex;flex-direction:column}.tag-details{gap:2px}.tag-name{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.tag-name.clickable{border-radius:4px;cursor:pointer;display:inline-block;max-width:-webkit-fit-content;max-width:fit-content;padding:4px 8px;transition:background-color .2s}.tag-name.clickable:hover{background-color:#f8f9fa}.tag-category{color:#6c757d;font-size:12px;font-weight:500}.tag-actions{align-items:center;display:flex;gap:8px}.move-btn{font-size:14px;font-weight:700;min-width:32px;padding:6px 10px}.move-btn:disabled{cursor:not-allowed;opacity:.3;transform:none}.tag-actions .settings-btn{font-size:12px;min-width:80px;padding:8px 12px}.tag-edit-form{display:flex;flex-direction:column;gap:12px;width:100%}.edit-form-row{align-items:center;display:flex;gap:12px}.tag-name-input{border:2px solid #4a90e2;border-radius:4px;flex:2 1;font-size:14px;font-weight:600;padding:8px 12px}.tag-category-select{border:2px solid #ced4da;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.tag-category-select:focus,.tag-name-input:focus{box-shadow:0 0 0 3px #4a90e21a;outline:none}.edit-form-actions{display:flex;gap:8px}.edit-form-actions .settings-btn{font-size:12px;min-width:60px;padding:6px 12px}@media (max-width:768px){.add-tag-form .settings-form-row{align-items:stretch;flex-direction:column;gap:16px}.color-picker{justify-content:center}.tag-item{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.tag-preview{justify-content:center;min-width:auto}.tag-content{text-align:center}.tag-actions{justify-content:center}.edit-form-row{align-items:stretch;flex-direction:column}.edit-form-actions{justify-content:center}.category-header{align-items:center;flex-direction:column;gap:8px;text-align:center}}.tag-item.loading{opacity:.5;pointer-events:none}.color-option-small:focus,.color-option:focus,.tag-name.clickable:focus{outline:2px solid #4a90e2;outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tag-item{animation:slideIn .3s ease-out}.activity-log-viewer{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.activity-log-header{margin-bottom:20px}.activity-log-header h2{color:#333;font-size:24px;margin-bottom:8px}.activity-log-description{color:#666;margin-bottom:16px}.activity-log-actions{display:flex;gap:10px;margin-bottom:20px}.activity-log-actions button{border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.filter-btn{background-color:#f0f0f0;border:1px solid #ddd;color:#333}.filter-btn:hover{background-color:#e0e0e0}.export-btn{background-color:#4caf50;border:none;color:#fff}.export-btn:hover{background-color:#45a049}.export-btn:disabled{background-color:#a5d6a7;cursor:not-allowed}.refresh-btn{background-color:#2196f3;border:none;color:#fff}.refresh-btn:hover{background-color:#0b7dda}.refresh-btn:disabled{background-color:#90caf9}.activity-log-filters{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;margin-bottom:20px;padding:16px}.activity-log-filters h3{color:#333;font-size:18px;margin-bottom:16px;margin-top:0}.filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:16px}.filter-group{flex-direction:column}.filter-group label{color:#555;font-weight:500;margin-bottom:4px}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:4px;padding:8px}.filter-actions{display:flex;gap:10px}.apply-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.apply-btn:hover{background-color:#0b7dda}.reset-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.reset-btn:hover{background-color:#d32f2f}.activity-log-table-container{margin-bottom:20px;overflow-x:auto}.activity-log-table{border-collapse:collapse;font-size:14px;width:100%}.activity-log-table td,.activity-log-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.activity-log-table th{background-color:#f5f5f5;color:#333;font-weight:600}.activity-log-table tr:hover{background-color:#f9f9f9}.activity-log-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 0}.spinner{border:4px solid #0000001a;border-top-color:#2196f3;height:40px;margin-bottom:16px;width:40px}.activity-log-empty{color:#666;padding:40px 0;text-align:center}.activity-log-empty p{margin:8px 0}.activity-log-empty-hint{color:#999;font-size:14px}.activity-log-load-more{margin:20px 0;text-align:center}.load-more-btn{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;padding:8px 16px}.load-more-btn:hover{background-color:#e0e0e0}.activity-log-notice{background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;margin-top:20px;padding:16px}.activity-log-notice h4{color:#2e7d32;margin-bottom:8px;margin-top:0}.activity-log-notice p{color:#388e3c;font-size:14px;margin:8px 0}.settings{background-color:#f8f9fa;display:flex;min-height:calc(100vh - 57px)}.settings-sidebar{background:#fff;border-right:1px solid #dee2e6;flex-shrink:0;padding:24px;width:250px}.settings-sidebar h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0 0 24px}.settings-nav{display:flex;flex-direction:column;gap:8px}.settings-section-title{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin:16px 0 8px 4px;text-transform:uppercase}.settings-section-title:first-of-type{margin-top:0}.settings-nav-btn{background:#0000;border:none;border-radius:6px;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;text-align:left;transition:all .2s}.settings-nav-btn:hover{background-color:#f8f9fa;color:#495057;transform:none}.settings-nav-btn.active{background-color:#4a90e2;color:#fff}.settings-nav-btn.active:hover{background-color:#357abd}.settings-content{flex:1 1;overflow-y:auto;padding:24px}.settings-page{margin:0 auto;max-width:1000px}.settings-page-header{margin-bottom:32px}.settings-page-header h1{color:#2c3e50;font-size:28px;font-weight:600;margin:0 0 8px}.settings-page-header p{color:#6c757d;font-size:16px;line-height:1.5;margin:0}.settings-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:24px;overflow:hidden}.settings-section-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;padding:20px 24px}.settings-section-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.settings-section-content{padding:24px}.settings-form{display:flex;flex-direction:column;gap:16px}.settings-form-row{align-items:flex-end;display:flex;gap:16px}.settings-form-group{display:flex;flex:1 1;flex-direction:column;gap:6px}.settings-form-group label{color:#495057;font-size:14px;font-weight:600}.settings-input{border:2px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .3s ease}.settings-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.settings-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:10px 20px;transition:all .2s}.settings-btn-primary{background:#4a90e2;color:#fff}.settings-btn-primary:hover{background:#357abd;transform:translateY(-1px)}.settings-btn-secondary{background:#6c757d;color:#fff}.settings-btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.settings-btn-danger{background:#dc3545;color:#fff}.settings-btn-danger:hover{background:#c82333;transform:translateY(-1px)}.settings-loading{color:#6c757d;font-size:16px;padding:60px 20px}.settings-empty{color:#6c757d;padding:60px 20px;text-align:center}.settings-empty h3{color:#495057;font-size:18px;margin:0 0 8px}.settings-empty p{font-size:14px;margin:0}@media (max-width:768px){.settings{flex-direction:column}.settings-sidebar{border-bottom:1px solid #dee2e6;border-right:none;padding:16px;width:100%}.settings-nav{flex-direction:row;gap:12px;overflow-x:auto}.settings-nav-btn{flex-shrink:0;min-width:120px;text-align:center}.settings-content{padding:16px}.settings-form-row{align-items:stretch;flex-direction:column}}.preference-list{display:flex;flex-direction:column;gap:16px}.preference-item{position:relative}.preference-item-content{align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:16px}.preference-item-content:hover{background-color:#f1f3f4}.preference-label{color:#495057;font-size:14px;font-weight:500}.preference-color-btn{border:2px solid #dee2e6;border-radius:6px;cursor:pointer;height:32px;transition:all .2s;width:32px}.preference-color-btn:hover{border-color:#adb5bd;transform:scale(1.1)}.color-picker-dropdown{grid-gap:8px;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;display:grid;gap:8px;grid-template-columns:repeat(5,1fr);margin-top:4px;padding:12px;position:absolute;right:0;top:100%;z-index:1000}.color-picker-option{border:2px solid #dee2e6;border-radius:6px;cursor:pointer;height:32px;transition:all .2s;width:32px}.color-picker-option:hover{border-color:#4a90e2;transform:scale(1.1)}@media (max-width:768px){.preference-item-content{padding:12px}.color-picker-dropdown{grid-template-columns:repeat(5,1fr);left:0;right:0}}.email-settings-message{border-radius:6px;font-weight:500;margin-bottom:20px;padding:12px 16px}.email-settings-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.email-settings-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.email-template-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 300px}.email-template-form{display:flex;flex-direction:column;gap:16px}.email-body-textarea{font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;line-height:1.4;min-height:120px;resize:vertical}.email-template-variables{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;height:-webkit-fit-content;height:fit-content;padding:16px}.email-template-variables h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 8px}.email-template-variables p{color:#6c757d;font-size:13px;margin:0 0 12px}.active-field-indicator{background-color:#e7f3ff;border:1px solid #4a90e2;border-radius:4px;color:#2c3e50;font-size:12px;margin-bottom:12px;padding:8px}.cursor-info{color:#6c757d;font-style:italic}.insertion-hint{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:12px;margin-top:12px;padding:8px}.html-preview-container{background-color:#fff;border:2px solid #e9ecef;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:120px;padding:16px}.html-preview-content{color:#333}.html-preview-content p{margin:0 0 16px}.html-preview-content p:last-child{margin-bottom:0}.html-preview-content strong{color:#4a90e2;font-weight:600}.field-note{color:#6c757d;font-size:12px;font-style:italic;margin-top:4px}.variable-list{gap:8px}.variable-item,.variable-list{display:flex;flex-direction:column}.variable-item{gap:2px}.variable-code{background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;display:inline-block;font-family:Monaco,Menlo,Consolas,monospace;font-size:12px;padding:4px 8px;transition:all .2s;-webkit-user-select:none;user-select:none}.variable-code:hover{background-color:#4a90e2;border-color:#4a90e2;color:#fff;transform:translateY(-1px)}.variable-code:active{transform:translateY(0)}.variable-description{color:#6c757d;font-size:11px;margin-left:8px}.test-email-container{max-width:500px}.test-email-form{display:flex;flex-direction:column;gap:16px}.test-email-buttons{display:flex;gap:12px}.email-settings-actions{border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px}.settings-btn-large{font-size:16px;min-width:180px;padding:12px 24px}.modal-overlay{background-color:#00000080}.modal-content{border-radius:8px;box-shadow:0 10px 30px #0003;max-height:80vh;padding:24px;width:90%}.modal-header{border-bottom:1px solid #dee2e6;margin-bottom:20px;padding-bottom:16px}.modal-header h3{color:#2c3e50;font-size:20px}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background-color .2s;width:32px}.modal-close:hover{background-color:#f8f9fa;color:#495057}.modal-body{margin-bottom:20px}.modal-footer{border-top:1px solid #dee2e6;gap:12px;justify-content:flex-end;padding-top:16px}.password-input-container{position:relative}.password-toggle{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:14px;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s}.password-toggle:hover{color:#495057}.email-preview{max-width:600px;width:100%}.email-preview-header{background-color:#f8f9fa;border:1px solid #dee2e6;border-bottom:none;border-radius:6px 6px 0 0;padding:12px 16px}.email-preview-header div{display:flex;font-size:13px;margin-bottom:4px}.email-preview-header strong{color:#495057;min-width:60px}.email-preview-body{background:#fff;border:1px solid #dee2e6;border-radius:0 0 6px 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;padding:16px}.email-preview-tabs{display:flex;gap:8px;margin-bottom:16px}.preview-tab{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.preview-tab.active{background:#4a90e2;border-color:#4a90e2;color:#fff}.preview-tab:hover:not(.active){background:#e9ecef}@media (max-width:768px){.email-template-container{gap:16px;grid-template-columns:1fr}.email-template-variables{order:-1}.settings-form-row,.test-email-buttons{flex-direction:column}.settings-form-row{gap:12px}.modal-content{margin:20px;width:calc(100% - 40px)}}.email-settings-loading{align-items:center;color:#6c757d;display:flex;justify-content:center;padding:40px}.settings-input.error{border-color:#dc3545}.settings-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.field-error{color:#dc3545;font-size:12px;margin-top:4px}@keyframes pulse-success{0%{box-shadow:0 0 0 0 #28a74566}70%{box-shadow:0 0 0 10px #28a74500}to{box-shadow:0 0 0 0 #28a74500}}.settings-btn.success-pulse{animation:pulse-success 1s}.preset-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:3000}.preset-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.preset-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.preset-modal-header h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.preset-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.preset-modal-close:hover{background:#f8f9fa;color:#495057}.preset-modal-form{padding:32px}.preset-form-group{margin-bottom:24px}.preset-form-group label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.preset-form-group .required{color:#dc3545}.preset-form-group input,.preset-form-group select{border:2px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .3s ease;width:100%}.preset-form-group input:focus,.preset-form-group select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.preset-form-group input.error,.preset-form-group select.error{border-color:#dc3545}.preset-form-group input:disabled,.preset-form-group select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.6}.error-text{color:#dc3545;display:block;margin-top:4px}.preset-trigger-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.preset-layout-buttons{display:flex;flex-wrap:wrap;gap:12px}.preset-layout-btn{background-color:#fff;border:2px solid #ced4da;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.preset-layout-btn:hover{background-color:#f0f7ff;border-color:#4a90e2}.preset-layout-btn.active{background-color:#4a90e2;border-color:#4a90e2;color:#fff}.preset-labels-list{display:flex;flex-direction:column;gap:12px}.preset-label-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:80px 1fr}.preset-label-number{color:#6c757d;font-size:14px;font-weight:600}.preset-grid-preview{grid-gap:12px;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;display:grid;gap:12px;padding:20px}.preset-grid-preview.layout-1{grid-template-columns:1fr;max-width:200px}.preset-grid-preview.layout-2{grid-template-columns:repeat(2,1fr)}.preset-grid-preview.layout-3{grid-template-columns:repeat(3,1fr)}.preset-grid-preview.layout-4{grid-template-columns:repeat(4,1fr)}.preset-grid-preview.layout-1x2{grid-template-columns:repeat(2,1fr)}.preset-grid-preview.layout-1x3{grid-template-columns:repeat(3,1fr)}.preset-grid-preview.layout-2x2{grid-template-columns:repeat(2,1fr)}.preset-grid-preview.layout-2x3,.preset-grid-preview.layout-3x3{grid-template-columns:repeat(3,1fr)}.preset-grid-slot{background:#fff;border:2px solid #ced4da;border-radius:6px;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:80px;padding:16px;text-align:center}.preset-slot-number{color:#6c757d;font-size:12px;font-weight:600}.preset-slot-label{color:#2c3e50;font-size:14px;font-weight:600}.preset-loading{color:#6c757d;font-size:14px;padding:20px;text-align:center}.preset-modal-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.preset-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:10px 24px;transition:all .2s}.preset-btn-primary{background:#4a90e2;color:#fff}.preset-btn-primary:hover:not(:disabled){background:#357abd;transform:translateY(-1px)}.preset-btn-secondary{background:#6c757d;color:#fff}.preset-btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.preset-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.preset-modal{border-radius:0;max-height:100vh;max-width:100%}.preset-modal-header{padding:16px 20px}.preset-modal-header h2{font-size:20px}.preset-modal-form{padding:20px}.preset-trigger-row{grid-template-columns:1fr}.preset-layout-buttons{justify-content:center}.preset-label-row{grid-template-columns:1fr}.preset-label-number{margin-bottom:-8px}.preset-grid-preview.layout-2x3,.preset-grid-preview.layout-3,.preset-grid-preview.layout-3x3,.preset-grid-preview.layout-4{grid-template-columns:repeat(2,1fr)}.preset-modal-actions{flex-direction:column-reverse}.preset-btn{width:100%}}.image-prefs-tab{max-width:1200px;padding:24px}.image-prefs-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:32px}.image-prefs-header h2{color:#2c3e50;font-size:28px;font-weight:600;margin:0 0 8px}.image-prefs-description{color:#6c757d;font-size:14px;line-height:1.6;margin:0;max-width:600px}.image-prefs-btn-primary{background-color:#4a90e2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.image-prefs-btn-primary:hover{background-color:#357abd;box-shadow:0 4px 8px #4a90e233;transform:translateY(-1px)}.image-prefs-loading{align-items:center;color:#6c757d;display:flex;font-size:16px;justify-content:center;padding:60px 20px}.image-prefs-empty{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:80px 20px;text-align:center}.image-prefs-empty .empty-icon{font-size:64px;margin-bottom:16px}.image-prefs-empty h3{color:#2c3e50;font-size:20px;margin:0 0 8px}.image-prefs-empty p{color:#6c757d;font-size:14px;margin:0 0 24px}.image-prefs-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.image-preset-card{background:#fff;border:2px solid #e9ecef;border-radius:8px;overflow:hidden;transition:all .2s ease}.image-preset-card:hover{border-color:#ced4da;box-shadow:0 4px 12px #00000014}.preset-card-header{align-items:flex-start;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:12px;justify-content:space-between;padding:20px}.preset-card-toggle{align-items:center;display:flex;flex:1 1;gap:12px}.preset-card-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.preset-card-title h3{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.preset-badge-active{background:#28a745;border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.preset-toggle-switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.preset-toggle-switch input{height:0;opacity:0;width:0}.preset-toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.preset-toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}input:checked+.preset-toggle-slider{background-color:#4a90e2}input:checked+.preset-toggle-slider:before{transform:translateX(20px)}.preset-card-actions{display:flex;gap:8px}.preset-action-btn{background:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.preset-edit-btn{border-color:#4a90e2;color:#4a90e2}.preset-edit-btn:hover{background:#4a90e2;color:#fff}.preset-delete-btn{border-color:#dc3545;color:#dc3545;font-size:16px;font-weight:700;padding:6px 10px}.preset-delete-btn:hover{background:#dc3545;color:#fff}.preset-card-body{display:flex;flex-direction:column;gap:12px;padding:20px}.preset-info-row{display:flex;gap:8px}.preset-info-label{color:#6c757d;font-size:13px;font-weight:600;min-width:60px}.preset-info-value{color:#2c3e50;flex:1 1;font-size:13px}.preset-card-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:12px 20px}.preset-modified{color:#6c757d;font-size:12px;font-style:italic}@media (max-width:768px){.image-prefs-tab{padding:16px}.image-prefs-header{align-items:stretch;flex-direction:column}.image-prefs-header h2{font-size:24px}.image-prefs-btn-primary{width:100%}.image-prefs-list{grid-template-columns:1fr}.preset-card-header{align-items:stretch;flex-direction:column}.preset-card-toggle{align-items:flex-start;flex-direction:column;gap:12px}.preset-card-actions{justify-content:flex-end;width:100%}.image-prefs-empty{padding:40px 20px}.image-prefs-empty .empty-icon{font-size:48px}}.cls-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.cls-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.cls-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.cls-header-info p{color:#6b7280;font-size:13px;margin:0}.cls-header-actions{display:flex;gap:8px}.cls-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.cls-btn-primary{background:#3b82f6;color:#fff}.cls-btn-primary:hover{background:#2563eb}.cls-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.cls-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.cls-btn-secondary:hover{background:#f3f4f6}.cls-btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.cls-btn-icon:hover{background:#f3f4f6;color:#111827}.cls-btn-icon:disabled{cursor:not-allowed;opacity:.4}.cls-btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.cls-btn-icon.activate:hover{background:#f0fdf4;color:#10b981}.cls-btn-icon.deactivate:hover{background:#fef2f2;color:#ef4444}.cls-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:13px;gap:8px;margin:12px 16px 0;padding:12px 16px}.cls-error button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto;opacity:.7;padding:4px}.cls-error button:hover{opacity:1}.cls-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.cls-spinner{animation:spin 1s linear infinite}.cls-add-form,.cls-edit-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px}.cls-add-form h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 16px}.cls-form-group{margin-bottom:12px}.cls-form-group label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.cls-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:8px 12px;transition:border-color .15s ease;width:100%}.cls-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.cls-input::placeholder{color:#9ca3af}textarea.cls-input{min-height:80px;resize:vertical}.cls-form-actions{display:flex;gap:8px;margin-top:16px}.cls-color-picker{display:flex;flex-wrap:wrap;gap:8px}.cls-color-option{border:2px solid #0000;border-radius:50%;cursor:pointer;height:28px;transition:all .15s ease;width:28px}.cls-color-option:hover{transform:scale(1.1)}.cls-color-option.selected{border-color:#111827;box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.cls-list{padding:8px 0}.cls-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:12px;padding:12px 20px;transition:background-color .15s ease}.cls-item:last-child{border-bottom:none}.cls-item:hover{background:#f9fafb}.cls-item.inactive{opacity:.6}.cls-item-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.cls-item-content{gap:16px}.cls-item-content,.cls-item-info{align-items:center;display:flex;flex:1 1;min-width:0}.cls-item-info{flex-wrap:wrap;gap:8px}.cls-item-name{color:#111827;font-size:14px;font-weight:500}.cls-item-desc{color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cls-item-duration{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 8px}.cls-item-status{flex-shrink:0}.cls-status-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:500;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.cls-status-badge.active{background:#dcfce7;color:#166534}.cls-status-badge.inactive{background:#f3f4f6;color:#6b7280}.cls-item-actions{display:flex;flex-shrink:0;gap:4px}.cls-item .cls-edit-form{background:#0000;border:none;flex:1 1;padding:0}.cls-item .cls-form-group{margin-bottom:8px}.cls-item .cls-form-actions{margin-top:8px}.cls-empty{padding:48px 20px;text-align:center}.cls-empty p{color:#6b7280;font-size:14px;margin:0}.cls-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 20px}.cls-count{color:#6b7280;font-size:13px}.cls-hint{color:#9ca3af;font-size:12px}@media (max-width:640px){.cls-header{flex-direction:column;gap:12px}.cls-item{flex-wrap:wrap}.cls-item-content{align-items:flex-start;flex-direction:column;gap:8px;width:100%}.cls-item-actions{justify-content:flex-end;width:100%}}.bh-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.bh-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:16px 20px}.bh-header,.bh-header-info{align-items:flex-start;display:flex}.bh-header-info{gap:12px}.bh-header-info svg{color:#3b82f6;margin-top:2px}.bh-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.bh-header-info p{color:#6b7280;font-size:13px;margin:0}.bh-header-actions{display:flex;gap:8px}.bh-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.bh-btn-primary{background:#3b82f6;color:#fff}.bh-btn-primary:hover:not(:disabled){background:#2563eb}.bh-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.bh-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.bh-btn-secondary:hover{background:#f3f4f6}.bh-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.bh-spinner{animation:spin 1s linear infinite}.bh-message{align-items:center;display:flex;font-size:13px;gap:8px;padding:12px 20px}.bh-error{background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626}.bh-success{background:#f0fdf4;border-bottom:1px solid #bbf7d0;color:#16a34a}.bh-section{border-bottom:1px solid #e5e7eb;padding:20px}.bh-section:last-child{border-bottom:none}.bh-section h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 4px}.bh-section>p{color:#6b7280;font-size:13px;margin:0 0 16px}.bh-slot-options{display:flex;flex-wrap:wrap;gap:8px}.bh-slot-option{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:10px 16px;transition:all .15s ease}.bh-slot-option:hover{border-color:#3b82f6}.bh-slot-option.selected{background:#eff6ff;border-color:#3b82f6}.bh-slot-option input{display:none}.bh-slot-option span{color:#374151;font-size:14px}.bh-slot-option.selected span{color:#2563eb;font-weight:500}.bh-days-list{display:flex;flex-direction:column;gap:8px}.bh-day-row{align-items:center;background:#f9fafb;border-radius:6px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .15s ease}.bh-day-row.disabled{opacity:.7}.bh-day-toggle{align-items:center;cursor:pointer;display:flex;gap:12px;min-width:140px}.bh-day-toggle input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.bh-day-label{color:#111827;font-size:14px;font-weight:500}.bh-day-row.disabled .bh-day-label{color:#6b7280}.bh-day-hours{align-items:center;display:flex;gap:12px}.bh-time-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px}.bh-time-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.bh-time-separator{color:#6b7280;font-size:13px}.bh-closed-label{color:#9ca3af;font-size:13px;font-style:italic}.bh-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:16px 20px}.bh-footer p{color:#9ca3af;font-size:12px;margin:0}@media (max-width:640px){.bh-day-row,.bh-header{flex-direction:column;gap:12px}.bh-day-row{align-items:flex-start}.bh-day-hours{width:100%}.bh-slot-options{flex-direction:column}.bh-slot-option{width:100%}}.schedule-settings-tab{margin:0 auto;max-width:1200px}.schedule-settings-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:24px}.schedule-settings-icon{color:#3b82f6}.schedule-settings-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}.schedule-settings-header p{color:#6b7280;font-size:14px;margin:0}.schedule-settings-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:280px 1fr}.schedule-settings-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px;position:-webkit-sticky;position:sticky;top:90px}.schedule-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .15s ease;width:100%}.schedule-nav-item:hover{background:#f3f4f6}.schedule-nav-item.active{background:#eff6ff;color:#2563eb}.schedule-nav-item svg:first-child{color:#6b7280;flex-shrink:0}.schedule-nav-item.active svg:first-child{color:#2563eb}.schedule-nav-item-content{flex:1 1;min-width:0}.schedule-nav-item-label{color:#111827;display:block;font-size:14px;font-weight:500}.schedule-nav-item.active .schedule-nav-item-label{color:#2563eb}.schedule-nav-item-desc{color:#9ca3af;display:block;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-nav-item-arrow{color:#d1d5db;flex-shrink:0}.schedule-nav-item.active .schedule-nav-item-arrow{color:#2563eb}.schedule-settings-content{min-width:0}@media (max-width:900px){.schedule-settings-layout{grid-template-columns:1fr}.schedule-settings-nav{flex-direction:row;flex-wrap:wrap;position:static}.schedule-nav-item{flex:1 1 auto;min-width:140px}.schedule-nav-item-arrow,.schedule-nav-item-desc{display:none}}.sidebar-fields-settings{padding:24px}.settings-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:24px}.settings-header-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;color:#2563eb;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.settings-header h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 4px}.settings-header p{color:#6b7280;font-size:14px;margin:0}.settings-info-box{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;display:flex;font-size:13px;gap:10px;margin-bottom:20px;padding:12px 16px}.settings-info-box svg{flex-shrink:0}.fields-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.field-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:12px 16px;transition:all .15s ease}.field-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.field-item.enabled{background:#f0fdf4;border-color:#86efac}.field-drag-handle{color:#9ca3af;cursor:grab;padding:4px}.field-drag-handle:active{cursor:grabbing}.field-content{flex:1 1;min-width:0}.field-label{color:#111827;display:block;font-size:14px;font-weight:500;margin-bottom:2px}.field-description{color:#6b7280;display:block;font-size:12px}.field-toggle{align-items:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:6px;color:#0000;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;width:32px}.field-toggle:hover{background:#e5e7eb;border-color:#d1d5db}.field-toggle.active{background:#22c55e;border-color:#16a34a;color:#fff}.field-toggle.active:hover{background:#16a34a}.settings-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.btn-primary,.btn-secondary{border-radius:6px;padding:10px 20px}.save-message{border-radius:6px;font-size:14px;margin-top:16px;padding:12px 16px;text-align:center}.save-message.success{background:#dcfce7;border:1px solid #86efac;color:#166534}.save-message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.settings-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.settings-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:24px;width:24px}@media (max-width:640px){.sidebar-fields-settings{padding:16px}.settings-header{gap:12px}.settings-actions,.settings-header{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.patient-settings-tab{margin:0 auto;max-width:1200px}.patient-settings-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:24px}.patient-settings-icon{color:#10b981}.patient-settings-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}.patient-settings-header p{color:#6b7280;font-size:14px;margin:0}.patient-settings-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:280px 1fr}.patient-settings-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px;position:-webkit-sticky;position:sticky;top:90px}.patient-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .15s ease;width:100%}.patient-nav-item:hover{background:#f3f4f6}.patient-nav-item.active{background:#ecfdf5;color:#059669}.patient-nav-item svg:first-child{color:#6b7280;flex-shrink:0}.patient-nav-item.active svg:first-child{color:#059669}.patient-nav-item-content{flex:1 1;min-width:0}.patient-nav-item-label{color:#111827;display:block;font-size:14px;font-weight:500}.patient-nav-item.active .patient-nav-item-label{color:#059669}.patient-nav-item-desc{color:#9ca3af;display:block;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-nav-item-arrow{color:#d1d5db;flex-shrink:0}.patient-nav-item.active .patient-nav-item-arrow{color:#059669}.patient-settings-content{min-width:0}@media (max-width:900px){.patient-settings-layout{grid-template-columns:1fr}.patient-settings-nav{flex-direction:row;flex-wrap:wrap;position:static}.patient-nav-item{flex:1 1 auto;min-width:140px}.patient-nav-item-arrow,.patient-nav-item-desc{display:none}}.pcs-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.pcs-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.pcs-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.pcs-header-info p{color:#6b7280;font-size:13px;margin:0}.pcs-header-actions{display:flex;gap:8px}.pcs-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.pcs-btn-primary{background:#3b82f6;color:#fff}.pcs-btn-primary:hover:not(:disabled){background:#2563eb}.pcs-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.pcs-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.pcs-btn-secondary:hover{background:#f3f4f6}.pcs-btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.pcs-btn-icon:hover{background:#f3f4f6;color:#111827}.pcs-btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.pcs-btn-icon.activate:hover{background:#f0fdf4;color:#10b981}.pcs-btn-icon.deactivate:hover{background:#fef2f2;color:#ef4444}.pcs-error{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:13px;gap:8px;padding:12px 20px}.pcs-error button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.pcs-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.pcs-spinner{animation:spin 1s linear infinite}.pcs-filters{border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 20px}.pcs-search{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex:1 1;gap:8px;padding:8px 12px}.pcs-search svg{color:#9ca3af}.pcs-search input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.pcs-search input::placeholder{color:#9ca3af}.pcs-category-filter{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;min-width:150px;padding:8px 12px}.pcs-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px}.pcs-form h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 16px}.pcs-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.pcs-form-group{display:flex;flex-direction:column;gap:4px}.pcs-form-group label{color:#374151;font-size:13px;font-weight:500}.pcs-form-full{grid-column:span 2}.pcs-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:8px 12px}.pcs-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.pcs-input:disabled{background:#f3f4f6;color:#6b7280}.pcs-fee-input{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:8px;padding:0 0 0 12px}.pcs-fee-input svg{color:#6b7280}.pcs-fee-input input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none;padding:8px 12px 8px 0}.pcs-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;padding-top:8px}.pcs-checkbox-label input{accent-color:#3b82f6;height:16px;width:16px}.pcs-form-actions{display:flex;gap:8px;margin-top:16px}.pcs-tooth-config{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;padding:16px}.pcs-tooth-config h5{color:#374151;font-size:13px;font-weight:600;margin:0 0 12px}.pcs-tooth-options{display:flex;gap:24px;margin-bottom:12px}.pcs-allowed-teeth{border-top:1px solid #e5e7eb;padding-top:12px}.pcs-teeth-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.pcs-teeth-header span{color:#6b7280;font-size:12px}.pcs-teeth-actions{display:flex;gap:12px}.pcs-btn-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:12px;padding:0}.pcs-btn-link:hover{text-decoration:underline}.pcs-teeth-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(16,1fr);margin-bottom:12px}.pcs-tooth-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:11px;font-weight:500;padding:6px 4px;transition:all .15s}.pcs-tooth-btn:hover{border-color:#3b82f6}.pcs-tooth-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.pcs-sextants-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,1fr)}.pcs-sextant-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;padding:8px;transition:all .15s}.pcs-sextant-btn:hover{border-color:#10b981}.pcs-sextant-btn.selected{background:#10b981;border-color:#10b981;color:#fff}.pcs-list{max-height:600px;overflow-y:auto}.pcs-empty{color:#6b7280;padding:48px 20px;text-align:center}.pcs-category{border-bottom:1px solid #e5e7eb}.pcs-category:last-child{border-bottom:none}.pcs-category-header{align-items:center;background:#f9fafb;display:flex;justify-content:space-between;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.pcs-category-header h4{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.pcs-category-count{color:#9ca3af;font-size:12px}.pcs-codes{padding:8px 0}.pcs-code{align-items:center;display:flex;gap:16px;padding:10px 20px;transition:background-color .15s ease}.pcs-code:hover{background:#f9fafb}.pcs-code.inactive{opacity:.6}.pcs-code-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.pcs-code-code{color:#111827;font-family:monospace;font-size:14px;font-weight:600;min-width:70px}.pcs-code-desc{color:#6b7280;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcs-code-fee{min-width:100px;text-align:right}.pcs-fee{color:#059669;font-size:14px;font-weight:500}.pcs-no-charge{color:#9ca3af;font-size:12px;font-style:italic}.pcs-code-actions{display:flex;flex-shrink:0;gap:4px}.pcs-edit-form{width:100%}.pcs-edit-form .pcs-form-grid{grid-template-columns:repeat(4,1fr)}.pcs-edit-form .pcs-form-actions{justify-content:flex-start}.pcs-footer{background:#f9fafb;border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:13px;justify-content:space-between;padding:12px 20px}@media (max-width:768px){.pcs-filters{flex-direction:column}.pcs-form-grid{grid-template-columns:1fr 1fr}.pcs-form-full{grid-column:span 2}.pcs-code-info{align-items:flex-start;flex-direction:column;gap:4px}.pcs-code-fee{min-width:auto}.pcs-edit-form .pcs-form-grid{grid-template-columns:1fr 1fr}}.mcs-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.mcs-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.mcs-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.mcs-header-info p{color:#6b7280;font-size:13px;margin:0}.mcs-header-actions{display:flex;gap:8px}.mcs-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.mcs-btn-primary{background:#3b82f6;color:#fff}.mcs-btn-primary:hover:not(:disabled){background:#2563eb}.mcs-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.mcs-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.mcs-btn-secondary:hover{background:#f3f4f6}.mcs-btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.mcs-btn-icon:hover{background:#f3f4f6;color:#111827}.mcs-btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.mcs-btn-icon.activate:hover{background:#f0fdf4;color:#10b981}.mcs-btn-icon.deactivate:hover{background:#fef2f2;color:#ef4444}.mcs-error{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:13px;gap:8px;padding:12px 20px}.mcs-error button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.mcs-loading{align-items:center;color:#6b7280;display:flex;gap:12px;justify-content:center;padding:48px}.mcs-spinner{animation:mcs-spin 1s linear infinite}@keyframes mcs-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mcs-filters{border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 20px}.mcs-search{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex:1 1;gap:8px;padding:8px 12px}.mcs-search svg{color:#9ca3af}.mcs-search input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.mcs-search input::placeholder{color:#9ca3af}.mcs-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px}.mcs-form h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 16px}.mcs-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr}.mcs-form-group{display:flex;flex-direction:column;gap:4px}.mcs-form-group label{color:#374151;font-size:13px;font-weight:500}.mcs-form-full{grid-column:span 2}.mcs-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:8px 12px}.mcs-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.mcs-procedures-section{margin-top:16px}.mcs-procedures-section>label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.mcs-procedure-search{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:8px;padding:8px 12px;position:relative}.mcs-procedure-search svg{color:#9ca3af}.mcs-procedure-search input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.mcs-procedure-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.mcs-procedure-option{grid-gap:12px;border-bottom:1px solid #f3f4f6;cursor:pointer;display:grid;gap:12px;grid-template-columns:80px 1fr auto;padding:10px 14px}.mcs-procedure-option:last-child{border-bottom:none}.mcs-procedure-option:hover{background:#f8fafc}.mcs-proc-code{color:#3b82f6;font-size:13px;font-weight:600}.mcs-proc-desc{color:#374151;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcs-proc-fee{color:#059669;font-size:13px;font-weight:500}.mcs-selected-procedures{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-top:12px;overflow:hidden}.mcs-selected-procedure{grid-gap:12px;align-items:center;border-bottom:1px solid #f3f4f6;display:grid;gap:12px;grid-template-columns:80px 1fr auto 28px;padding:10px 14px}.mcs-selected-procedure:last-of-type{border-bottom:1px solid #e5e7eb}.mcs-remove-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.mcs-remove-btn:hover{background:#fef2f2;color:#ef4444}.mcs-procedures-total{background:#f9fafb;color:#059669;display:flex;font-weight:500;justify-content:space-between;padding:10px 14px}.mcs-no-procedures{background:#fff;border:1px dashed #d1d5db;border-radius:6px;color:#9ca3af;font-size:13px;margin-top:12px;padding:20px;text-align:center}.mcs-form-actions{display:flex;gap:8px;margin-top:16px}.mcs-list{max-height:600px;overflow-y:auto}.mcs-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:16px;padding:48px 20px;text-align:center}.mcs-empty svg{color:#d1d5db}.mcs-item{border-bottom:1px solid #e5e7eb;padding:16px 20px}.mcs-item:last-child{border-bottom:none}.mcs-item.inactive{opacity:.6}.mcs-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.mcs-item-info h4{color:#111827;font-size:15px;font-weight:600;margin:0 0 4px}.mcs-item-info p{color:#6b7280;font-size:13px;margin:0}.mcs-item-actions{display:flex;gap:4px}.mcs-item-codes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.mcs-code-tag{align-items:center;background:#f3f4f6;border-radius:4px;display:flex;font-size:13px;gap:8px;padding:6px 10px}.mcs-code-tag-code{color:#3b82f6;font-weight:600}.mcs-code-tag-fee{color:#059669}.mcs-item-total{color:#059669;font-size:14px;font-weight:600}.mcs-footer{background:#f9fafb;border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:13px;justify-content:space-between;padding:12px 20px}@media (max-width:768px){.mcs-form-grid{grid-template-columns:1fr}.mcs-form-full{grid-column:span 1}.mcs-selected-procedure{grid-template-columns:1fr auto 28px}.mcs-selected-procedure .mcs-proc-desc{display:none}}.procedure-settings-tab{margin:0 auto;max-width:1200px}.procedure-settings-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:24px}.procedure-settings-icon{color:#f59e0b}.procedure-settings-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}.procedure-settings-header p{color:#6b7280;font-size:14px;margin:0}.procedure-settings-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:280px 1fr}.procedure-settings-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px;position:-webkit-sticky;position:sticky;top:90px}.procedure-nav-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .15s ease;width:100%}.procedure-nav-item:hover{background:#f3f4f6}.procedure-nav-item.active{background:#fffbeb;color:#d97706}.procedure-nav-item svg:first-child{color:#6b7280;flex-shrink:0}.procedure-nav-item.active svg:first-child{color:#d97706}.procedure-nav-item-content{flex:1 1;min-width:0}.procedure-nav-item-label{color:#111827;display:block;font-size:14px;font-weight:500}.procedure-nav-item.active .procedure-nav-item-label{color:#d97706}.procedure-nav-item-desc{color:#9ca3af;display:block;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procedure-nav-item-arrow{color:#d1d5db;flex-shrink:0}.procedure-nav-item.active .procedure-nav-item-arrow{color:#d97706}.procedure-settings-content{min-width:0}@media (max-width:900px){.procedure-settings-layout{grid-template-columns:1fr}.procedure-settings-nav{flex-direction:row;flex-wrap:wrap;position:static}.procedure-nav-item{flex:1 1 auto;min-width:140px}.procedure-nav-item-arrow,.procedure-nav-item-desc{display:none}}.app-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d;display:flex;height:57px;justify-content:space-between;left:0;padding:16px 24px;position:fixed;right:0;top:0;z-index:1002}.header-left h1{color:#2c3e50;font-size:20px;font-weight:600;margin:0}.header-nav{display:flex;gap:8px}.nav-link{background:none;border:1px solid #0000;border-radius:6px;color:#495057;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.nav-link:hover{background-color:#f8f9fa;border-color:#dee2e6}.nav-link.active{background-color:#007bff;border-color:#007bff;color:#fff}.logout-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.logout-btn:hover{background-color:#c82333}@media (max-width:768px){.app-header{height:50px;padding:8px 12px;position:fixed;top:env(safe-area-inset-top,0);z-index:1003}.header-left h1{font-size:14px}.header-nav{display:none}.mobile-menu-button{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;display:flex!important;font-size:18px;justify-content:center;margin-right:8px;padding:8px}.mobile-menu-button:hover{background:#e9ecef}.mobile-menu{background:#fff;border-top:1px solid #e9ecef;box-shadow:0 2px 8px #0000001a;left:0;position:absolute;right:0;top:100%;z-index:1004}.mobile-menu .nav-link{border-bottom:1px solid #f0f0f0;display:block;padding:12px 16px;text-align:left;width:100%}.logout-btn{font-size:12px;padding:4px 8px}}@media (min-width:769px){.mobile-menu-button{display:none}}.unread-count-badge{background:#dc3545;border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-left:6px;min-width:18px;padding:2px 6px;text-align:center}.nav-link{align-items:center;display:flex;position:relative}.info-section-box{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:24px;padding:24px}.section-subtitle-text{border-bottom:2px solid #007bff;color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.doctor-search-wrapper,.office-search-wrapper,.patient-search-wrapper{margin-bottom:20px}.field-label-text{color:#495057;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.text-input-field{border:1px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.text-input-field:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.helper-text-small{color:#6c757d;font-size:12px;font-style:italic;margin-top:4px}.form-row-dual{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-field-group,.form-row-dual{margin-bottom:16px}.patient-autocomplete-wrapper{position:relative}.patient-dropdown-menu{background:#fff;border:1px solid #dee2e6;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;margin-top:-1px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.patient-dropdown-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:background .2s}.patient-dropdown-item:hover{background:#f8f9fa}.patient-dropdown-item:last-child{border-bottom:none}.patient-name-display{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:4px}.patient-dob-display{color:#6c757d;font-size:12px}.back-step-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 32px;transition:background .2s}.back-step-btn:hover{background:#5a6268}.continue-step-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 32px;transition:all .2s ease}.continue-step-btn:hover{background:#0056b3;box-shadow:0 4px 8px #007bff33;transform:translateY(-1px)}.step-actions-section{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}@media (max-width:768px){.step-actions-section{flex-direction:column}.back-step-btn,.continue-step-btn{width:100%}.form-row-dual{gap:0;grid-template-columns:1fr}.info-section-box{padding:16px}.section-subtitle-text{font-size:16px}.step-actions-section{flex-direction:column}.back-step-btn,.continue-step-btn{width:100%}}.letter-autocomplete-container{margin-bottom:16px;position:relative}.letter-autocomplete-wrapper{position:relative}.letter-autocomplete-dropdown{background:#fff;border:1px solid #dee2e6;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;margin-top:-1px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.letter-autocomplete-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:background .2s}.letter-autocomplete-item:hover{background:#f8f9fa}.letter-autocomplete-item:last-of-type{border-bottom:none}.letter-autocomplete-main{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:4px}.letter-office-separator{color:#6c757d;font-weight:400}.letter-autocomplete-secondary{color:#6c757d;font-size:12px}.letter-autocomplete-loading{color:#6c757d;font-size:14px;padding:16px;text-align:center}.letter-autocomplete-create{background:#d4edda;border-top:1px solid #c3e6cb;cursor:pointer;padding:12px 16px;transition:background .2s}.letter-autocomplete-create:hover{background:#c3e6cb}.letter-create-icon{color:#28a745;font-size:16px;font-weight:700;margin-right:8px}.letter-create-helper{color:#155724;font-size:11px;font-style:italic;margin-top:2px}.patient-autocomplete-dropdown{max-height:280px}.patient-autocomplete-item{padding:14px 16px}.patient-name-result{color:#1f2937;font-weight:600}.patient-dob-result{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;margin-left:12px;padding:2px 8px}.patient-referral-info{color:#059669;font-size:12px;margin-top:6px}.letter-autocomplete-empty{color:#9ca3af;font-size:14px;padding:16px;text-align:center}.clinical-data-step{margin:0 auto;max-width:1000px;padding:2rem}.clinical-step-header{margin-bottom:2rem;text-align:center}.clinical-step-header h2{color:#1a1a1a;font-size:1.75rem;margin-bottom:.5rem}.clinical-step-description{color:#666;font-size:.95rem;line-height:1.4;margin-bottom:.75rem}.clinical-autosave-notice{align-items:center;background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;color:#06c;display:flex;font-size:.9rem;justify-content:center;margin-top:1rem;padding:.5rem}.autosave-icon{font-size:1rem;margin-right:.5rem}.clinical-progress-summary{background:#f8f9fa;border-radius:8px;color:#495057;font-size:.95rem;font-weight:600;margin-bottom:1.5rem;padding:.75rem;text-align:center}.clinical-tabs-container{align-items:center;border-bottom:2px solid #e9ecef;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding-bottom:.5rem}.clinical-tab-item{align-items:center;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px 8px 0 0;cursor:pointer;display:flex;gap:.5rem;min-width:100px;padding:.75rem 1rem;position:relative;transition:all .2s ease}.clinical-tab-item:hover{background:#e9ecef;border-color:#adb5bd}.clinical-tab-item.clinical-tab-active{background:#fff;border-color:#06c;border-bottom:2px solid #fff;margin-bottom:-2px;padding-bottom:calc(.75rem + 2px)}.clinical-tab-item.clinical-tab-complete{background:#f0f8f0;border-color:#c3e6cb}.clinical-tab-item.clinical-tab-complete.clinical-tab-active{background:#f0f8f0;border-color:#28a745}.clinical-tab-number{color:#495057;font-size:.95rem;font-weight:600}.clinical-tab-icon{font-size:1rem}.clinical-tab-close{align-items:center;background:#dc3545;border:2px solid #fff;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.85rem;height:20px;justify-content:center;line-height:1;position:absolute;right:-6px;top:-6px;transition:all .2s ease;width:20px}.clinical-tab-close:hover{background:#c82333;transform:scale(1.1)}.clinical-add-tooth-container{position:relative}.clinical-add-tooth-btn{background:#28a745;border:none;border-radius:8px 8px 0 0;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.clinical-add-tooth-btn:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.clinical-add-tooth-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.clinical-add-tooth-dropdown{background:#fff;border:2px solid #28a745;border-radius:0 8px 8px 8px;box-shadow:0 4px 12px #00000026;left:0;max-height:300px;min-width:150px;overflow-y:auto;position:absolute;top:100%;z-index:100}.clinical-add-tooth-option{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:.75rem 1rem;transition:background .2s ease}.clinical-add-tooth-option:hover{background:#f0f8f0}.clinical-add-tooth-option:last-child{border-bottom:none}.clinical-empty-state{background:#f8f9fa;border-radius:8px;color:#6c757d;font-size:1rem;padding:4rem 2rem;text-align:center}.clinical-tooth-content{background:#fff;border-radius:8px;padding:2rem}.clinical-tooth-fields{display:flex;flex-direction:column;gap:1.5rem}.clinical-soap-section{border:1px solid;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:1.5rem}.clinical-subjective-section{background:#fef5f5;border-color:#f8d7da}.clinical-objective-section{background:#f5f5ff;border-color:#e0e0f0}.clinical-assessment-section{background:#f0f7ff;border-color:#d0e5ff}.clinical-plan-section{background:#f5fef5;border-color:#d4edda}.clinical-soap-header{border-bottom:2px solid;margin-bottom:1.5rem;padding-bottom:.75rem}.clinical-subjective-section .clinical-soap-header{border-color:#f8d7da}.clinical-objective-section .clinical-soap-header{border-color:#e0e0f0}.clinical-assessment-section .clinical-soap-header{border-color:#d0e5ff}.clinical-plan-section .clinical-soap-header{border-color:#d4edda}.clinical-soap-header h3{color:#333;font-size:1.1rem;font-weight:600;margin:0}.clinical-form-card{background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:1rem;padding:1.25rem}.clinical-form-card:last-child{margin-bottom:0}.clinical-form-card h4{color:#333;font-size:.95rem;font-weight:600;margin:0 0 1rem}.clinical-form-card h5{color:#495057;font-size:.85rem;font-weight:600;margin:1rem 0 .75rem}.clinical-treatment-card{background:#f0f7ff!important;border-color:#d0e5ff!important}.clinical-eval-card{background:#fff5f0!important;border-color:#ffe0cc!important}.clinical-radio-section{margin-bottom:1rem}.clinical-radio-group{display:flex;flex-direction:column;gap:.75rem}.clinical-radio-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem;transition:background-color .2s ease}.clinical-radio-label:hover{background-color:#0066cc0d}.clinical-radio-label input[type=radio]{display:none}.clinical-radio-custom{background:#fff;border:2px solid #dee2e6;border-radius:50%;flex-shrink:0;height:18px;position:relative;transition:all .2s ease;width:18px}.clinical-radio-label input[type=radio]:checked+.clinical-radio-custom{background:#06c;border-color:#06c}.clinical-radio-label input[type=radio]:checked+.clinical-radio-custom:after{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.clinical-radio-group-inline{display:flex;gap:1.5rem;padding:.5rem 0}.clinical-radio-label-inline{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.5rem 1rem;transition:background-color .2s ease}.clinical-radio-label-inline:hover{background-color:#0066cc0d}.clinical-radio-label-inline input[type=radio]{display:none}.clinical-radio-label-inline .clinical-radio-custom{background:#fff;border:2px solid #dee2e6;border-radius:50%;height:18px;position:relative;transition:all .2s ease;width:18px}.clinical-radio-label-inline input[type=radio]:checked+.clinical-radio-custom{background:#06c;border-color:#06c}.clinical-radio-label-inline input[type=radio]:checked+.clinical-radio-custom:after{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.clinical-nitrous-percent-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-top:.5rem}.clinical-nitrous-percent-option{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.75rem;transition:background-color .2s ease}.clinical-nitrous-percent-option:hover{background-color:#e9ecef}.clinical-nitrous-percent-option input[type=radio]{display:none}.clinical-nitrous-percent-option input[type=radio]:checked+.clinical-radio-custom{background:#06c;border-color:#06c}.clinical-nitrous-percent-option input[type=radio]:checked+.clinical-radio-custom:after{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.clinical-nitrous-percent-option .percent-label{font-weight:500}@media (max-width:768px){.clinical-nitrous-percent-options{grid-template-columns:repeat(2,1fr)}}.clinical-checkbox-section{margin-bottom:1rem}.clinical-checkbox-group{display:flex;flex-direction:column;gap:.75rem}.clinical-checkbox-group-horizontal{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem 1.5rem}.clinical-checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem;transition:background-color .2s ease}.clinical-checkbox-label:hover{background-color:#28a7450d}.clinical-checkbox-label input[type=checkbox]{display:none}.clinical-checkbox-custom{background:#fff;border:2px solid #dee2e6;border-radius:4px;flex-shrink:0;height:18px;position:relative;transition:all .2s ease;width:18px}.clinical-checkbox-label input[type=checkbox]:checked+.clinical-checkbox-custom{background:#28a745;border-color:#28a745}.clinical-checkbox-label input[type=checkbox]:checked+.clinical-checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.clinical-custom-input,.clinical-text-input{border:1px solid #ced4da;border-radius:6px;font-size:.9rem;padding:.75rem;width:100%}.clinical-custom-input:focus,.clinical-text-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.clinical-custom-input{margin-top:.5rem}.clinical-select-input{background-color:#fff;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;padding:.75rem;width:100%}.clinical-select-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.clinical-btn-manage-options{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-bottom:1rem;padding:.6rem;transition:all .2s;width:100%}.clinical-btn-manage-options:hover{background:#5a6268;transform:translateY(-1px)}.clinical-btn-add-entry{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:1rem;padding:.75rem;transition:all .2s;width:100%}.clinical-btn-add-entry:hover{background:#218838;transform:translateY(-1px)}.clinical-btn-remove-entry{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-top:1rem;padding:.5rem 1rem;transition:all .2s}.clinical-btn-remove-entry:hover{background:#c82333}.clinical-anesthetic-entries,.clinical-canal-entries{margin:1rem 0}.clinical-anesthetic-entry-card,.clinical-canal-entry-card{background:#fff;border:2px solid #dee2e6;border-radius:8px;margin-bottom:1rem;padding:1.25rem}.clinical-entry-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.clinical-entry-header h5{color:#06c;font-size:1rem;font-weight:700;margin:0}.clinical-entry-header .clinical-btn-remove-entry{font-size:.8rem;margin-top:0;padding:.4rem .8rem}.clinical-entry-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.clinical-canal-entry-row{display:flex;flex-wrap:nowrap;gap:1rem;margin-bottom:1rem}.clinical-entry-field{min-width:200px}.clinical-canal-entry-field,.clinical-entry-field{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.clinical-canal-entry-field{min-width:120px}.clinical-entry-field label{color:#495057;font-size:.85rem;font-weight:600}.clinical-treatment-toggle-section{margin:2rem auto;max-width:600px;padding:0 2rem}.clinical-toggle-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;text-align:center}.clinical-toggle-card h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.clinical-toggle-label{align-items:center;cursor:pointer;display:flex;font-size:1rem;gap:1rem;justify-content:center}.clinical-toggle-input{display:none}.clinical-toggle-slider{background:#ccc;border-radius:30px;flex-shrink:0;height:30px;position:relative;transition:all .3s ease;width:60px}.clinical-toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:24px;left:3px;position:absolute;top:3px;transition:all .3s ease;width:24px}.clinical-toggle-input:checked+.clinical-toggle-slider{background:#06c}.clinical-toggle-input:checked+.clinical-toggle-slider:before{transform:translateX(30px)}.clinical-toggle-text{color:#333;font-weight:500}.clinical-error-text{color:#dc3545;font-size:.8rem;font-weight:500;margin-top:.5rem}.clinical-step-navigation{align-items:center;border-top:2px solid #f8f9fa;display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:2rem}.clinical-step-nav-actions{display:flex;gap:1rem}.clinical-autosave-status{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.85rem;min-width:150px;padding:.5rem .75rem;text-align:center}.autosave-saving{color:#06c;font-weight:600}.autosave-saved{color:#28a745;font-weight:600}.autosave-error{color:#dc3545;font-weight:600}.autosave-ready{color:#6c757d;font-style:italic}.autosave-pending{color:#ffc107;font-style:italic}.clinical-sync-note{background-color:#f0f7ff;border:1px solid #b3d7ff;border-radius:6px;color:#004085;font-size:.9rem;margin-bottom:1rem;margin-top:1.5rem;padding:.75rem 1rem}.clinical-sync-note p{align-items:center;display:flex;margin:0}.sync-icon{color:#06c;font-size:1.1rem;margin-right:.5rem}.clinical-btn-primary,.clinical-btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.clinical-btn-secondary{background-color:#f5f5f5;color:#333}.clinical-btn-secondary:hover{background-color:#e0e0e0}.clinical-btn-primary{background-color:#06c;color:#fff}.clinical-btn-primary:hover{background-color:#0052a3;box-shadow:0 4px 8px #06c3;transform:translateY(-1px)}.clinical-btn-primary:active,.clinical-btn-secondary:active{transform:translateY(0)}@media (max-width:768px){.clinical-data-step{padding:1rem}.clinical-radio-group-inline{flex-direction:column;gap:.75rem}.clinical-step-navigation{flex-direction:column}.clinical-btn-primary,.clinical-btn-secondary{width:100%}.clinical-treatment-toggle-section{padding:0 1rem}.clinical-toggle-card{padding:1.5rem}.clinical-toggle-label{flex-direction:column;gap:.75rem}}.anesthetic-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.anesthetic-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;width:90%}.anesthetic-modal-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.anesthetic-modal-header h2{color:#1a1a1a;font-size:1.5rem;margin:0}.anesthetic-modal-close{background:none;border:none;color:#6c757d;cursor:pointer;font-size:2rem;height:30px;line-height:1;padding:0;width:30px}.anesthetic-modal-close:hover{color:#dc3545}.anesthetic-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.anesthetic-loading{color:#6c757d;padding:2rem;text-align:center}.anesthetic-section{margin-bottom:2rem}.anesthetic-section h3{border-bottom:2px solid #06c;color:#06c;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.anesthetic-list{margin-bottom:1rem}.anesthetic-item{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.anesthetic-name{color:#333;flex:1 1;font-size:.95rem}.anesthetic-edit-input{border:2px solid #06c;border-radius:4px;flex:1 1;font-size:.95rem;padding:.5rem}.anesthetic-actions{display:flex;gap:.5rem}.anesthetic-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.anesthetic-actions button:not(.anesthetic-delete){background:#6c757d;color:#fff}.anesthetic-actions button:not(.anesthetic-delete):hover{background:#5a6268}.anesthetic-actions button:disabled{cursor:not-allowed;opacity:.5}.anesthetic-delete{background:#dc3545!important;color:#fff!important}.anesthetic-delete:hover{background:#c82333!important}.anesthetic-add{display:flex;gap:.5rem;margin-top:1rem}.anesthetic-add-input{border:1px solid #ced4da;border-radius:6px;flex:1 1;font-size:.95rem;padding:.6rem}.anesthetic-add-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.anesthetic-add-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;transition:all .2s;white-space:nowrap}.anesthetic-add-btn:hover{background:#218838;transform:translateY(-1px)}.anesthetic-modal-footer{border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.anesthetic-btn-cancel,.anesthetic-btn-save{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.anesthetic-btn-cancel{background:#f5f5f5;color:#333}.anesthetic-btn-cancel:hover{background:#e0e0e0}.anesthetic-btn-save{background:#06c;color:#fff}.anesthetic-btn-save:hover{background:#0052a3;transform:translateY(-1px)}.anesthetic-btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.anesthetic-modal-content{max-height:95vh;width:95%}.anesthetic-item{align-items:stretch;flex-direction:column;gap:.5rem}.anesthetic-actions{justify-content:flex-end}.anesthetic-add{flex-direction:column}.anesthetic-modal-footer{flex-direction:column-reverse}.anesthetic-btn-cancel,.anesthetic-btn-save{width:100%}}.canal-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.canal-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:90%}.canal-modal-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.canal-modal-header h2{color:#1a1a1a;font-size:1.5rem;margin:0}.canal-modal-close{background:none;border:none;color:#6c757d;cursor:pointer;font-size:2rem;height:30px;line-height:1;padding:0;width:30px}.canal-modal-close:hover{color:#dc3545}.canal-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.canal-loading{color:#6c757d;padding:2rem;text-align:center}.canal-list{margin-bottom:1rem}.canal-item{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.canal-name{color:#333;flex:1 1;font-size:.95rem}.canal-edit-input{border:2px solid #06c;border-radius:4px;flex:1 1;font-size:.95rem;padding:.5rem}.canal-actions{display:flex;gap:.5rem}.canal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.canal-actions button:not(.canal-delete){background:#6c757d;color:#fff}.canal-actions button:not(.canal-delete):hover{background:#5a6268}.canal-actions button:disabled{cursor:not-allowed;opacity:.5}.canal-delete{background:#dc3545!important;color:#fff!important}.canal-delete:hover{background:#c82333!important}.canal-add{display:flex;gap:.5rem;margin-top:1rem}.canal-add-input{border:1px solid #ced4da;border-radius:6px;flex:1 1;font-size:.95rem;padding:.6rem}.canal-add-input:focus{border-color:#06c;box-shadow:0 0 0 2px #0066cc1a;outline:none}.canal-add-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;transition:all .2s;white-space:nowrap}.canal-add-btn:hover{background:#218838;transform:translateY(-1px)}.canal-modal-footer{border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.canal-btn-cancel,.canal-btn-save{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.canal-btn-cancel{background:#f5f5f5;color:#333}.canal-btn-cancel:hover{background:#e0e0e0}.canal-btn-save{background:#06c;color:#fff}.canal-btn-save:hover{background:#0052a3;transform:translateY(-1px)}.canal-btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.canal-modal-content{max-height:95vh;width:95%}.canal-item{align-items:stretch;flex-direction:column;gap:.5rem}.canal-actions{justify-content:flex-end}.canal-add{flex-direction:column}.canal-modal-footer{flex-direction:column-reverse}.canal-btn-cancel,.canal-btn-save{width:100%}}.tooth-selector{-webkit-user-select:none;user-select:none;width:100%}.tooth-graphic{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;width:100%}.tooth-circle{border:2px solid #ddd;color:#333;font-size:.75rem;height:32px;min-width:28px;transition:all .2s ease;width:32px}.tooth-circle:hover{background-color:#f0f7ff;border-color:#06c;transform:scale(1.05)}.tooth-circle.selected{background-color:#06c;border-color:#06c;box-shadow:0 2px 8px #0066cc4d}.tooth-graphic-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;width:100%}.clear-all-btn{background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .2s ease}.clear-all-btn:hover{background-color:#5a6268}.selection-summary{background-color:#f0f7ff;border:1px solid #b3d9ff;color:#06c;flex:1 1;font-size:.85rem;padding:.5rem 1rem;text-align:center}@media (max-width:768px){.tooth-circle{font-size:.7rem;height:28px;min-width:24px;width:28px}.tooth-row{gap:.2rem}.tooth-graphic-controls{flex-direction:column;gap:.5rem}.selection-summary{width:100%}}@media (max-width:480px){.tooth-circle{font-size:.65rem;height:24px;min-width:20px;width:24px}.tooth-row{gap:.1rem}}.image-upload-step{margin:0 auto;max-width:1000px;padding:2rem}.step-header{margin-bottom:2.5rem;text-align:center}.step-header h2{color:#1a1a1a;font-size:1.75rem;margin-bottom:.5rem}.step-description{color:#666;font-size:.95rem}.upload-section{margin-bottom:3rem}.upload-dropzone{background-color:#f8f9fa;border:3px dashed #ddd;border-radius:12px;padding:3rem 2rem;position:relative;text-align:center;transition:all .3s ease}.upload-dropzone:hover{background-color:#f0f7ff;border-color:#06c}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.upload-subtext{color:#666;font-size:.9rem;margin-bottom:1.5rem}.upload-input{display:none}.upload-button{background-color:#06c;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.upload-button:hover{background-color:#0052a3;transform:translateY(-1px)}.upload-status{color:#06c;font-weight:600;margin-top:1rem;text-align:center}.error-message{background-color:#fff3f3;border-left:4px solid #dc3545;border-radius:4px;color:#dc3545;margin-top:1rem;padding:1rem}.uploaded-images-list{margin-top:2rem}.uploaded-images-list h3{color:#333;font-size:1.25rem;margin-bottom:1rem}.images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.uploaded-image-card{background-color:#fff;border:2px solid #ddd;border-radius:8px;padding:.5rem;position:relative;transition:all .2s ease}.uploaded-image-card:hover{border-color:#06c;box-shadow:0 4px 12px #0066cc26}.uploaded-image-card img{border-radius:4px;height:120px;margin-bottom:.5rem;object-fit:cover;width:100%}.image-card-actions{position:absolute;right:.75rem;top:.75rem}.delete-btn{align-items:center;background-color:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:all .2s ease;width:28px}.delete-btn:hover{background-color:#dc3545;transform:scale(1.1)}.image-filename{color:#666;font-size:.8rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-section{margin-bottom:2rem}.layout-section h3{color:#333;font-size:1.25rem;margin-bottom:1rem}.layout-buttons{display:flex;gap:1rem}.layout-btn{background-color:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.layout-btn:hover{background-color:#f0f7ff;border-color:#06c}.layout-btn.active{background-color:#06c;border-color:#06c;color:#fff}.grid-section{margin-bottom:2rem}.grid-section h3{color:#333;font-size:1.25rem;margin-bottom:.5rem}.grid-instructions{color:#666;font-size:.9rem;margin-bottom:1.5rem}.image-grid{grid-gap:1rem;background-color:#f8f9fa;border-radius:12px;display:grid;gap:1rem;padding:1.5rem}.image-grid.layout-1{grid-template-columns:1fr;margin:0 auto;max-width:300px}.image-grid.layout-2{grid-template-columns:repeat(2,1fr)}.image-grid.layout-3{grid-template-columns:repeat(3,1fr)}.image-grid.layout-4{grid-template-columns:repeat(4,1fr)}.image-grid.layout-1x2{grid-template-columns:repeat(2,1fr)}.image-grid.layout-1x3{grid-template-columns:repeat(3,1fr)}.image-grid.layout-2x2{grid-template-columns:repeat(2,1fr)}.image-grid.layout-2x3,.image-grid.layout-3x3{grid-template-columns:repeat(3,1fr)}.grid-slot{background-color:#fff;border:2px solid #ddd;border-radius:8px;display:flex;flex-direction:column;min-height:280px;padding:1rem;position:relative}.grid-slot-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.slot-number{color:#666;font-size:.85rem;font-weight:600}.delete-slot-btn{align-items:center;background-color:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.delete-slot-btn:hover{background-color:#dc3545;transform:scale(1.1)}.grid-slot img{border:1px solid #e9ecef;border-radius:4px;height:150px;margin-bottom:.75rem;object-fit:cover;width:100%}.grid-slot-controls{gap:.5rem;margin-top:auto}.grid-slot-controls,.label-field{display:flex;flex-direction:column}.label-field{gap:.25rem}.label-text{color:#666;font-size:.8rem;font-weight:600}.label-select{background-color:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem;transition:all .2s ease}.label-select:focus{border-color:#06c;outline:none}.label-select:hover{border-color:#999}.custom-label-input{border:2px solid #ddd;font-size:.9rem;padding:.5rem}.custom-label-input:focus{border-color:#06c}.swap-slot-btn{background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem;transition:all .2s ease}.swap-slot-btn:hover{background-color:#5a6268}.empty-slot{align-items:center;background-color:#f8f9fa;border:2px dashed #ddd;border-radius:4px;color:#999;display:flex;flex-direction:column;height:100%;justify-content:center;padding:1rem}.empty-slot-text{color:#666;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.empty-slot-instruction{color:#999;font-size:.85rem;margin-bottom:.75rem}.empty-slot-hint{color:#999;font-size:.85rem;font-style:italic;margin:0}.slot-image-picker{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);max-width:200px;width:100%}.add-image-btn{background:none;border:2px solid #ddd;border-radius:6px;cursor:pointer;overflow:hidden;padding:0;transition:all .2s ease}.add-image-btn:hover{border-color:#06c;box-shadow:0 2px 8px #06c3;transform:scale(1.05)}.add-image-btn img{display:block;height:50px;object-fit:cover;width:100%}.step-navigation{margin-top:3rem}.btn-secondary:hover{background-color:#e0e0e0}.btn-primary:hover{background-color:#0052a3;box-shadow:0 4px 8px #06c3;transform:translateY(-1px)}@media (max-width:768px){.image-upload-step{padding:1.5rem}.images-grid{grid-template-columns:repeat(2,1fr)}.layout-buttons{flex-wrap:wrap}.image-grid.layout-2x3,.image-grid.layout-3,.image-grid.layout-3x3,.image-grid.layout-4,.slot-image-picker{grid-template-columns:repeat(2,1fr)}}.preset-banner{align-items:flex-start;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 8px #2196f31a;display:flex;gap:12px;margin-bottom:2rem;padding:16px 20px}.preset-banner-icon{flex-shrink:0;font-size:24px;line-height:1}.preset-banner-content{display:flex;flex-direction:column;gap:4px}.preset-banner-content strong{color:#1565c0;font-size:14px;font-weight:600}.preset-banner-content span{color:#1976d2;font-size:13px}@media (max-width:768px){.preset-banner{padding:12px 16px}.preset-banner-icon{font-size:20px}.preset-banner-content strong{font-size:13px}.preset-banner-content span{font-size:12px}}.preview-step{margin:0 auto;max-width:900px;padding:2rem}.preview-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.preview-header h2{color:#1a1a1a;font-size:1.75rem;margin:0}.preview-actions{display:flex;gap:.75rem}.btn-edit{background-color:#6c757d;color:#fff;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-edit:hover{background-color:#5a6268;transform:translateY(-1px)}.btn-ai-polish{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-ai-polish:before{content:"✨ "}.btn-ai-polish:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.letter-preview-container{background-color:#fff;border:none;border-radius:0;box-shadow:none;font-size:10pt;line-height:1.3;margin-bottom:2rem;padding:1.5rem}.letter-header{border-bottom:1px solid #e9ecef;margin-bottom:.5rem;padding-bottom:.5rem}.practice-header-row{align-items:center;display:flex;gap:.75rem}.practice-logo{flex-shrink:0;height:40px;max-width:80px;object-fit:contain;width:auto}.practice-info{text-align:left}.practice-info h1{color:#1b4332;font-size:11pt;font-weight:700;line-height:1.2;margin:0}.practice-info p{color:#555;font-size:8pt;line-height:1.3;margin:0}.letter-date{color:#333;font-size:10pt;font-weight:600;text-align:right}.recipient-info{margin-bottom:.75rem}.recipient-info p{color:#333;font-size:10pt;line-height:1.3;margin:.1rem 0}.letter-divider{border:none;border-top:1px solid #e9ecef;margin:.75rem 0}.letter-content{color:#333;line-height:1.4}.letter-section{margin-bottom:.75rem}.letter-paragraph{font-size:10pt;line-height:1.4;margin:0;text-align:justify}.preview-soap-section{margin:1rem 0}.preview-soap-section h3{border-bottom:1px solid #1b4332;color:#1b4332;font-size:11pt;margin-bottom:.5rem;padding-bottom:.25rem}.soap-item{display:flex;gap:.5rem;margin-bottom:.5rem}.soap-item strong{color:#1b4332;font-size:10pt;font-weight:700;min-width:25px}.soap-text{flex:1 1}.edit-textarea,.soap-text{font-size:10pt;line-height:1.4}.edit-textarea{border:2px solid #06c;border-radius:8px;font-family:inherit;padding:.5rem;resize:vertical;transition:all .2s ease;width:100%}.edit-textarea:focus{border-color:#0052a3;box-shadow:0 0 0 3px #0066cc1a;outline:none}.soap-textarea{flex:1 1;min-height:50px}.images-section{margin:1rem 0}.images-section h3{border-bottom:1px solid #1b4332;color:#1b4332;font-size:11pt;margin-bottom:.5rem;padding-bottom:.25rem}.images-grid{grid-gap:.5rem;align-items:end;gap:.5rem;margin-top:.5rem;page-break-inside:avoid}.preview-images-1{grid-template-columns:1fr;margin:0 auto;max-width:200px}.preview-images-2{grid-template-columns:repeat(2,1fr)}.preview-images-3{grid-template-columns:repeat(3,1fr)}.preview-images-4{grid-template-columns:repeat(4,1fr)}.preview-grid-1x2{grid-template-columns:repeat(2,1fr)}.preview-grid-1x3{grid-template-columns:repeat(3,1fr)}.preview-grid-2x2{grid-template-columns:repeat(2,1fr)}.preview-grid-2x3,.preview-grid-3x3{grid-template-columns:repeat(3,1fr)}.preview-image-card{background-color:initial;border:none;border-radius:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:140px;overflow:visible;page-break-inside:avoid}.preview-empty-slot{min-height:140px;visibility:hidden}.preview-image-card img{align-self:center;background-color:initial;display:block;margin-bottom:.5rem;max-height:105px;object-fit:contain;padding:0;width:100%}.image-label{background-color:initial;border-top:none;color:#666;font-size:8pt;font-weight:600;line-height:1.3;min-height:20px;padding:0 0 .5rem;text-align:center}.letter-closing{margin-top:1rem}.letter-closing p{font-size:10pt;margin:.25rem 0}@media print{.preview-header,.step-navigation{display:none!important}.letter-preview-container{border:none;box-shadow:none;padding:.5in;page-break-inside:avoid}.images-grid,.images-section{page-break-inside:avoid}}.step-navigation{display:flex;gap:1rem;justify-content:space-between}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.btn-secondary{background-color:#f5f5f5;color:#333}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#06c}.btn-primary:hover:not(:disabled){background-color:#0052a3;box-shadow:0 4px 8px #06c3;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5}@media (max-width:768px){.letter-preview-container,.preview-step{padding:1rem}.preview-header{align-items:flex-start;flex-direction:column;gap:1rem}.preview-actions{flex-direction:column;width:100%}.preview-actions button{width:100%}.letter-header{flex-direction:column;gap:.5rem}.letter-date{text-align:left}.images-grid{grid-template-columns:repeat(2,1fr)!important}.images-grid.preview-images-1{grid-template-columns:1fr!important}.step-navigation{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.btn-secondary:has(:contains("✓ Copied!")){background:#28a745!important;color:#fff!important}.preview-actions .btn-secondary{transition:background-color .3s ease}.ai-polish-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ai-polish-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.ai-polish-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.ai-polish-modal-header h2{align-items:center;color:#fff;display:flex;font-size:1.5rem;gap:.5rem;margin:0}.ai-polish-modal-header h2:before{content:"✨"}.ai-polish-header-actions{align-items:center;display:flex;gap:.5rem}.ai-polish-settings-btn{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.4rem;transition:background .2s}.ai-polish-settings-btn:hover{background:#ffffff4d}.ai-polish-modal-close{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;transition:background .2s}.ai-polish-modal-close:hover{background:#ffffff4d}.ai-polish-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.ai-polish-info{background:#f0f7ff;border:1px solid #b3d4fc;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.ai-polish-info p{color:#1a5276;font-size:.95rem;line-height:1.5;margin:0}.ai-polish-current-soap{margin-bottom:1.5rem}.ai-polish-toggle-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.ai-polish-toggle-btn:hover{background:#e9ecef}.ai-polish-current-content{background:#fafafa;border:1px solid #e9ecef;border-radius:6px;margin-top:.75rem;max-height:200px;overflow-y:auto;padding:1rem}.ai-polish-current-section{margin-bottom:.75rem}.ai-polish-current-section:last-child{margin-bottom:0}.ai-polish-current-section strong{color:#495057;font-size:.85rem}.ai-polish-current-section p{color:#6c757d;font-size:.9rem;line-height:1.4;margin:.25rem 0 0}.ai-polish-context-section{margin-bottom:1.5rem}.ai-polish-context-section label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.ai-polish-context-help{color:#6c757d;font-size:.85rem;line-height:1.4;margin:0 0 .75rem}.ai-polish-context-input{border:1px solid #ced4da;border-radius:6px;font-family:inherit;font-size:.95rem;min-height:100px;padding:.75rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.ai-polish-context-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.ai-polish-context-input:disabled{background:#f8f9fa;cursor:not-allowed}.ai-polish-settings-section{margin-bottom:1.5rem}.ai-polish-settings-section label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.ai-polish-prompt-textarea{background:#fafafa;border:1px solid #ced4da;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;min-height:300px;padding:.75rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.ai-polish-prompt-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.ai-polish-prompt-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.ai-polish-settings-actions{display:flex;gap:.75rem;justify-content:flex-start;margin-top:1rem}.ai-polish-reset-btn{background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;color:#6c757d;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.ai-polish-reset-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.ai-polish-reset-btn:disabled{cursor:not-allowed;opacity:.6}.ai-polish-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.ai-polish-error,.ai-polish-success{font-size:.9rem;margin:1rem 0;padding:1rem}.ai-polish-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00}.ai-polish-generate-section{padding-top:1rem;text-align:center}.ai-polish-generate-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2.5rem;transition:all .2s}.ai-polish-generate-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.ai-polish-generate-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.ai-polish-spinner{animation:ai-polish-spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes ai-polish-spin{to{transform:rotate(1turn)}}.ai-polish-result-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.ai-polish-result-header h3{color:#333;font-size:1.2rem;margin:0}.ai-polish-result-actions{display:flex;gap:.5rem}.ai-polish-done-btn,.ai-polish-edit-btn,.ai-polish-regenerate-btn{border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.ai-polish-edit-btn{background:#06c;border:none;color:#fff}.ai-polish-edit-btn:hover{background:#0052a3}.ai-polish-done-btn{background:#28a745;border:none;color:#fff}.ai-polish-done-btn:hover{background:#218838}.ai-polish-regenerate-btn{background:#fff;border:1px solid #ced4da;color:#6c757d}.ai-polish-regenerate-btn:hover{background:#f8f9fa;border-color:#adb5bd}.ai-polish-result-content{display:flex;flex-direction:column;gap:1.25rem}.ai-polish-soap-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.ai-polish-soap-section label{color:#06c;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.ai-polish-soap-text{color:#333;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.ai-polish-soap-text em{color:#6c757d}.ai-polish-soap-textarea{border:2px solid #06c;border-radius:6px;font-family:inherit;font-size:.95rem;line-height:1.5;min-height:80px;padding:.75rem;resize:vertical;width:100%}.ai-polish-soap-textarea:focus{border-color:#0052a3;box-shadow:0 0 0 3px #0066cc26;outline:none}.ai-polish-modal-footer{background:#fafafa;border-radius:0 0 12px 12px;border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.ai-polish-btn-apply,.ai-polish-btn-cancel{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.ai-polish-btn-cancel{background:#f5f5f5;color:#333}.ai-polish-btn-cancel:hover{background:#e0e0e0}.ai-polish-btn-apply{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.ai-polish-btn-apply:hover:not(:disabled){box-shadow:0 4px 12px #28a74566;transform:translateY(-1px)}.ai-polish-btn-apply:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.ai-polish-modal-content{max-height:95vh;width:95%}.ai-polish-modal-header{padding:1rem}.ai-polish-modal-header h2{font-size:1.25rem}.ai-polish-modal-body{padding:1rem}.ai-polish-result-header{align-items:flex-start;flex-direction:column;gap:.75rem}.ai-polish-result-actions{justify-content:flex-start;width:100%}.ai-polish-generate-btn{justify-content:center;width:100%}.ai-polish-modal-footer{flex-direction:column-reverse;padding:1rem}.ai-polish-btn-apply,.ai-polish-btn-cancel{width:100%}}.letter-creation-wrapper{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.letter-creation-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.letter-creation-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 10px #0000000d;display:flex;justify-content:space-between;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:1500}.letter-creation-header h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.letter-cancel-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.letter-cancel-btn:hover{background:#f8f9fa;color:#495057}.save-draft-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.save-draft-btn:hover:not(:disabled){background:#218838}.save-draft-btn:disabled{cursor:not-allowed;opacity:.6}.letter-progress-bar{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-top:-1px;padding:32px 32px 24px;position:-webkit-sticky;position:sticky;top:73px;z-index:1499}.letter-progress-step{align-items:center;display:flex;flex:0 0 auto;flex-direction:column}.letter-step-circle{align-items:center;background:#e9ecef;border-radius:50%;color:#6c757d;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s;width:40px}.letter-progress-step.active .letter-step-circle{background:#007bff;color:#fff}.letter-progress-step.completed .letter-step-circle{background:#28a745;color:#fff}.letter-step-label{color:#6c757d;font-size:12px;font-weight:500}.letter-progress-step.active .letter-step-label{color:#007bff;font-weight:600}.letter-progress-line{background:#e9ecef;flex:1 1;height:2px;margin:0 16px 24px}.letter-step-content{padding:32px}@media (max-width:768px){.letter-creation-wrapper{padding:0}.letter-creation-container{border-radius:0;max-height:100vh;max-width:100%}.letter-creation-header{padding:16px 20px}.letter-creation-header h2{font-size:20px}.letter-progress-bar{padding:20px 16px 16px}.letter-step-circle{font-size:12px;height:32px;width:32px}.letter-step-label{font-size:10px}.letter-progress-line{margin:0 8px 20px}.letter-step-content{padding:20px}}.letters-dashboard{margin:0 auto;max-width:1400px;padding:40px 24px}.letters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.letters-header h1{color:#2c3e50;font-size:28px;font-weight:600;margin:0}.btn-new-letter{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;transition:background .2s}.btn-new-letter:hover{background:#0056b3}.letters-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;margin-bottom:24px;padding:20px}.search-input{border:1px solid #dee2e6;flex:1 1;font-size:14px;padding:10px 16px}.search-input:focus{border-color:#007bff}.status-filters{display:flex;gap:8px}.filter-btn{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-btn:hover{background:#e9ecef}.filter-btn.active{background:#007bff;border-color:#007bff;color:#fff}.letters-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.letters-table{border-collapse:collapse;width:100%}.letters-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.letters-table th{color:#495057;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.letters-table td{border-bottom:1px solid #f0f0f0;color:#495057;font-size:14px;padding:16px}.letters-table tbody tr:hover{background:#f8f9fa}.status-badge{padding:4px 12px}.status-badge.sent{background:#d4edda;color:#155724}.status-badge.draft{background:#fff3cd;color:#856404}.tooth-pill{background:#007bff;display:inline-block;white-space:nowrap}.btn-view{background:#007bff;border-radius:4px;padding:6px 16px;transition:background .2s}.btn-view:hover{background:#0056b3}.btn-resume{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 16px;transition:background .2s}.btn-resume:hover{background:#218838}.btn-edit{background:#ffc107;border:none;border-radius:4px;color:#000;padding:6px 16px;transition:background .2s}.btn-edit:hover{background:#e0a800}.empty-state{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:80px 40px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h2{color:#2c3e50;font-size:24px;margin-bottom:8px}.empty-state p{color:#6c757d;font-size:16px}.letters-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:48px;width:48px}@media (max-width:768px){.letters-dashboard{padding:20px 12px}.letters-header{align-items:flex-start;flex-direction:column;gap:16px}.letters-controls{align-items:stretch;flex-direction:column}.status-filters{width:100%}.filter-btn{flex:1 1}.letters-table{font-size:12px}.letters-table td,.letters-table th{padding:12px 8px}}.action-buttons{display:flex;gap:8px}.btn-delete{background:#dc3545;border-radius:4px;font-size:13px;padding:6px 16px;transition:background .2s}.btn-delete:hover{background:#c82333}.btn-archive{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:background .2s}.btn-archive:hover{background:#5a6268}.status-badge.archived{background:#e9ecef;color:#495057}.patient-form{display:flex;flex-direction:column;height:100%}.patient-form-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.patient-form-header svg:first-child{color:#3b82f6;flex-shrink:0;margin-top:2px}.patient-form-header div{flex:1 1}.patient-form-header h2{color:#111827;font-size:18px;font-weight:600;margin:0}.patient-form-header p{color:#6b7280;font-size:14px;margin:4px 0 0}.close-btn{padding:8px}.close-btn:hover{background:#e5e7eb}.form-error-banner{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:14px;gap:8px;padding:12px 24px}.patient-form-body{flex:1 1;overflow-y:auto;padding:24px}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.form-section h3{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 16px}.form-section h3 svg{color:#6b7280}.form-section.collapsible{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;padding:0}.section-toggle{align-items:center;background:#f9fafb;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:14px 16px;transition:background-color .15s ease;width:100%}.section-toggle:hover{background:#f3f4f6}.section-toggle svg{color:#6b7280}.section-toggle .optional{color:#9ca3af;font-weight:400}.section-toggle .toggle-indicator{color:#6b7280;font-size:18px;margin-left:auto}.form-section.collapsible .form-grid{background:#fff;border-top:1px solid #e5e7eb;padding:16px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.address-grid{grid-template-columns:1fr 80px 120px}.form-group.state-group,.form-group.zip-group{grid-column:auto}.form-group label svg{color:#9ca3af}.required{color:#ef4444}.optional{color:#9ca3af;font-size:12px;font-weight:400}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:10px 12px;transition:all .15s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input.error,.form-group select.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-group input::placeholder{color:#9ca3af}.form-group input:disabled{background:#f9fafb;color:#6b7280}.error-text{color:#ef4444;font-size:12px}.field-hint{color:#6b7280;font-size:12px}.patient-form-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@media (max-width:640px){.patient-form-body,.patient-form-header{padding:16px}.address-grid,.form-grid{grid-template-columns:1fr}.form-group.full-width,.form-group.state-group,.form-group.zip-group{grid-column:auto}.patient-form-footer{flex-direction:column-reverse;padding:16px}.btn-cancel,.btn-save{justify-content:center;width:100%}}.tab-container{display:flex;flex-direction:column;height:100%}.tab-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:20px 24px}.tab-header,.tab-header-info{align-items:center;display:flex}.tab-header-info{gap:12px}.tab-header-info svg{color:#3b82f6}.tab-header-info h3{color:#111827;font-size:16px;font-weight:600;margin:0}.tab-header-info p{color:#6b7280;font-size:13px;margin:2px 0 0}.btn-add{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-add:hover{background:#2563eb}.btn-save{display:inline-flex;padding:10px 16px;transition:all .15s ease}.btn-save:disabled{background:#93c5fd}.btn-cancel{padding:10px 16px;transition:all .15s ease}.btn-cancel:hover{border-color:#9ca3af}.btn-delete{background:#ef4444;border:none;color:#fff;display:inline-flex;transition:all .15s ease}.btn-delete:hover{background:#dc2626}.btn-icon{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.btn-icon:hover{background:#f3f4f6;color:#111827}.btn-icon.delete:hover{background:#fef2f2;color:#ef4444}.tab-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.tab-loading svg{color:#3b82f6;margin-bottom:12px}.tab-error{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;font-size:14px;gap:8px;padding:12px 24px}.tab-error button{background:#0000;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.tab-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.tab-empty svg{color:#d1d5db;margin-bottom:16px}.tab-empty h4{color:#374151;font-size:16px;margin:0 0 8px}.tab-empty p{font-size:14px;margin:0 0 20px}.tab-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 24px}.tab-form h4{color:#374151;font-size:15px;font-weight:600;margin:0 0 16px}.form-grid-3{grid-gap:16px;grid-template-columns:repeat(3,1fr)}.form-grid-2,.form-grid-3{display:grid;gap:16px;margin-bottom:16px}.form-grid-2{grid-gap:16px;grid-template-columns:repeat(2,1fr)}.form-group.full-width{grid-column:1/-1}.form-group label .required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{border-radius:6px;color:#111827;transition:all .15s ease}.checkbox-group{justify-content:flex-end}.checkbox-label input{accent-color:#3b82f6;height:16px;width:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.tab-content{flex:1 1;overflow-y:auto;padding:20px 24px}.insurance-list{display:flex;flex-direction:column;gap:16px}.insurance-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.insurance-card.inactive{opacity:.7}.insurance-card-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.insurance-type{align-items:center;display:flex;gap:10px}.type-badge{border-radius:6px;font-size:12px;font-weight:600;padding:4px 10px}.type-badge.primary{background:#dbeafe;color:#1d4ed8}.type-badge.secondary{background:#e0e7ff;color:#4338ca}.type-badge.tertiary{background:#f3e8ff;color:#7c3aed}.status-badge{padding:3px 8px}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.insurance-actions{display:flex;gap:4px}.insurance-card-body{padding:16px}.company-info{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.company-info svg{color:#6b7280;margin-top:2px}.company-info strong{color:#111827;display:block;font-size:15px}.company-phone{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:4px;margin-top:4px}.policy-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item label{color:#6b7280;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#111827;font-size:14px}.policy-notes{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:13px;margin-top:12px;padding:12px}.documents-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.document-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .15s ease}.document-card:hover{box-shadow:0 4px 12px #00000014}.document-preview{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;height:120px;justify-content:center}.document-preview svg{color:#d1d5db}.document-preview img{height:100%;object-fit:cover;width:100%}.document-info{padding:14px}.document-name{color:#111827;font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.document-type-badge{background:#e0e7ff;border-radius:4px;color:#4338ca;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.document-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;padding:12px 14px}.notes-list{display:flex;flex-direction:column;gap:12px}.note-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.note-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.note-meta{display:flex;flex-direction:column;gap:4px}.note-author{color:#111827;font-size:13px;font-weight:500}.note-date{color:#6b7280;font-size:12px}.note-actions{display:flex;gap:4px}.note-content{color:#374151;font-size:14px;line-height:1.6;white-space:pre-wrap}.note-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.note-tag{background:#f3f4f6;border-radius:4px;color:#374151;display:inline-flex;font-size:11px;font-weight:500;padding:3px 8px}.tags-multiselect{display:flex;flex-wrap:wrap;gap:8px}.tag-option{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 10px;transition:all .15s ease}.tag-option:hover{border-color:#3b82f6}.tag-option.selected{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.tag-option input{display:none}.appointments-section{margin-bottom:32px}.appointments-section h4{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 16px}.appointments-section h4 .count{background:#f3f4f6;border-radius:10px;color:#6b7280;font-size:12px;padding:2px 8px}.appointments-list{display:flex;flex-direction:column;gap:12px}.appointment-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:16px;padding:16px}.appointment-date{align-items:center;background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;min-width:70px;padding:10px 14px;text-align:center}.appointment-date .day{color:#111827;font-size:24px;font-weight:600;line-height:1}.appointment-date .month{color:#6b7280;font-size:12px;font-weight:500;margin-top:2px;text-transform:uppercase}.appointment-date .year{color:#9ca3af;font-size:11px}.appointment-details{flex:1 1}.appointment-time{color:#111827;font-size:14px;font-weight:500;margin-bottom:4px}.appointment-type{color:#6b7280;font-size:13px}.appointment-status{border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;margin-top:8px;padding:4px 10px}.appointment-status.scheduled{background:#dbeafe;color:#1d4ed8}.appointment-status.confirmed{background:#d1fae5;color:#059669}.appointment-status.completed{background:#f3f4f6;color:#374151}.appointment-status.cancelled{background:#fef2f2;color:#dc2626}.upload-area{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:32px;transition:all .15s ease}.upload-area:hover{background:#eff6ff;border-color:#3b82f6}.upload-area.dragging{background:#dbeafe;border-color:#3b82f6}.upload-area svg{color:#9ca3af;margin-bottom:12px}.upload-area p{color:#6b7280;font-size:14px;margin:0;text-align:center}.upload-area input{display:none}.modal-content{max-width:500px}.confirm-modal{padding:32px;text-align:center}.confirm-modal .warning-icon{color:#f59e0b;margin-bottom:16px}.confirm-modal h3{color:#111827;font-size:18px;margin:0 0 8px}.confirm-modal p{color:#6b7280;margin:0 0 24px}.confirm-actions{display:flex;gap:12px;justify-content:center}@media (max-width:768px){.tab-header{align-items:flex-start;flex-direction:column;gap:16px}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{justify-content:center;width:100%}.documents-grid{grid-template-columns:1fr}.appointment-card{flex-direction:column}.appointment-date{flex-direction:row;gap:8px;justify-content:center;width:100%}}.referrals-list{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.referral-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.referral-card-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.referral-type-badge{border-radius:6px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.referral-type-badge[data-type=referral]{background:#dbeafe;color:#1d4ed8}.referral-type-badge[data-type=appointment_request]{background:#d1fae5;color:#059669}.referral-type-badge[data-type=manual]{background:#f3e8ff;color:#7c3aed}.referral-date{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:6px}.referral-card-body{padding:16px}.referral-info-row{align-items:center;display:flex;font-size:14px;gap:8px;margin-bottom:8px}.referral-info-row svg{color:#9ca3af;flex-shrink:0}.referral-info-row .label{color:#6b7280;min-width:70px}.referral-info-row .value{color:#111827;font-weight:500}.referral-notes{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:13px;margin-top:12px;padding:10px 12px}.referral-notes strong{color:#374151}.referral-card-actions{background:#f9fafb;display:flex;justify-content:flex-end}.referral-card-actions,.referral-card-footer{border-top:1px solid #e5e7eb;padding:8px 16px}.referral-card-footer{background:#fafafa}.linked-badge{align-items:center;color:#6b7280;display:inline-flex;font-size:11px;gap:6px}.linked-badge svg{color:#9ca3af}.count-badge{background:#e5e7eb;border-radius:10px;color:#374151;font-size:12px;font-weight:500;padding:2px 10px}.search-input-container{position:relative}.search-dropdown{border:1px solid #d1d5db;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px #0000001a;max-height:200px;top:100%;z-index:100}.search-option{background:none;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:block;font-size:14px;padding:10px 12px;text-align:left;width:100%}.search-option:hover{background:#f3f4f6}.search-option:last-child{border-bottom:none}.form-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;padding:10px 12px;transition:all .15s ease;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.referral-form{padding:20px}.referral-form .form-group{margin-bottom:16px}.referral-form .form-group label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.modal-header{padding:16px 20px}.modal-header h3{font-size:18px}.btn-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.btn-close:hover{background:#f3f4f6;color:#111827}.btn-icon.danger:hover{background:#fef2f2;color:#ef4444}.tab-header-info h3{align-items:center;display:flex;gap:8px}.letters-tab{padding:0}.letters-tab .tab-header{padding:16px 24px}.letters-list{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.letter-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .15s ease}.letter-card:hover{box-shadow:0 4px 12px #00000014}.letter-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:14px 16px}.letter-header,.letter-title{align-items:center;display:flex}.letter-title{color:#1f2937;font-weight:600;gap:10px}.letter-title svg{color:#3b82f6}.letter-date{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:6px}.letter-details{padding:16px}.letter-detail-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.letter-detail{display:flex;flex-direction:column;gap:4px}.letter-detail label{align-items:center;color:#6b7280;display:flex;font-size:11px;font-weight:500;gap:4px;letter-spacing:.5px;text-transform:uppercase}.letter-detail span{color:#1f2937;font-size:14px}.letter-teeth,.letter-treatment{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:8px;margin-top:8px;padding-top:12px}.letter-teeth label,.letter-treatment label{color:#6b7280;font-size:12px;font-weight:500}.teeth-list{background:#f3f4f6;border-radius:4px;color:#374151;font-family:SF Mono,monospace;font-size:13px;padding:4px 8px}.btn-view{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.btn-view:hover{background:#2563eb}.draft-notice{align-items:center;background:#fef3c7;border-radius:6px;color:#92400e;display:flex;font-size:13px;gap:6px;padding:6px 12px}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px}.status-sent{background:#d1fae5;color:#059669}.status-draft{background:#fef3c7;color:#92400e}.treatment-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.treatment-status-eval{background:#e0f2fe;color:#0369a1}.treatment-status-medicated{background:#fef3c7;color:#b45309}.treatment-status-complete{background:#d1fae5;color:#047857}.teeth-pills{display:flex;flex-wrap:wrap;gap:6px}.tooth-pill{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;color:#fff;font-size:12px;justify-content:center;min-width:36px;padding:4px 10px}.letter-teeth{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:10px;margin-top:12px;padding-top:12px}.letter-teeth label{color:#6b7280;font-size:12px;font-weight:500}@media (max-width:768px){.letter-detail-row{gap:12px;grid-template-columns:1fr}.letter-actions{flex-direction:column;gap:12px}}.treatments-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.treatments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.treatments-header label{color:#374151;font-size:14px;font-weight:600}.btn-add-treatment{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s ease}.btn-add-treatment:hover{background:#059669}.treatment-row{grid-gap:12px;align-items:end;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:grid;gap:12px;grid-template-columns:80px 1fr 1fr 36px;margin-bottom:8px;padding:12px}.treatment-row:last-child{margin-bottom:0}.treatment-field{display:flex;flex-direction:column;gap:4px}.treatment-field label{color:#6b7280;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.treatment-field input,.treatment-field select{border:1px solid #d1d5db;border-radius:4px;font-size:13px;padding:8px 10px}.btn-remove-treatment{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.btn-remove-treatment:hover{background:#fecaca}.form-group select[value=emergency],select.urgency-emergency{background-color:#fef2f2;border-color:#dc2626}select.urgency-urgent{background-color:#fff7ed;border-color:#f97316}@media (max-width:600px){.treatment-row{gap:8px;grid-template-columns:1fr}.treatment-row>.btn-remove-treatment{height:auto;padding:8px;width:100%}}.doctor-autocomplete-dropdown{box-shadow:0 4px 12px #00000026;max-height:280px;z-index:1000}.doctor-autocomplete-item{padding:12px 16px;transition:background .15s ease}.doctor-autocomplete-item:hover{background:#f9fafb}.doctor-name-display{color:#1f2937;font-weight:600}.office-separator{color:#6b7280;font-weight:400}.autocomplete-empty,.autocomplete-loading{color:#9ca3af;font-size:14px;padding:16px;text-align:center}.helper-text{color:#6b7280;font-size:12px;margin-top:6px}.form-row{grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.letters-filters{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:16px;padding:12px 24px}.filter-group,.letters-filters{align-items:center;display:flex}.filter-group{gap:6px}.filter-group svg{color:#6b7280}.filter-group select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 28px 6px 10px}.filter-group select:focus{border-color:#3b82f6;outline:none}.filter-count{color:#6b7280;font-size:13px;margin-left:auto}.letter-actions{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.action-buttons-left,.action-buttons-right{display:flex;gap:8px}.btn-edit{border-radius:6px;font-size:13px;gap:6px;padding:8px 14px}.btn-edit:hover{background:#f3f4f6}.btn-resend{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.btn-resend:hover{background:#059669}.resend-dropdown-container{position:relative}.resend-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;bottom:100%;box-shadow:0 4px 12px #00000026;margin-bottom:4px;min-width:200px;overflow:hidden;position:absolute;right:0;z-index:100}.resend-dropdown button{background:none;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:block;font-size:13px;padding:10px 14px;text-align:left;transition:background .15s ease;width:100%}.resend-dropdown button:last-child{border-bottom:none}.resend-dropdown button:hover:not(:disabled){background:#f9fafb}.resend-dropdown button:disabled{cursor:not-allowed;opacity:.6}.letter-images{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:10px;margin-top:12px;padding-top:12px}.letter-images label{align-items:center;color:#6b7280;display:flex;font-size:12px;font-weight:500;gap:4px;white-space:nowrap}.image-thumbnails{display:flex;gap:6px}.image-thumb{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;height:40px;overflow:hidden;width:40px}.image-thumb img{height:100%;object-fit:cover;width:100%}.image-thumb.more{align-items:center;color:#6b7280;display:flex;font-size:11px;font-weight:600;justify-content:center}.resend-history{align-items:flex-start;border-top:1px solid #f3f4f6;display:flex;gap:10px;margin-top:12px;padding-top:12px}.resend-history label{align-items:center;color:#6b7280;display:flex;font-size:12px;font-weight:500;gap:4px;white-space:nowrap}.resend-list{display:flex;flex-wrap:wrap;gap:6px}.resend-item{background:#e0f2fe;border-radius:4px;color:#0369a1;display:inline-flex;font-size:11px;font-weight:500;padding:4px 8px}.resend-modal{max-width:450px}.resend-modal .modal-body{padding:20px}.resend-modal .modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.empty-state h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0 0 20px}@media (max-width:768px){.letters-filters{align-items:flex-start;flex-direction:column;gap:12px}.filter-count{margin-left:0}.letter-actions{flex-direction:column;gap:12px}.action-buttons-left,.action-buttons-right{justify-content:center;width:100%}.letter-images,.resend-history{align-items:flex-start;flex-direction:column}}.letter-edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.letter-edit-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.letter-edit-modal .modal-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.letter-edit-modal .header-title{align-items:center;display:flex;gap:10px}.letter-edit-modal .header-title svg{color:#3b82f6}.letter-edit-modal .header-title h3{color:#111827;font-size:18px;font-weight:600;margin:0}.letter-edit-modal .close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.letter-edit-modal .close-btn:hover{background:#f3f4f6;color:#111827}.mode-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.mode-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .15s ease}.mode-tab:hover{background:#00000005;color:#374151}.mode-tab.active{background:#fff;border-bottom-color:#3b82f6;color:#3b82f6}.mode-tab svg{flex-shrink:0}.error-alert{background:#fef2f2;border-bottom:1px solid #fecaca;font-size:14px;gap:10px;padding:12px 16px}.error-alert,.error-alert button{align-items:center;color:#dc2626;display:flex}.error-alert button{background:#0000;border:none;border-radius:4px;cursor:pointer;height:24px;justify-content:center;margin-left:auto;padding:0;width:24px}.error-alert button:hover{background:#dc26261a}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.edit-sections{display:flex;flex-direction:column;gap:16px}.edit-section{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.edit-section.collapsed{border-color:#f3f4f6}.section-header{background:#f9fafb;border:none;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:12px 14px;transition:all .15s ease;width:100%}.section-header:hover{background:#f3f4f6}.edit-section.collapsed .section-header{background:#fafafa;color:#6b7280;font-weight:500}.section-input,.section-textarea{border:none;border-top:1px solid #e5e7eb;color:#111827;font-family:inherit;font-size:14px;line-height:1.6;padding:12px 14px;resize:vertical;width:100%}.section-input:focus,.section-textarea:focus{background:#fefce8;outline:none}.section-textarea{min-height:80px}.section-textarea.large{min-height:160px}.regenerate-section{padding:32px 20px;text-align:center}.regenerate-info,.regenerate-section{align-items:center;display:flex;flex-direction:column}.regenerate-info{max-width:400px}.regenerate-info svg{color:#3b82f6;margin-bottom:16px}.regenerate-info h4{color:#111827;font-size:18px;font-weight:600;margin:0 0 12px}.regenerate-info p{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 20px}.warning-box{align-items:flex-start;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:13px;gap:10px;margin-bottom:24px;padding:12px 14px;text-align:left}.warning-box svg{color:#f59e0b;flex-shrink:0;margin-top:1px}.btn-regenerate{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .15s ease}.btn-regenerate:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.btn-regenerate:disabled{cursor:not-allowed;opacity:.7}.no-appointment-warning{align-items:flex-start;background:#f3f4f6;border-radius:8px;color:#6b7280;display:flex;font-size:14px;gap:10px;max-width:400px;padding:16px;text-align:left}.no-appointment-warning svg{color:#9ca3af;flex-shrink:0;margin-top:2px}.preview-section{background:#fafafa;border-top:1px solid #e5e7eb}.preview-toggle{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .15s ease;width:100%}.preview-toggle:hover{background:#00000005;color:#374151}.preview-content{background:#fff;border-top:1px solid #e5e7eb;max-height:200px;overflow-y:auto;padding:16px 20px}.preview-content pre{word-wrap:break-word;color:#374151;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.7;margin:0;white-space:pre-wrap}.letter-edit-modal .modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.save-buttons{display:flex;gap:8px}.letter-edit-modal .btn{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .15s ease}.letter-edit-modal .btn:disabled{cursor:not-allowed;opacity:.6}.letter-edit-modal .btn-primary{background:#3b82f6;border:none;color:#fff}.letter-edit-modal .btn-primary:hover:not(:disabled){background:#2563eb}.letter-edit-modal .btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.letter-edit-modal .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}@media (max-width:640px){.letter-edit-modal-overlay{padding:16px}.letter-edit-modal{max-height:95vh}.modal-body{padding:16px}.mode-tabs{flex-wrap:wrap}.mode-tab{font-size:13px;padding:10px 12px}.letter-edit-modal .modal-footer{flex-direction:column;gap:8px}.letter-edit-modal .modal-footer .btn,.save-buttons{justify-content:center;width:100%}.save-buttons{flex-direction:column}}.appointments-tab-v2 .appointments-sections{display:flex;flex-direction:column;gap:32px}.appointments-tab-v2 .appointments-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.appointments-tab-v2 .section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 20px}.appointments-tab-v2 .section-header h4{align-items:center;color:#1f2937;display:flex;font-size:15px;font-weight:600;gap:10px;margin:0}.appointments-tab-v2 .section-header .count{background:#e5e7eb;border-radius:12px;color:#4b5563;font-size:12px;font-weight:600;padding:4px 10px}.appointments-tab-v2 .section-icon{font-size:10px}.appointments-tab-v2 .section-icon.current{color:#10b981}.appointments-tab-v2 .section-icon.future{color:#3b82f6}.appointments-tab-v2 .section-icon.past{color:#9ca3af}.appointments-tab-v2 .current-section{border-color:#10b981;box-shadow:0 0 0 1px #10b9811a}.appointments-tab-v2 .current-section .section-header{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-bottom-color:#a7f3d0}.appointments-tab-v2 .current-section .count{background:#10b981;color:#fff}.appointments-tab-v2 .future-section .section-header .count{background:#dbeafe;color:#1d4ed8}.appointments-tab-v2 .past-section{opacity:.95}.appointments-tab-v2 .past-section .section-header{background:#f3f4f6}.appointments-list-v2{display:flex;flex-direction:column}.appointment-card-v2{align-items:stretch;background:#fff;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:0;padding:0;transition:all .15s ease}.appointment-card-v2:last-child{border-bottom:none}.appointment-card-v2:hover{background:#f9fafb}.appointment-card-v2.current:hover{background:#ecfdf5}.appointment-card-v2.past{opacity:.85}.appointment-card-v2.past:hover{opacity:1}.appointment-card-v2 .appointment-date-block{align-items:center;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:16px 20px;text-align:center}.appointment-card-v2.current .appointment-date-block{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-right-color:#6ee7b7}.appointment-card-v2.future .appointment-date-block{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-right-color:#93c5fd}.appointment-card-v2 .appointment-date-block .weekday{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.appointment-card-v2 .appointment-date-block .day{color:#1f2937;font-size:24px;font-weight:700;line-height:1.1}.appointment-card-v2.current .appointment-date-block .day{color:#047857}.appointment-card-v2.future .appointment-date-block .day{color:#1d4ed8}.appointment-card-v2 .appointment-date-block .month{color:#4b5563;font-size:12px;font-weight:500;text-transform:uppercase}.appointment-card-v2 .appointment-date-block .year{color:#9ca3af;font-size:11px}.appointment-card-v2 .appointment-main{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0;padding:16px 20px}.appointment-card-v2 .appointment-time-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.appointment-card-v2 .appointment-time{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:500;gap:6px}.appointment-card-v2 .appointment-time svg{color:#6b7280}.appointment-card-v2 .appointment-time .time-separator{color:#9ca3af}.appointment-card-v2 .appointment-status{border-radius:6px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.appointment-card-v2 .appointment-status.scheduled{background:#dbeafe;color:#1d4ed8}.appointment-card-v2 .appointment-status.confirmed{background:#d1fae5;color:#047857}.appointment-card-v2 .appointment-status.completed{background:#f3f4f6;color:#374151}.appointment-card-v2 .appointment-status.cancelled{background:#fef2f2;color:#dc2626}.appointment-card-v2 .appointment-teeth-section{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.appointment-card-v2 .tooth-treatment-item{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;display:inline-flex;gap:6px;padding:6px 12px}.appointment-card-v2 .tooth-treatment-item .tooth-number{color:#0369a1;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:14px;font-weight:700}.appointment-card-v2 .tooth-treatment-item .treatment-type{color:#0c4a6e;font-size:12px;font-weight:500}.appointment-card-v2 .appointment-type-fallback{color:#4b5563;font-size:14px;font-weight:500;margin-top:4px}.appointment-card-v2 .appointment-location{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px;margin-top:4px}.appointment-card-v2 .appointment-location svg{color:#9ca3af}.appointment-card-v2 .appointment-action{align-items:center;border-left:1px solid #f3f4f6;display:flex;justify-content:center;padding:16px}.appointment-card-v2 .clinical-indicator{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:flex;height:36px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease;width:36px}.appointment-card-v2:hover .clinical-indicator{box-shadow:0 4px 12px #10b9814d;transform:scale(1.05)}.appointment-card-v2 .future-indicator{align-items:center;background:#f3f4f6;border-radius:8px;color:#9ca3af;display:flex;height:36px;justify-content:center;width:36px}.appointment-card-v2:hover .future-indicator{background:#e5e7eb;color:#6b7280}@media (max-width:768px){.appointment-card-v2{flex-direction:column}.appointment-card-v2 .appointment-date-block{border-bottom:1px solid #e5e7eb;border-right:none;flex-direction:row;gap:8px;padding:12px 16px}.appointment-card-v2 .appointment-date-block .day{font-size:20px}.appointment-card-v2 .appointment-main{padding:12px 16px}.appointment-card-v2 .appointment-action{border-left:none;border-top:1px solid #f3f4f6;justify-content:flex-end;padding:12px 16px}.appointment-card-v2 .appointment-time-row{flex-wrap:wrap}}.patient-detail-container{margin:0 auto;max-width:1200px;padding:24px}.patient-detail-error,.patient-detail-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:80px 24px}.patient-detail-error svg,.patient-detail-loading svg{color:#9ca3af;margin-bottom:16px}.patient-detail-error h2{color:#374151;margin:0 0 24px}.patient-detail-header{margin-bottom:24px}.back-button{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;margin-bottom:16px;padding:8px 12px;transition:all .15s ease}.back-button:hover{background:#f3f4f6;color:#111827}.patient-header-content{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:20px;padding:24px}.patient-avatar-large{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:24px;font-weight:600;height:72px;justify-content:center;width:72px}.patient-header-info{flex:1 1}.patient-header-info h1{color:#111827;font-size:24px;font-weight:600;margin:0 0 8px}.patient-header-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:14px;gap:16px}.patient-header-meta>span{align-items:center;display:flex;gap:6px}.patient-header-meta svg{color:#9ca3af}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}.badge.insurance{background:#d1fae5;color:#059669}.badge.referral{background:#dbeafe;color:#1d4ed8}.patient-header-actions{flex-shrink:0}.btn-edit{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-edit:hover{background:#f9fafb;border-color:#9ca3af}.patient-tabs{background:#f3f4f6;border-radius:10px;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding:4px}.tab-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease;white-space:nowrap}.tab-button:hover:not(.active){background:#ffffff80;color:#374151}.tab-button.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#111827}.tab-button svg{flex-shrink:0}.patient-tab-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:400px}.patient-overview{grid-gap:20px;display:grid;gap:20px;padding:24px}.info-card{background:#f9fafb;border-radius:10px;padding:20px}.info-card h3{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 16px}.info-card h3 svg{color:#6b7280}.info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.info-item label{align-items:center;display:flex;gap:6px}.info-item label svg{color:#9ca3af}.info-item span{color:#111827;font-size:14px}.capitalize{text-transform:capitalize}.address-block{color:#111827;font-size:14px;font-style:normal;line-height:1.6}.meta-card{background:#0000;padding:0}.meta-info{color:#9ca3af;display:flex;flex-wrap:wrap;font-size:13px;gap:24px}@media (max-width:768px){.patient-detail-container{padding:16px}.patient-header-content{flex-direction:column;padding:20px}.patient-avatar-large{font-size:20px;height:56px;width:56px}.patient-header-info h1{font-size:20px}.patient-header-meta{align-items:flex-start;flex-direction:column;gap:8px}.btn-edit,.patient-header-actions{width:100%}.btn-edit{justify-content:center}.patient-tabs{padding:3px}.tab-button{font-size:13px;padding:8px 12px}.tab-button span{display:none}.patient-overview{padding:16px}.info-grid{grid-template-columns:1fr}}.patient-list-container{margin:0 auto;max-width:1400px;padding:24px}.patient-list-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.patient-list-title{align-items:flex-start;display:flex;gap:12px}.patient-list-title svg{color:#3b82f6;margin-top:2px}.patient-list-title h1{color:#111827;font-size:24px;font-weight:600;margin:0}.patient-list-title p{color:#6b7280;font-size:14px;margin:4px 0 0}.patient-list-actions{display:flex;gap:12px}.btn-primary{display:inline-flex;padding:10px 16px;transition:all .15s ease}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-refresh{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-refresh:hover:not(:disabled){background:#f9fafb}.btn-refresh:disabled{cursor:not-allowed;opacity:.6}.btn-warning{align-items:center;background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease}.btn-warning:hover{background:#d97706}.btn-load-more{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .15s ease}.btn-load-more:hover:not(:disabled){background:#f3f4f6}.btn-load-more:disabled{cursor:not-allowed;opacity:.6}.patient-search-bar{align-items:center;display:flex;gap:16px;margin-bottom:24px}.search-input-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;gap:12px;padding:12px 16px;transition:all .15s ease}.search-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input-wrapper svg{color:#9ca3af;flex-shrink:0}.search-input-wrapper input{background:#0000;border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.search-input-wrapper input::placeholder{color:#9ca3af}.search-clear{background:#0000;border-radius:4px;padding:4px}.search-clear:hover{background:#f3f4f6}.search-spinner{color:#3b82f6}.search-results-count{color:#6b7280;font-size:14px;white-space:nowrap}.patient-list-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:12px;margin-bottom:24px;padding:12px 16px}.patient-list-error button{background:#0000;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:4px}.patient-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.patient-list-empty,.patient-list-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.patient-list-empty svg,.patient-list-loading svg{color:#9ca3af;margin-bottom:16px}.patient-list-empty h3{color:#374151;font-size:18px;margin:0 0 8px}.patient-list-empty p{margin:0 0 16px}.patient-list-table{width:100%}.patient-list-header-row{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase}.patient-list-row{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;padding:16px 20px;transition:background-color .15s ease}.patient-list-row:last-child{border-bottom:none}.patient-list-row:hover{background:#f9fafb}.col-name{align-items:center;display:flex;flex:2 1;gap:12px;min-width:200px}.col-sortable{cursor:pointer;transition:color .15s ease;-webkit-user-select:none;user-select:none}.col-sortable:hover{color:#3b82f6}.sort-icon{margin-left:4px;opacity:.7}.col-sortable:hover .sort-icon{opacity:1}.col-dob,.col-email,.col-phone{align-items:center;color:#374151;display:flex;flex:1 1;font-size:14px;gap:8px;min-width:140px}.col-dob svg,.col-email svg,.col-phone svg{color:#9ca3af;flex-shrink:0}.col-insurance{flex:0.8 1;min-width:100px}.col-actions{color:#9ca3af;display:flex;justify-content:flex-end;width:40px}.patient-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.patient-name-info{color:#111827;display:flex;flex-direction:column;gap:4px}.patient-name{color:#111827!important;font-size:14px;font-weight:500}.patient-badge{border-radius:10px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.patient-badge.referral{background:#dbeafe;color:#1d4ed8}.insurance-badge{border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.insurance-badge.has-insurance{background:#d1fae5;color:#059669}.insurance-badge.no-insurance{background:#f3f4f6;color:#6b7280}.patient-list-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:center;padding:16px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;width:100%}.patient-form-modal{max-width:700px}.duplicate-warning-modal{max-width:550px;padding:24px}.duplicate-warning-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.duplicate-warning-header svg{color:#f59e0b}.duplicate-warning-header h2{color:#111827;font-size:18px;margin:0}.duplicate-warning-modal>p{color:#6b7280;font-size:14px;margin:0 0 20px}.duplicate-matches{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.duplicate-match-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;padding:16px}.match-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.match-info strong{color:#111827;font-size:14px}.match-info span{color:#6b7280;font-size:13px}.match-score{flex-shrink:0}.match-score .high-match{background:#fee2e2;color:#dc2626}.match-score .high-match,.match-score .medium-match{border-radius:6px;font-size:12px;font-weight:500;padding:4px 10px}.match-score .medium-match{background:#fef3c7;color:#d97706}.duplicate-match-card .btn-secondary{font-size:13px;padding:8px 12px}.duplicate-warning-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}@media (max-width:1024px){.patient-list-header{flex-direction:column;gap:16px}.patient-list-actions{justify-content:flex-end;width:100%}}@media (max-width:768px){.patient-list-container{padding:16px}.patient-list-header-row{display:none}.patient-list-row{align-items:flex-start;flex-direction:column;gap:8px;padding:16px}.col-name{width:100%}.col-dob,.col-email,.col-insurance,.col-phone{font-size:13px;min-width:0;min-width:auto}.col-actions{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.patient-list-row{padding-right:48px;position:relative}.patient-search-bar{align-items:stretch;flex-direction:column}.search-results-count{text-align:center}.duplicate-match-card{align-items:flex-start;flex-direction:column}}.tooth-selector-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.tooth-selector-modal{background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;width:95%}.tooth-selector-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 18px}.tooth-selector-header h3{color:#1f2937;font-size:15px;font-weight:600;margin:0}.tooth-selector-header .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px}.tooth-selector-header .close-btn:hover{background:#e5e7eb;color:#374151}.tooth-selector-content{display:flex;flex-direction:column;gap:10px;padding:16px}.arch-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;text-align:center;transition:all .15s}.arch-btn.full-width{width:100%}.arch-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.arch-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.sextant-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.sextant-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:700;padding:10px 8px;text-align:center;transition:all .15s}.sextant-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.sextant-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.teeth-row{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(16,1fr)}.tooth-btn{align-items:center;aspect-ratio:1;background:#fff;border:2px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:11px;font-weight:600;justify-content:center;min-width:0;padding:0;transition:all .15s}.tooth-btn:hover:not(.disabled){background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.tooth-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.tooth-btn.disabled{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed;opacity:.6}.arch-divider{gap:8px;padding:4px 0}.divider-label{color:#9ca3af;font-size:11px;font-weight:700;min-width:12px;text-align:center}.divider-line{background:linear-gradient(90deg,#d1d5db,#9ca3af,#d1d5db);border-radius:1px;height:2px}@media (max-width:480px){.tooth-selector-modal{margin:8px;max-width:none;width:98%}.tooth-selector-content{gap:8px;padding:12px}.tooth-btn{border-radius:3px;font-size:9px}.sextant-btn{font-size:12px;padding:8px 4px}.arch-btn{font-size:12px;padding:8px 12px}}.doc-autocomplete-container{margin-bottom:12px;position:relative}.doc-autocomplete-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.doc-autocomplete-wrapper{position:relative}.doc-autocomplete-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.doc-autocomplete-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.doc-autocomplete-input:disabled{background:#f3f4f6;cursor:not-allowed}.doc-autocomplete-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.doc-autocomplete-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:12px 14px;transition:background .15s}.doc-autocomplete-item:last-of-type{border-bottom:none}.doc-autocomplete-item:hover{background:#f8fafc}.doc-autocomplete-main{color:#1f2937;font-size:14px;font-weight:500}.doc-office-separator{color:#6b7280;font-weight:400}.doc-autocomplete-loading{color:#6b7280;font-size:14px;padding:16px;text-align:center}.doc-autocomplete-create{background:#d4edda;border-top:1px solid #c3e6cb;cursor:pointer;padding:12px 14px;transition:background .15s}.doc-autocomplete-create:hover{background:#c3e6cb}.doc-create-icon{color:#28a745;font-size:16px;font-weight:700;margin-right:6px}.doc-create-helper{color:#155724;font-size:11px;font-style:italic;margin-top:2px}.doc-helper-text{color:#6b7280;font-size:12px;font-style:italic;margin-top:4px}.doc-selected-display{align-items:center;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:10px 12px}.doc-selected-label{color:#059669;font-size:12px;font-weight:500}.doc-selected-value{color:#065f46;font-size:14px;font-weight:500}.doc-manual-fields{display:flex;flex-direction:column;gap:12px}.doc-field-label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.doc-field-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:8px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.doc-field-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.doc-field-input:disabled{background:#f3f4f6;cursor:not-allowed}.doctor-office-autocomplete.compact .doc-autocomplete-container{margin-bottom:8px}.doctor-office-autocomplete.compact .doc-autocomplete-label{font-size:13px;margin-bottom:4px}.doctor-office-autocomplete.compact .doc-autocomplete-input{font-size:13px;padding:8px 10px}.doctor-office-autocomplete.compact .doc-helper-text{display:none}.doctor-office-autocomplete.compact .doc-manual-fields{gap:8px}.doctor-office-autocomplete.compact .doc-field-input{font-size:13px;padding:6px 10px}.appointment-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.appointment-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.modal-header{background:#f8fafc;padding:16px 24px}.modal-header h2{color:#1f2937;font-size:1.25rem;gap:10px;margin:0}.close-btn,.modal-header h2{align-items:center;display:flex}.close-btn{background:#0000;height:32px;justify-content:center;transition:all .2s;width:32px}.close-btn:hover{color:#1f2937}.modal-error{align-items:center;background:#fef2f2;color:#dc2626;display:flex;font-size:14px;gap:8px;padding:12px 24px}.appointment-form{flex:1 1;overflow-y:auto;padding:24px}.form-group{margin-bottom:20px;position:relative}.form-group label{align-items:center;color:#374151;display:flex;font-size:14px;gap:6px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-template-columns:repeat(3,1fr)}.form-row .form-group{margin-bottom:20px}.patient-search-group,.patient-search-wrapper{position:relative}.patient-search-wrapper .search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.patient-search-wrapper input{padding-left:40px;padding-right:36px}.patient-search-wrapper input.patient-selected{background:#f0fdf4;border-color:#86efac}.clear-patient-btn{align-items:center;background:#f3f4f6;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px}.clear-patient-btn:hover{background:#e5e7eb;color:#1f2937}.search-loading{font-size:12px;position:absolute;right:40px;top:50%;transform:translateY(-50%)}.patient-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.patient-option{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px}.patient-option:last-child{border-bottom:none}.patient-option:hover{background:#f8fafc}.patient-option-name{color:#1f2937;font-weight:500}.patient-option-dob{color:#6b7280;font-size:12px}.procedures-section{margin-top:8px}.procedure-search-row{display:flex;gap:8px}.procedure-search-wrapper{flex:1 1;position:relative}.procedure-search-wrapper .search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.procedure-search-wrapper input{padding-left:40px}.procedure-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.procedure-option{grid-gap:12px;align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:grid;gap:12px;grid-template-columns:80px 1fr auto;padding:10px 14px}.procedure-option:last-child{border-bottom:none}.procedure-option:hover{background:#f8fafc}.procedure-option-code{color:#3b82f6;font-size:13px;font-weight:600}.procedure-option-desc{color:#374151;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procedure-option-fee{color:#059669;font-size:13px;font-weight:500;white-space:nowrap}.macro-dropdown-wrapper{position:relative}.macro-dropdown-btn{align-items:center;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#059669;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 14px;transition:all .15s;white-space:nowrap}.macro-dropdown-btn:hover{background:#dcfce7;border-color:#4ade80}.macro-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;margin-top:4px;max-height:200px;min-width:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.macro-option{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;justify-content:space-between;padding:10px 14px}.macro-option:last-child{border-bottom:none}.macro-option:hover{background:#f0fdf4}.macro-option-name{color:#374151;font-size:13px;font-weight:500}.macro-option-count{color:#9ca3af;font-size:11px}.macro-empty{color:#6b7280;font-size:12px;line-height:1.4;padding:16px 14px;text-align:center}.selected-procedures{border:1px solid #e5e7eb;border-radius:8px;margin-top:12px;overflow:hidden}.selected-procedure-item{grid-gap:8px;align-items:center;background:#fafafa;border-bottom:1px solid #f3f4f6;display:grid;gap:8px;grid-template-columns:1fr 70px 80px 32px;padding:10px 12px}.selected-procedure-item:last-of-type{border-bottom:1px solid #e5e7eb}.selected-procedure-item.has-error{background:#fef2f2}.procedure-info{display:flex;flex-direction:column;gap:2px;min-width:0}.procedure-code{color:#3b82f6;font-size:13px;font-weight:600}.procedure-desc{color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procedure-tooth{position:relative}.procedure-tooth.required input::placeholder{color:#dc2626}.procedure-tooth-input-wrapper{align-items:center;display:flex;position:relative}.procedure-tooth-input-wrapper input{border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 28px 6px 8px;text-align:center;width:100%}.procedure-tooth-input-wrapper input:focus{border-color:#3b82f6;outline:none}.procedure-tooth-input-wrapper input.error{background:#fef2f2;border-color:#dc2626}.btn-procedure-tooth-selector{align-items:center;background:#eff6ff;border:none;border-radius:3px;color:#3b82f6;cursor:pointer;display:flex;height:22px;justify-content:center;padding:0;position:absolute;right:2px;top:50%;transform:translateY(-50%);transition:all .15s;width:22px}.btn-procedure-tooth-selector:hover{background:#dbeafe;color:#1d4ed8}.required-indicator{color:#dc2626;font-size:14px;font-weight:700;position:absolute;right:-12px;top:50%;transform:translateY(-50%)}.procedure-fee{color:#059669;font-size:13px;font-weight:500;text-align:right}.remove-procedure-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.remove-procedure-btn:hover{background:#fee2e2;color:#dc2626}.procedures-total{align-items:center;background:#fff;display:flex;font-weight:500;justify-content:space-between;padding:12px 16px}.procedures-total span:first-child{color:#374151}.total-amount{color:#059669;font-size:16px;font-weight:600}.appointment-type-color-preview,.operatory-color-preview,.type-color-preview{border-radius:50%;height:12px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:12px}.appointment-type-group{position:relative}.appointment-type-group select{padding-right:32px}.modal-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:4px;padding-top:20px}.action-buttons-right{display:flex;gap:12px;margin-left:auto}.btn-delete{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.btn-delete:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.btn-delete:disabled{cursor:not-allowed;opacity:.5}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel:hover{background:#f9fafb}.btn-save{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn-save:hover:not(:disabled){background:#2563eb}.btn-save:disabled{cursor:not-allowed;opacity:.6}.delete-confirm-overlay{background:#fffffff2}.delete-confirm-modal{border:1px solid #e5e7eb;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;padding:24px}.delete-confirm-modal h3{color:#1f2937;margin:0 0 12px}.delete-confirm-modal p{margin:0 0 8px}.delete-warning{color:#dc2626!important;font-weight:500}.delete-confirm-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.delete-confirm-actions button{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.delete-confirm-actions button:first-child{background:#fff;border:1px solid #d1d5db;color:#374151}.delete-confirm-actions button:first-child:hover{background:#f9fafb}.btn-confirm-delete{background:#dc2626;border:none;color:#fff}.btn-confirm-delete:hover:not(:disabled){background:#b91c1c}.btn-confirm-delete:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px){.appointment-modal{border-radius:0;max-height:100vh}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column;gap:12px}.action-buttons-right{margin-left:0;width:100%}.btn-delete{justify-content:center;width:100%}.btn-cancel,.btn-save{flex:1 1}}.referral-info-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.referral-info-section>label{color:#1f2937;font-size:15px;font-weight:600;margin-bottom:12px}.referral-source-selector{margin-bottom:16px}.referral-source-selector .source-label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.source-options{display:flex;flex-wrap:wrap;gap:6px}.source-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s}.source-option:hover{background:#f3f4f6;border-color:#9ca3af}.source-option.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.existing-referral-selector{align-items:flex-start;display:flex;gap:8px;margin-bottom:12px}.referral-dropdown-wrapper{flex:1 1;position:relative}.referral-dropdown-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px;transition:all .15s;width:100%}.referral-dropdown-btn:hover{border-color:#9ca3af}.selected-referral-text{align-items:center;display:flex;gap:6px}.selected-referral-text .check-icon{color:#059669}.referral-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.referral-dropdown-empty,.referral-dropdown-loading{color:#6b7280;font-size:13px;padding:16px;text-align:center}.referral-dropdown-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:12px 14px;transition:background .15s}.referral-dropdown-item:last-of-type{border-bottom:none}.referral-dropdown-item:hover{background:#f8fafc}.referral-dropdown-item.selected{background:#eff6ff}.referral-item-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.referral-doctor{color:#1f2937;font-size:14px;font-weight:500}.referral-office{color:#6b7280;font-size:13px}.referral-item-details{align-items:center;display:flex;justify-content:space-between}.referral-teeth{color:#374151;font-size:12px}.referral-status{border-radius:10px;font-size:11px;font-weight:500;padding:2px 8px}.referral-status.incomplete{background:#fef3c7;color:#92400e}.referral-status.complete{background:#d1fae5;color:#065f46}.referral-dropdown-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:10px 14px}.show-completed-checkbox{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px}.show-completed-checkbox input{cursor:pointer;height:14px;width:14px}.clear-referral-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;padding:8px 12px;transition:all .15s}.clear-referral-btn:hover{background:#fee2e2;border-color:#fca5a5}.referring-doctor-section{margin-bottom:12px}.doctor-autocomplete-container{margin-bottom:12px;position:relative}.doctor-autocomplete-label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.doctor-autocomplete-wrapper{position:relative}.doctor-autocomplete-wrapper .search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.doctor-autocomplete-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 12px 10px 40px;transition:border-color .2s,box-shadow .2s;width:100%}.doctor-autocomplete-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.doctor-autocomplete-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.doctor-autocomplete-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:10px 14px;transition:background .15s}.doctor-autocomplete-item:last-child{border-bottom:none}.doctor-autocomplete-item:hover{background:#f8fafc}.doctor-autocomplete-item .doctor-name{color:#1f2937;font-weight:500}.doctor-autocomplete-item .office-name{color:#6b7280}.doctor-autocomplete-empty,.doctor-autocomplete-loading{color:#6b7280;font-size:13px;padding:14px;text-align:center}.manual-field-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.manual-field{margin-bottom:8px}.manual-field label{color:#374151;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.manual-field input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:13px;padding:8px 10px;transition:border-color .2s,box-shadow .2s;width:100%}.manual-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.self-referral-note{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#065f46;font-size:13px;padding:12px}.teeth-treatment-section{margin-top:8px}.add-tooth-row{align-items:center;display:flex;gap:8px;margin-bottom:12px}.add-tooth-row .tooth-select{flex:1 1;min-width:120px}.add-tooth-row .type-select{flex:2 1;min-width:150px}.btn-add-tooth{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;padding:10px 14px;transition:background .15s;white-space:nowrap}.btn-add-tooth:hover:not(:disabled){background:#2563eb}.btn-add-tooth:disabled{background:#9ca3af;cursor:not-allowed}.teeth-list{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.tooth-item{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:10px 12px}.tooth-item:last-child{border-bottom:none}.tooth-number{color:#1d4ed8;font-size:14px;font-weight:600;min-width:40px}.tooth-type-name{color:#374151;flex:1 1;font-size:14px}.tooth-type-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.tooth-treatment-badge{background:#dbeafe;border-radius:10px;color:#1d4ed8;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.remove-tooth-btn{border:none;color:#9ca3af;padding:0}.remove-tooth-btn:hover{background:#fee2e2;color:#dc2626}.teeth-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:13px;padding:16px;text-align:center}.tooth-input-wrapper{align-items:center;display:flex;flex:1 1;min-width:140px;position:relative}.tooth-input-wrapper .tooth-input{background:#fff;cursor:pointer;padding-right:40px}.tooth-input-wrapper .tooth-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-tooth-selector{align-items:center;background:#eff6ff;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:4px;top:50%;transform:translateY(-50%);transition:all .15s;width:32px}.btn-tooth-selector:hover{background:#dbeafe;color:#1d4ed8}.appointment-card{background:#3b82f6;background:var(--card-color,#3b82f6);border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:64px;height:var(--slot-height,64px);left:4px;min-height:28px;overflow:hidden;padding:6px 8px;position:absolute;right:4px;top:0;transition:transform .15s,box-shadow .15s;z-index:5}.appointment-card:hover{box-shadow:0 4px 12px #00000026;overflow:visible;transform:scale(1.02);z-index:100}.card-patient-row{align-items:center;background:#00000026;border-bottom:1px solid #fff3;border-radius:6px 6px 0 0;display:flex;flex-shrink:0;gap:4px;justify-content:space-between;margin:-6px -8px 4px;padding:5px 8px;width:calc(100% + 16px)}.patient-name{color:#fff;font-size:12px;font-weight:700;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.confirmed-icon{color:#86efac;flex-shrink:0}.reminded-icon{color:#fde047;flex-shrink:0}.card-teeth-type{align-items:center;color:#ffffffe6;display:flex;font-size:11px;gap:4px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-teeth{font-weight:600}.separator{color:#fff9}.card-type-abbrev{color:#ffffffd9}.card-time{color:#ffffffd9}.card-time,.card-type{font-size:10px;margin-top:2px}.card-type{color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-notes{color:#ffffffbf;font-size:10px;line-height:1.3;margin-top:4px}.card-status-badge{border-radius:4px;bottom:4px;font-size:9px;font-weight:600;letter-spacing:.3px;padding:2px 6px;position:absolute;right:4px;text-transform:uppercase}.status-checked-in{box-shadow:inset 0 0 0 2px #22c55e80}.status-checked-in .card-status-badge{background:#22c55e;color:#fff}.status-in-progress{animation:pulse 2s infinite;box-shadow:inset 0 0 0 2px #3b82f680}.status-in-progress .card-status-badge{background:#3b82f6;color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.status-completed{opacity:.7}.status-completed .card-status-badge{background:#22c55e;color:#fff}.status-cancelled{background:#9ca3af!important;opacity:.5;text-decoration:line-through}.status-cancelled .card-status-badge{background:#6b7280;color:#fff}.status-no-show{background:#ef4444!important;opacity:.6}.status-no-show .card-status-badge{background:#dc2626;color:#fff}.appointment-card[style*="slot-height: 32px"] .card-notes,.appointment-card[style*="slot-height: 32px"] .card-teeth-type,.appointment-card[style*="slot-height: 32px"] .card-time,.appointment-card[style*="slot-height: 32px"] .card-type{display:none}.appointment-tooltip{background:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026,0 4px 10px #0000001a;left:0;margin-top:8px;max-width:350px;min-width:280px;overflow:hidden;pointer-events:none;position:absolute;top:100%;z-index:1000}.appointment-card:first-child .appointment-tooltip{left:0}.appointment-card:last-child .appointment-tooltip{left:auto;right:0}.tooltip-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 14px}.tooltip-header strong{color:#1f2937;display:block;font-size:14px;margin-bottom:2px}.tooltip-phone{color:#6b7280;font-size:12px}.tooltip-section{border-bottom:1px solid #f3f4f6;padding:10px 14px}.tooltip-section:last-of-type{border-bottom:none}.tooltip-section-title{color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.tooltip-row{align-items:flex-start;display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.tooltip-row:last-child{margin-bottom:0}.tooltip-label{color:#6b7280;flex-shrink:0;margin-right:8px}.tooltip-row span:last-child{color:#1f2937;text-align:right}.tooltip-teeth-section{margin-top:8px}.tooltip-teeth-section .tooltip-label{display:block;margin-bottom:6px}.tooltip-teeth-list{display:flex;flex-direction:column;gap:4px}.tooltip-tooth-item{align-items:center;background:#f0f9ff;border-radius:4px;display:flex;font-size:12px;gap:8px;padding:4px 8px}.tooltip-tooth-num{color:#1d4ed8;font-weight:600;min-width:30px}.tooltip-tooth-type{color:#374151}.tooltip-referral{background:#fef3c7}.tooltip-referral .tooltip-section-title{color:#92400e}.tooltip-procedures{background:#f0fdf4}.tooltip-procedures .tooltip-section-title{color:#166534}.tooltip-procedure{grid-gap:8px;align-items:center;border-bottom:1px solid #0000000d;display:grid;font-size:11px;gap:8px;grid-template-columns:60px 1fr auto auto;padding:4px 0}.tooltip-procedure:last-of-type{border-bottom:none}.proc-code{color:#3b82f6;font-weight:600}.proc-desc{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-tooth{color:#6b7280;font-size:10px}.proc-fee{color:#059669;font-weight:500;text-align:right}.tooltip-total{align-items:center;border-top:1px solid #d1fae5;display:flex;font-size:12px;justify-content:space-between;margin-top:6px;padding-top:8px}.tooltip-total span{color:#374151}.tooltip-total strong{color:#059669;font-size:13px}.tooltip-notes{background:#fafafa}.tooltip-notes .tooltip-section-title{color:#6b7280}.tooltip-notes p{color:#374151;font-size:12px;line-height:1.4;margin:0}.tooltip-footer{align-items:center;background:#f8fafc;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 14px}.tooltip-status{background:#e5e7eb;border-radius:4px;color:#374151;font-size:10px;font-weight:600;padding:3px 8px;text-transform:capitalize}.tooltip-status.status-checked-in{background:#dcfce7;color:#166534}.tooltip-status.status-in-progress{background:#dbeafe;color:#1e40af}.tooltip-status.status-completed{background:#dcfce7;color:#166534}.tooltip-status.status-cancelled{background:#f3f4f6;color:#6b7280}.tooltip-status.status-no-show{background:#fee2e2;color:#dc2626}.tooltip-confirmation{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:10px;font-weight:500;padding:3px 8px;text-transform:capitalize}.tooltip-confirmation.confirmed{background:#dcfce7;color:#166534}.tooltip-confirmation.reminded{background:#fef3c7;color:#92400e}.appointment-context-menu{animation:contextMenuFadeIn .1s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;padding:4px 0;position:fixed;z-index:1100}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-header{color:#374151;font-size:12px;font-weight:600;max-width:200px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.context-menu-divider{background:#e5e7eb;height:1px;margin:4px 0}.context-menu-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;text-align:left;transition:background .1s ease;width:100%}.context-menu-item:hover:not(:disabled){background:#eff6ff;color:#1d4ed8}.context-menu-item:hover:not(:disabled) svg{color:#3b82f6}.context-menu-item:disabled{color:#9ca3af;cursor:not-allowed}.context-menu-item svg{color:#6b7280;flex-shrink:0}.context-menu-item span{flex:1 1}.context-menu-item.complete-action:hover:not(:disabled){background:#ecfdf5;color:#047857}.context-menu-item.complete-action:hover:not(:disabled) svg{color:#10b981}.context-menu-item.missed-action:hover:not(:disabled){background:#fef3c7;color:#92400e}.context-menu-item.missed-action:hover:not(:disabled) svg{color:#f59e0b}.context-menu-item.cancel-action:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.context-menu-item.cancel-action:hover:not(:disabled) svg{color:#ef4444}.context-menu-item.uncomplete-action:hover:not(:disabled){background:#f0f9ff;color:#0369a1}.context-menu-item.uncomplete-action:hover:not(:disabled) svg{color:#0ea5e9}.confirmation-status-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:420px;overflow:hidden;width:100%}.confirmation-status-modal .modal-header{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.confirmation-status-modal .modal-header h2{align-items:center;color:#1e40af;display:flex;font-size:18px;font-weight:600;gap:10px;margin:0}.confirmation-status-modal .modal-header h2 svg{color:#3b82f6}.confirmation-status-modal .close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.confirmation-status-modal .close-btn:hover{background:#3b82f61a;color:#1d4ed8}.confirmation-status-modal .modal-body{overflow-y:auto;padding:20px}.patient-info-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:8px;margin-bottom:16px;padding:12px}.patient-info-row .label{color:#64748b;font-size:13px}.patient-info-row .value{color:#1e3a5f;font-size:14px;font-weight:600}.status-options{display:flex;flex-direction:column;gap:8px}.status-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;transition:all .15s ease;width:100%}.status-option:hover{background:#f8fafc;border-color:#93c5fd}.status-option.selected{background:#eff6ff;border-color:#3b82f6}.status-option svg{color:#64748b;flex-shrink:0}.status-option.selected svg{color:#3b82f6}.status-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.status-label{color:#374151;font-size:14px;font-weight:500}.status-option.selected .status-label{color:#1d4ed8}.status-description{color:#9ca3af;font-size:12px}.check-icon{color:#3b82f6}.confirmation-status-modal .modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.confirmation-status-modal .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .15s ease}.confirmation-status-modal .btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.confirmation-status-modal .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s ease}.confirmation-status-modal .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.confirmation-status-modal .btn-primary:disabled,.confirmation-status-modal .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.schedule-calendar{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden}.schedule-empty,.schedule-error,.schedule-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.schedule-loading .spinning{animation:spin 1s linear infinite}.schedule-error{color:#dc2626}.schedule-error h2{font-size:1.25rem;margin:16px 0}.schedule-error .btn-primary{align-items:center;display:flex;gap:8px;margin-top:16px}.schedule-empty{color:#9ca3af}.schedule-empty h2{color:#6b7280;margin:16px 0 8px}.schedule-closed-notice{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 24px}.schedule-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;padding:16px 24px}.schedule-header,.schedule-header-left{align-items:center;display:flex;gap:16px}.schedule-header-left h1{align-items:center;color:#1f2937;display:flex;font-size:1.5rem;gap:8px;margin:0}.schedule-header-left .current-date{color:#6b7280;font-size:1rem}.schedule-header-center{align-items:center;display:flex;gap:8px}.schedule-header-center .nav-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.schedule-header-center .nav-btn:hover{background:#f3f4f6;color:#1f2937}.schedule-header-center .today-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.schedule-header-center .today-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.schedule-header-right{align-items:center;display:flex;gap:12px}.view-toggle{border:1px solid #e5e7eb;border-radius:8px;display:flex;overflow:hidden}.view-toggle button{background:#fff;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.view-toggle button:first-child{border-right:1px solid #e5e7eb}.view-toggle button:hover{background:#f3f4f6}.view-toggle button.active{background:#3b82f6;color:#fff}.toggle-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 12px;transition:all .2s}.toggle-btn:hover{background:#f3f4f6;border-color:#d1d5db}.toggle-btn.active{background:#fef3c7;border-color:#fcd34d;color:#92400e}.btn-primary,.toggle-btn .toggle-label{font-weight:500}.btn-primary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s}.btn-primary:hover{background:#2563eb}.schedule-grid{display:flex;flex:1 1;overflow:auto;position:relative}.time-column{background:#f8fafc;border-right:1px solid #e5e7eb;flex-shrink:0;left:0;position:-webkit-sticky;position:sticky;width:80px;z-index:10}.column-header{align-items:center;background:#f1f5f9;border-bottom:2px solid #e5e7eb;color:#64748b;display:flex;font-weight:600;height:48px;justify-content:center}.time-header{border-top:4px solid #0000;color:#94a3b8}.time-slot-label{align-items:flex-start;color:#64748b;display:flex;font-size:12px;height:32px;justify-content:flex-end;padding-right:12px;position:relative}.time-slot-label span{transform:translateY(-50%)}.operatory-column{border-right:1px solid #e5e7eb;flex:1 1;min-width:180px}.operatory-column:last-child{border-right:none}.operatory-header{background:#fff;border-top:4px solid #3b82f6;flex-direction:column}.operatory-name{color:#1f2937;font-size:14px;font-weight:600}.operatory-abbrev{color:#6b7280;font-size:12px;font-weight:400}.operatory-slots,.time-slot{position:relative}.time-slot{border-bottom:1px solid #f1f5f9;cursor:pointer;height:32px;transition:background .15s}.time-slot:hover{background:#f0f9ff}.time-slot.hour-mark{border-top:2px solid #d1d5db}.time-slot.occupied{background:#0000;cursor:default}.time-slot.occupied:hover{background:#0000}.schedule-week-grid{display:flex;flex:1 1;overflow:auto;position:relative}.week-time-header-spacer{height:72px!important}.week-day-group{border-right:2px solid #cbd5e1;display:flex;flex:1 1;flex-direction:column;min-width:0}.week-day-group.last{border-right:none}.week-day-header-row{align-items:center;background:#f1f5f9;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;height:24px;justify-content:center;transition:background .2s}.week-day-header-row:hover{background:#e0e7ff}.week-day-header-row.today{background:#3b82f6;color:#fff}.week-day-header-row.today:hover{background:#2563eb}.week-day-label{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.week-day-operatories{display:flex;flex:1 1;min-width:0}.week-operatory-column{border-right:1px solid #e5e7eb;flex:1 1;min-width:60px}.week-operatory-column.last-in-day{border-right:none}.week-operatory-header{align-items:center;background:#fff;border-bottom:2px solid #e5e7eb;border-top:4px solid #3b82f6;color:#64748b;display:flex;font-size:11px;font-weight:600;height:48px;justify-content:center}.week-operatory-slots{position:relative}.week-operatory-column .appointment-card{font-size:10px;padding:2px 4px}.week-operatory-column .appointment-card .patient-name{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-operatory-column .appointment-card .appointment-time{font-size:9px}.week-operatory-column .appointment-card .appointment-type{display:none}@media (max-width:768px){.schedule-header{padding:12px 16px}.schedule-header-left .current-date{display:none}.schedule-header-right{justify-content:space-between;width:100%}.time-column{width:60px}.operatory-column{min-width:140px}.week-operatory-column{min-width:60px}.week-operatory-header{font-size:9px;height:40px}.week-day-label{font-size:10px}.week-time-header-spacer{height:64px!important}.week-operatory-column .appointment-card{font-size:9px;padding:1px 2px}.week-operatory-column .appointment-card .patient-name{font-size:9px}}.patient-search{position:relative}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#64748b;left:10px;pointer-events:none;position:absolute}.search-input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:8px 32px 8px 34px;transition:all .15s ease;width:100%}.search-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-input::placeholder{color:#9ca3af}.search-clear{align-items:center;background:#e5e7eb;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:20px;justify-content:center;padding:0;position:absolute;right:6px;transition:all .15s ease;width:20px}.search-clear:hover{background:#d1d5db;color:#374151}.search-collapsed-button{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;margin:0 auto;padding:0;transition:all .15s ease;width:36px}.search-collapsed-button:hover{background:#eff6ff;border-color:#93c5fd;color:#3b82f6}.search-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;max-height:320px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.search-dropdown-header{color:#6b7280;font-size:10px;font-weight:600;letter-spacing:.5px;padding:8px 12px 4px;text-transform:uppercase}.search-results{padding:4px 0}.search-result-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;text-align:left;transition:background .1s ease;width:100%}.search-result-item:hover{background:#eff6ff}.result-name{color:#1e3a5f;font-size:13px;font-weight:500}.result-info{color:#64748b;display:flex;font-size:11px;gap:6px}.result-info span{background:#f1f5f9;border-radius:4px;padding:2px 6px}.search-loading{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px;justify-content:center;padding:16px}.spinner-small{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:16px;width:16px}.search-no-results{padding:16px;text-align:center}.search-no-results p{color:#6b7280;font-size:13px;margin:0}.add-new-patient-btn{align-items:center;background:linear-gradient(180deg,#eff6ff,#dbeafe);border:none;border-top:1px solid #bfdbfe;color:#1d4ed8;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 12px;transition:all .15s ease;width:100%}.add-new-patient-btn:hover{background:linear-gradient(180deg,#dbeafe,#bfdbfe)}.search-dropdown::-webkit-scrollbar{width:6px}.search-dropdown::-webkit-scrollbar-track{background:#0000}.search-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.patient-search .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:2000}.patient-search .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.patient-search .patient-form-modal{max-width:700px}.patient-search .duplicate-warning-modal{max-width:550px;padding:24px}.patient-search .duplicate-warning-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.patient-search .duplicate-warning-header svg{color:#f59e0b}.patient-search .duplicate-warning-header h2{color:#111827;font-size:18px;margin:0}.patient-search .duplicate-warning-modal>p{color:#6b7280;font-size:14px;margin:0 0 20px}.patient-search .duplicate-matches{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.patient-search .duplicate-match-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;padding:16px}.patient-search .match-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:150px}.patient-search .match-info strong{color:#111827;font-size:14px}.patient-search .match-info span{color:#6b7280;font-size:13px}.patient-search .match-score{flex-shrink:0}.patient-search .match-score .high-match{background:#fee2e2;border-radius:6px;color:#dc2626;font-size:12px;font-weight:500;padding:4px 10px}.patient-search .match-score .medium-match{background:#fef3c7;border-radius:6px;color:#d97706;font-size:12px;font-weight:500;padding:4px 10px}.patient-search .duplicate-match-card .btn-secondary{font-size:13px;padding:8px 12px}.patient-search .duplicate-warning-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.patient-search .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .15s ease}.patient-search .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.patient-search .btn-warning{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .15s ease}.patient-search .btn-warning:hover{background:#d97706}.patient-sidebar{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-right:1px solid #e2e8f0;box-shadow:2px 0 8px #3b82f60f;display:flex;flex-direction:column;height:calc(100vh - 57px);left:0;overflow:hidden;position:fixed;top:57px;transition:width .2s ease,transform .2s ease;width:260px;z-index:998}.patient-sidebar.collapsed{width:52px}.sidebar-header{align-items:center;background:linear-gradient(180deg,#eff6ff,#f0f9ff);border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:12px}.sidebar-header-left{align-items:center;display:flex;gap:8px}.home-button{align-items:center;background:none;border:none;border-radius:6px;color:#1e40af;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease}.home-button:hover{background:#3b82f61a;color:#1d4ed8}.home-button svg{color:#3b82f6;height:16px;width:16px}.collapse-button{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.collapse-button:hover{background:#3b82f61a;color:#3b82f6}.collapse-button svg{height:16px;transition:transform .2s ease;width:16px}.patient-sidebar.collapsed .collapse-button svg{transform:rotate(180deg)}.patient-sidebar.collapsed .sidebar-header{justify-content:center;padding:12px 8px}.patient-sidebar.collapsed .home-button{padding:8px}.patient-sidebar.collapsed .collapse-button,.patient-sidebar.collapsed .home-button span{display:none}.sidebar-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.search-section{background:#ffffff80;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:12px}.patient-sidebar.collapsed .search-section{padding:8px}.patient-card-section{background:#ffffff4d;border-bottom:1px solid #e2e8f0;padding:12px}.patient-sidebar.collapsed .patient-card-section{padding:8px}.empty-patient-card{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:24px 16px;text-align:center}.empty-patient-card svg{color:#94a3b8;height:32px;margin-bottom:8px;width:32px}.empty-patient-card p{font-size:13px;margin:0}.patient-sidebar.collapsed .empty-patient-card p{display:none}.patient-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:8px;padding:12px;position:relative}.patient-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.patient-card-name{color:#1e3a5f;font-size:14px;font-weight:600;line-height:1.3;margin:0 0 4px}.patient-card-info{color:#475569;font-size:12px;margin:0}.patient-card-close{align-items:center;background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:0;transition:all .15s ease;width:24px}.patient-card-close:hover{background:#3b82f626;color:#1d4ed8}.patient-card-close svg{height:14px;width:14px}.patient-sidebar.collapsed .patient-card{align-items:center;display:flex;flex-direction:column;padding:8px;text-align:center}.patient-card-initials{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:32px;justify-content:center;margin-bottom:4px;width:32px}.patient-card-compact-info{color:#6b7280;font-size:10px;margin:0}.patient-sidebar.collapsed .patient-card-close,.patient-sidebar.collapsed .patient-card-header,.patient-sidebar.collapsed .patient-card-info,.patient-sidebar.collapsed .patient-card-name,.patient-sidebar:not(.collapsed) .patient-card-compact-info,.patient-sidebar:not(.collapsed) .patient-card-initials{display:none}.sections-list{padding:8px 0}.patient-sidebar.collapsed .sections-list{padding:4px 0}.section-item{align-items:center;background:none;border:none;color:#475569;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 16px;text-align:left;transition:all .15s ease;width:100%}.section-item:hover{background:#3b82f614;color:#1e40af}.section-item:hover .section-icon{color:#3b82f6}.section-item.active{background:linear-gradient(90deg,#3b82f626,#3b82f614);border-left:3px solid #3b82f6;color:#1d4ed8;font-weight:500}.section-item.active .section-icon{color:#2563eb}.section-arrow-btn{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin-left:auto;padding:4px;transition:background .15s ease}.section-arrow-btn:hover{background:#3b82f626}.section-item.expandable .section-arrow{transition:transform .2s ease}.section-item.expandable.expanded .section-arrow{transform:rotate(90deg)}.section-icon{color:#64748b;flex-shrink:0;height:18px;transition:color .15s ease;width:18px}.section-label{flex:1 1}.section-arrow{color:#94a3b8;height:14px;width:14px}.patient-sidebar.collapsed .section-item{justify-content:center;padding:10px 8px}.patient-sidebar.collapsed .section-arrow,.patient-sidebar.collapsed .section-arrow-btn,.patient-sidebar.collapsed .section-label{display:none}.section-expanded-content{background:#f1f5f9cc;border-top:1px solid #e2e8f0;color:#475569;font-size:12px;padding:8px 16px 8px 44px}.section-expanded-content p{margin:0 0 4px}.section-expanded-content p:last-child{margin-bottom:0}.section-expanded-content .referral-summary{margin-top:4px}.section-expanded-content .referral-count{color:#1d4ed8;font-weight:500}.section-expanded-content .field-empty{color:#9ca3af;font-style:italic}.patient-sidebar.collapsed .section-expanded-content{display:none}.patient-card-loading{align-items:center;display:flex;justify-content:center;padding:24px}.patient-card-loading .spinner{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:24px;width:24px}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#0000}.sidebar-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#93c5fd}@media (max-width:768px){.patient-sidebar{box-shadow:4px 0 12px #00000026;transform:translateX(-100%);width:280px}.patient-sidebar.mobile-open{transform:translateX(0)}.patient-sidebar.collapsed{width:280px}}.patient-sidebar.collapsed .section-item{position:relative}.patient-sidebar.collapsed .section-item:after{background:#1f2937;border-radius:4px;color:#fff;content:attr(data-tooltip);font-size:12px;left:100%;margin-left:8px;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s ease,visibility .15s ease;visibility:hidden;white-space:nowrap;z-index:1000}.patient-sidebar.collapsed .section-item:hover:after{opacity:1;visibility:visible}.section-page{background:#f9fafb;min-height:100%}.section-page-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.section-back-button{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease}.section-back-button:hover{background:#e5e7eb;color:#111827}.section-page-title{align-items:center;display:flex;gap:10px}.section-page-title svg{color:#3b82f6}.section-page-title h1{color:#111827;font-size:18px;font-weight:600;margin:0}.section-page-patient{color:#6b7280;font-size:14px;font-weight:400}.section-page-content{padding:24px}.section-page-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.section-page-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:12px;width:32px}.section-page-error{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.section-page-error svg{color:#ef4444;margin-bottom:12px}.section-page-error h2{color:#111827;font-size:16px;margin:0 0 8px}.section-page-error p{color:#6b7280;font-size:14px;margin:0}.section-placeholder{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.section-placeholder svg{color:#9ca3af;margin-bottom:16px}.section-placeholder h2{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.section-placeholder p{color:#6b7280;font-size:14px;margin:0;max-width:400px}@media (max-width:768px){.section-page-header{gap:12px;padding:12px 16px}.section-back-button span{display:none}.section-page-title h1{font-size:16px}.section-page-patient{display:none}.section-page-content{padding:16px}}.image-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .2s ease}.image-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.image-card.selected{border-color:#3b82f6;border-width:2px;box-shadow:0 0 0 3px #3b82f633}.image-card.selectable{cursor:pointer}.selection-indicator{align-items:center;background:#ffffffe6;border:2px solid #fff;border-radius:4px;box-shadow:0 1px 3px #0003;display:flex;height:22px;justify-content:center;left:8px;position:absolute;top:8px;transition:all .15s ease;width:22px;z-index:10}.selection-indicator.checked{background:#3b82f6;border-color:#3b82f6;color:#fff}.image-preview{align-items:center;aspect-ratio:1;background:#f3f4f6;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.image-preview img{height:100%;object-fit:cover;width:100%}.image-loading{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:24px;width:24px}.image-error{align-items:center;color:#9ca3af;font-size:.75rem;gap:.5rem;justify-content:center}.image-error,.image-info{display:flex;flex-direction:column}.image-info{gap:.375rem;padding:.75rem}.tooth-pills{display:flex;flex-wrap:wrap;gap:.25rem}.tooth-pill{background:#eff6ff;border-radius:4px;color:#3b82f6;font-size:.7rem;font-weight:600;padding:.125rem .375rem}.tooth-pill.more{background:#dbeafe}.tooth-pill.empty{background:#f3f4f6;color:#9ca3af}.image-label{color:#374151;font-size:.8rem;font-weight:500}.image-actions{display:flex;gap:4px;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s ease}.image-card:hover .image-actions{opacity:1}.action-btn{align-items:center;border:none;border-radius:6px;box-shadow:0 1px 3px #0003;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s ease;width:28px}.action-btn.edit-btn{background:#fff;color:#6b7280}.action-btn.edit-btn:hover{background:#3b82f6;color:#fff}.action-btn.delete-btn{background:#fff;color:#ef4444}.action-btn.delete-btn:hover{background:#ef4444;color:#fff}.image-card.compact{border-radius:6px}.image-card.compact .image-info{gap:.25rem;padding:.5rem}.image-card.compact .tooth-pill{font-size:.65rem;padding:.1rem .25rem}.image-card.compact .image-label{font-size:.7rem}.image-card.compact .selection-indicator{height:18px;left:6px;top:6px;width:18px}.image-card.compact .action-btn{height:24px;width:24px}@media (max-width:480px){.image-info{padding:.5rem}.tooth-pill{font-size:.65rem}.image-label{font-size:.75rem}}.imaging-tooth-selector{-webkit-user-select:none;user-select:none;width:100%}.imaging-tooth-selector.disabled{opacity:.6;pointer-events:none}.tooth-selector-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.tooth-selector-label .required{color:#dc2626;margin-left:2px}.tooth-chart{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:1rem}.tooth-row{flex-wrap:nowrap;gap:.25rem;width:100%}.tooth-circle,.tooth-row{display:flex;justify-content:center}.tooth-circle{align-items:center;background-color:#fff;border:2px solid #d1d5db;border-radius:50%;color:#374151;cursor:pointer;flex-shrink:1;font-size:.7rem;font-weight:600;height:30px;min-width:24px;padding:0;transition:all .15s ease;width:30px}.tooth-circle:hover:not(.disabled){background-color:#eff6ff;border-color:#3b82f6;transform:scale(1.08)}.tooth-circle.selected{background-color:#3b82f6;border-color:#3b82f6;box-shadow:0 2px 6px #3b82f659;color:#fff}.tooth-circle.disabled{cursor:not-allowed;opacity:.5}.arch-divider{align-items:center;display:flex;margin:.25rem 0;padding:0 .5rem;width:100%}.side-label{color:#9ca3af;font-size:.65rem;font-weight:600;min-width:16px;text-align:center}.divider-line{background-color:#d1d5db;flex:1 1;height:1px;margin:0 .5rem}.tooth-text-input-container{align-items:center;display:flex;gap:.5rem}.tooth-text-input{border:1px solid #d1d5db;border-radius:6px;color:#374151;flex:1 1;font-size:.875rem;padding:.5rem .75rem;transition:border-color .15s ease}.tooth-text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.tooth-text-input::placeholder{color:#9ca3af}.tooth-text-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.clear-btn{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:.5rem .75rem;transition:background-color .15s ease;white-space:nowrap}.clear-btn:hover:not(:disabled){background-color:#4b5563}.clear-btn:disabled{cursor:not-allowed;opacity:.5}.selection-summary{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#3b82f6;font-size:.8rem;font-weight:500;margin-top:.5rem;padding:.5rem .75rem}.validation-message{color:#dc2626;font-size:.75rem;margin-top:.25rem}.imaging-tooth-selector.compact .tooth-chart{padding:.75rem}.imaging-tooth-selector.compact .tooth-circle{font-size:.65rem;height:26px;min-width:22px;width:26px}.imaging-tooth-selector.compact .tooth-row{gap:.15rem}@media (max-width:768px){.tooth-circle{font-size:.65rem;height:26px;min-width:22px;width:26px}.tooth-row{gap:.15rem}}@media (max-width:480px){.tooth-circle{font-size:.6rem;height:22px;min-width:18px;width:22px}.tooth-row{gap:.1rem}.tooth-text-input-container{flex-direction:column}.clear-btn{width:100%}}.image-upload-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.image-upload-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .15s ease}.close-btn:hover{background:#f3f4f6;color:#111827}.modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.file-drop-zone{align-items:center;background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:3rem;transition:all .2s ease}.file-drop-zone:hover{background:#f0f7ff;border-color:#3b82f6}.drop-icon{color:#9ca3af}.drop-text{color:#374151;font-size:1rem;font-weight:500;margin:0}.drop-subtext{color:#9ca3af;font-size:.875rem;margin:0}.file-select-btn{background:#3b82f6;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:background .15s ease}.file-select-btn:hover{background:#2563eb}.file-hint{color:#9ca3af;font-size:.75rem;margin:0}.thumbnail-strip{background:#f9fafb;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1.5rem;overflow-x:auto;padding:.75rem}.thumbnail{background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;padding:0;position:relative;transition:all .15s ease;width:60px}.thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail.current,.thumbnail:hover{border-color:#3b82f6}.thumbnail.current{box-shadow:0 0 0 2px #3b82f64d}.thumbnail.complete{border-color:#10b981}.complete-indicator{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;height:16px;justify-content:center;position:absolute;right:2px;top:2px;width:16px}.current-indicator{background:#3b82f6;bottom:0;height:3px;left:0;position:absolute;right:0}.assignment-area{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.preview-section{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;justify-content:center;min-height:300px;padding:1rem}.large-preview{border-radius:4px;max-height:400px;max-width:100%;object-fit:contain}.form-section{display:flex;flex-direction:column;gap:1.25rem}.form-group{gap:.5rem}.form-label{color:#374151;font-size:.875rem;font-weight:500}.form-label .required{color:#dc2626}.label-options{display:flex;flex-wrap:wrap;gap:.5rem}.label-options-loading{align-items:center;background:#f3f4f6;border-radius:6px;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.label-options-loading .spinner{animation:spin 1s linear infinite}.label-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:all .15s ease}.label-option:hover{background:#f0f7ff;border-color:#3b82f6}.label-option.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.custom-label-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-top:.5rem;padding:.5rem .75rem}.custom-label-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.apply-remaining-checkbox{align-items:center;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.apply-remaining-checkbox input[type=checkbox]{accent-color:#3b82f6;height:16px;width:16px}.modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.nav-buttons{display:flex;gap:.5rem}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.625rem 1rem;transition:all .15s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-nav{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-nav:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.warning-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.warning-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:450px;overflow:hidden;width:100%}.warning-header{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;display:flex;gap:.75rem;padding:1rem 1.25rem}.warning-icon{color:#f59e0b}.warning-header h4{color:#92400e;font-size:.95rem;font-weight:600;margin:0}.warning-content{max-height:200px;overflow-y:auto;padding:1rem 1.25rem}.incomplete-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.incomplete-list li{color:#374151;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem}.incomplete-list .missing{background:#fef2f2;border-radius:4px;color:#dc2626;font-size:.75rem;padding:.125rem .375rem}.incomplete-list .more-items{color:#9ca3af;font-style:italic}.warning-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem}@media (max-width:768px){.image-upload-modal{border-radius:0;max-height:100vh;max-width:100%}.assignment-area{grid-template-columns:1fr}.preview-section{min-height:200px}.large-preview{max-height:250px}.modal-footer{flex-wrap:wrap;gap:.75rem}.nav-buttons{justify-content:center;order:3;width:100%}}.image-edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.image-edit-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;position:relative;width:100%}.image-edit-modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.image-edit-modal .modal-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.image-edit-modal .close-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .15s ease}.image-edit-modal .close-btn:hover{background:#f3f4f6;color:#111827}.image-edit-modal .modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.image-edit-modal .preview-section{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;justify-content:center;margin-bottom:1.5rem;min-height:200px;padding:1rem}.image-edit-modal .image-preview{border-radius:4px;max-height:300px;max-width:100%;object-fit:contain}.image-edit-modal .form-section{display:flex;flex-direction:column;gap:1.25rem}.image-edit-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.image-edit-modal .form-label{color:#374151;font-size:.875rem;font-weight:500}.image-edit-modal .form-label .required{color:#dc2626}.image-edit-modal .label-options{display:flex;flex-wrap:wrap;gap:.5rem}.image-edit-modal .label-options-loading{align-items:center;background:#f3f4f6;border-radius:6px;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.image-edit-modal .label-options-loading .spinner{animation:spin 1s linear infinite}.image-edit-modal .label-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:all .15s ease}.image-edit-modal .label-option:hover{background:#f0f7ff;border-color:#3b82f6}.image-edit-modal .label-option.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.image-edit-modal .custom-label-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-top:.5rem;padding:.5rem .75rem}.image-edit-modal .custom-label-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.upload-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;gap:.375rem;padding:.75rem}.info-row{align-items:center;color:#6b7280;display:flex;font-size:.8rem;gap:.5rem}.info-row svg{flex-shrink:0}.info-row.file-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-edit-modal .modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.right-buttons{display:flex;gap:.75rem}.image-edit-modal .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.625rem 1rem;transition:all .15s ease}.image-edit-modal .btn:disabled{cursor:not-allowed;opacity:.5}.image-edit-modal .btn-primary{background:#3b82f6;color:#fff}.image-edit-modal .btn-primary:hover:not(:disabled){background:#2563eb}.image-edit-modal .btn-secondary{background:#6b7280;color:#fff}.image-edit-modal .btn-secondary:hover:not(:disabled){background:#4b5563}.image-edit-modal .btn-danger{background:#ef4444;color:#fff}.image-edit-modal .btn-danger:hover:not(:disabled){background:#dc2626}.delete-confirm-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.delete-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:360px;padding:1.5rem;text-align:center;width:100%}.delete-confirm-modal h4{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.delete-confirm-modal p{color:#6b7280;font-size:.875rem;margin:0 0 1.25rem}.delete-confirm-buttons{display:flex;gap:.75rem;justify-content:center}@media (max-width:640px){.image-edit-modal{border-radius:0;max-height:100vh;max-width:100%}.image-edit-modal .preview-section{min-height:150px}.image-edit-modal .image-preview{max-height:200px}.image-edit-modal .modal-footer{flex-direction:column;gap:.75rem}.image-edit-modal .btn-danger{justify-content:center;width:100%}.right-buttons{width:100%}.right-buttons .btn{flex:1 1;justify-content:center}}.imaging-tab{display:flex;flex-direction:column;height:100%}.imaging-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.header-left,.imaging-header{align-items:center;display:flex}.header-left{gap:1rem}.imaging-header h2{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.image-count{background:#f3f4f6;border-radius:999px;color:#6b7280;font-size:.875rem;padding:.25rem .75rem}.header-actions{gap:.75rem}.filter-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;padding:.5rem .875rem;transition:all .15s ease}.filter-btn:hover{background:#f3f4f6;border-color:#9ca3af}.filter-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.filter-btn.has-filters .filter-badge{align-items:center;background:#3b82f6;border-radius:999px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:600;height:18px;justify-content:center;margin-left:.25rem;min-width:18px;padding:0 4px}.upload-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:background .15s ease}.upload-btn:hover{background:#2563eb}.filters-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:1rem}.filter-section{display:flex;flex-direction:column;gap:.5rem}.filter-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;min-width:160px;padding:.5rem .75rem}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.tooth-filter-chips{display:flex;flex-wrap:wrap;gap:.375rem}.tooth-chip{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:.75rem;font-weight:500;padding:.25rem .5rem;transition:all .15s ease}.tooth-chip:hover{background:#f0f7ff;border-color:#3b82f6}.tooth-chip.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.no-teeth{color:#9ca3af;font-size:.8rem;font-style:italic}.clear-filters-btn{align-items:center;align-self:flex-end;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:.8rem;gap:.25rem;margin-left:auto;padding:.375rem .625rem}.clear-filters-btn:hover{color:#374151}.imaging-content{flex:1 1;overflow-y:auto}.empty-state,.error-state,.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-state .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:1rem;width:40px}.empty-state svg{margin-bottom:1rem}.empty-state h3{font-size:1.125rem;margin:0 0 .5rem}.empty-state p{font-size:.875rem;margin:0 0 1.5rem;max-width:300px}.upload-btn-large{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background .15s ease}.upload-btn-large:hover{background:#2563eb}.date-groups{display:flex;flex-direction:column;gap:1rem}.date-group{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.date-group.current-appointment{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.date-group-header{align-items:center;background:#f9fafb;border:none;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;gap:.5rem;padding:.875rem 1rem;text-align:left;transition:background .15s ease;width:100%}.date-group-header:hover{background:#f3f4f6}.date-group-header svg{color:#6b7280;flex-shrink:0}.date-label{align-items:center;color:#374151;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem}.current-badge{background:#dbeafe;border-radius:4px;color:#1e40af;font-size:.65rem;font-weight:600;letter-spacing:.05em;padding:.125rem .375rem;text-transform:uppercase}.group-count{color:#9ca3af;font-size:.8rem}.images-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:1rem}@media (max-width:768px){.imaging-header{align-items:stretch;flex-direction:column;gap:1rem}.header-left{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.filter-btn,.upload-btn{flex:1 1;justify-content:center}.filters-panel{flex-direction:column}.filter-section,.filter-select{width:100%}.images-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:.75rem}}@media (max-width:480px){.images-grid{grid-template-columns:repeat(2,1fr)}}.charting-tab{display:flex;flex-direction:column;height:100%;max-width:none!important}.charting-header{align-items:flex-start;display:flex;flex-shrink:0;gap:20px;justify-content:space-between;margin-bottom:20px}.charting-header h2{margin:0 0 8px}.charting-columns-wrapper{flex:1 1;margin:0 -24px;padding:0 24px}.charting-columns{align-items:flex-start;display:flex;gap:16px;min-width:-webkit-min-content;min-width:min-content}.charting-column{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;flex-shrink:0;width:450px}.charting-column-header{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:2px solid #3b82f6;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:12px 16px;position:-webkit-sticky;position:sticky;top:51px;z-index:10}.tooth-selector-wrapper{position:relative}.tooth-selector-button{align-items:center;background:#fff;border:1px solid #93c5fd;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:all .15s}.tooth-selector-button:hover{background:#f0f9ff;border-color:#3b82f6}.tooth-selector-button .tooth-number{color:#1d4ed8;font-family:SF Mono,Monaco,monospace;font-size:18px;font-weight:700}.remove-tooth-btn{align-items:center;background:#0000;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.remove-tooth-btn:hover{background:#fef2f2;border-color:#f87171}.charting-column-body{padding:12px}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.add-tooth-dropdown,.tooth-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px #00000026;left:0;margin-top:4px;min-width:280px;padding:12px;position:absolute;top:100%;z-index:100}.dropdown-section{margin-bottom:12px}.dropdown-section:last-child{margin-bottom:0}.dropdown-section-label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.dropdown-teeth-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(8,1fr)}.dropdown-tooth{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-family:SF Mono,Monaco,monospace;font-size:11px;font-weight:600;height:28px;justify-content:center;transition:all .15s;width:28px}.dropdown-tooth:hover:not(.disabled):not(.current){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.dropdown-tooth.current{background:#3b82f6;border-color:#3b82f6;color:#fff}.dropdown-tooth.disabled{background:#f3f4f6;color:#d1d5db;cursor:not-allowed}.add-tooth-container{position:relative}.add-tooth-button{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .15s}.add-tooth-button:hover{background:#059669}.add-tooth-dropdown{left:auto;right:0}.charting-section{border:1px solid;border-radius:8px;margin-bottom:12px;padding:12px}.charting-section:last-child{margin-bottom:0}.charting-section.subjective{background:linear-gradient(135deg,#fef5f5,#fff5f5);border-color:#fecaca}.charting-section.objective{background:linear-gradient(135deg,#f5f5ff,#f8f8ff);border-color:#ddd6fe}.charting-section.assessment{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd}.charting-section.plan{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.charting-section.treatment{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.charting-section.postop{background:linear-gradient(135deg,#fdf4ff,#fae8ff);border-color:#e9d5ff}.charting-section.notes{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-color:#e5e7eb}.charting-section-header{border-bottom:1px solid #3b82f633;color:#3b82f6;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.charting-section.notes .charting-section-header{border-bottom-color:#10b98133;color:#10b981}.charting-section.referral-status{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#67e8f9;border-width:2px}.charting-section.referral-status .charting-section-header{align-items:center;border-bottom-color:#0891b24d;color:#0891b2;display:flex;gap:8px}.referral-treatment-label{color:#0e7490;font-size:10px;font-weight:500;text-transform:none}.referral-status-options{display:flex;flex-direction:column;gap:6px}.referral-status-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:all .15s}.referral-status-option:hover{background:#f0fdfa;border-color:#99f6e4}.referral-status-option.selected{background:#0891b2;border-color:#0891b2;color:#fff}.referral-status-option input[type=radio]{cursor:pointer;height:14px;margin:0;width:14px}.referral-status-option.selected input[type=radio]{accent-color:#fff}.referral-reconciliation{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;margin:24px 0;padding:20px}.referral-reconciliation.success{background:#d1fae5;border-color:#10b981}.reconciliation-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.reconciliation-header h3{color:#92400e;font-size:16px;font-weight:600;margin:0}.referral-reconciliation.success .reconciliation-header h3{color:#065f46}.reconciliation-icon{align-items:center;border-radius:50%;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;width:28px}.reconciliation-icon.warning{background:#f59e0b;color:#fff}.reconciliation-icon.success{background:#10b981;color:#fff}.reconciliation-message{color:#065f46;font-size:14px;margin:0}.reconciliation-section{background:#fff;border-radius:8px;margin-bottom:16px;padding:12px}.reconciliation-section:last-child{margin-bottom:0}.reconciliation-section h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.reconciliation-section.unaddressed{border-left:3px solid #f59e0b}.reconciliation-section.added{border-left:3px solid #3b82f6}.reconciliation-section ul{list-style:none;margin:0;padding:0}.reconciliation-section li{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:8px;padding:8px 0}.reconciliation-section li:last-child{border-bottom:none}.tooth-badge{align-items:center;background:#e5e7eb;border-radius:4px;color:#374151;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;min-width:32px;padding:4px 8px}.treatment-name{color:#6b7280;font-size:13px}.status-hint{color:#9ca3af;font-size:12px;font-style:italic}.status-badge{background:#dbeafe;border-radius:4px;color:#1d4ed8;display:inline-block;font-size:12px;font-weight:500;padding:2px 8px;text-transform:capitalize}.added-hint{color:#3b82f6;font-size:12px;font-style:italic}.reconciliation-hint{background:#fef9c3;border-radius:4px;color:#92400e;font-size:12px;margin:12px 0 0;padding:8px 12px}.charting-form-field{margin-bottom:12px}.charting-form-field:last-child{margin-bottom:0}.charting-label{color:#6b7280;display:block;font-size:11px;font-weight:500;margin-bottom:4px}.charting-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:12px;padding:8px 10px;transition:all .15s;width:100%}.charting-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.charting-textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#1f2937;font-family:inherit;font-size:12px;padding:8px 10px;resize:vertical;width:100%}.charting-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.charting-textarea::placeholder{color:#9ca3af}.form-row-2col{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.checkbox-row{margin-bottom:12px}.charting-mini-checkbox-group{display:flex;flex-wrap:wrap;gap:4px}.charting-mini-checkbox{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:11px;padding:4px 8px;transition:all .15s}.charting-mini-checkbox:hover{background:#f9fafb;border-color:#d1d5db}.charting-mini-checkbox.selected{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.charting-mini-checkbox input{display:none}.charting-checkbox{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px}.charting-checkbox.small{font-size:11px}.charting-checkbox input{accent-color:#3b82f6;height:16px;width:16px}.charting-checkbox.small input{height:14px;width:14px}.pain-scale-container{align-items:center;display:flex;gap:10px}.pain-scale-slider{accent-color:#3b82f6;flex:1 1;height:6px}.pain-scale-value{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1d4ed8;display:flex;font-family:SF Mono,Monaco,monospace;font-size:13px;font-weight:600;justify-content:center;min-width:36px;padding:4px 10px}.agents-section,.canals-section{margin-bottom:12px}.agents-header,.canals-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.agents-label,.canals-label{color:#6b7280;font-size:11px;font-weight:500}.btn-add-small{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.btn-add-small:hover{background:#059669}.btn-add-small svg{height:14px;width:14px}.btn-remove-small{align-items:center;background:#0000;border:1px solid #fecaca;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;height:22px;justify-content:center;transition:all .15s;width:22px}.btn-remove-small:hover{background:#fef2f2;border-color:#f87171}.agent-row,.canal-row{align-items:center;display:flex;gap:4px;margin-bottom:4px}.agent-select{flex:2 1;padding:6px 8px}.agent-carpules,.agent-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:10px}.agent-carpules{padding:6px;text-align:center;width:36px}.canal-name{color:#1d4ed8;font-weight:600;width:50px}.canal-name,.canal-size,.canal-wl{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:10px;padding:6px}.canal-size,.canal-wl{color:#1f2937;text-align:center;width:40px}.canals-empty{color:#9ca3af;font-size:10px;font-style:italic;padding:4px 0}.charting-empty-state{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.charting-empty-state svg{color:#d1d5db;margin-bottom:16px}.charting-empty-state h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.charting-empty-state p{color:#6b7280;font-size:14px;margin:0 0 24px}.charting-columns-wrapper::-webkit-scrollbar{height:8px}.charting-columns-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.charting-columns-wrapper::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.charting-columns-wrapper::-webkit-scrollbar-thumb:hover{background:#9ca3af}.charting-global-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.global-section-title{border-bottom:2px solid #1b4332;color:#1b4332;font-size:14px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.global-fields-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.global-field{display:flex;flex-direction:column;gap:8px}.global-field-label{color:#374151;font-size:12px;font-weight:600}.global-text-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:13px;padding:8px 12px;transition:all .15s}.global-text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.global-select-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:13px;padding:8px 12px;transition:all .15s}.global-select-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.global-radio-group{display:flex;gap:8px}.global-radio-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;transition:all .15s}.global-radio-option:hover{background:#f9fafb;border-color:#d1d5db}.global-radio-option.selected{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.global-radio-option.small{font-size:11px;padding:4px 8px}.global-radio-option input{display:none}.nitrous-details-section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.nitrous-fields-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.nitrous-field{display:flex;flex-direction:column;gap:6px}.nitrous-field label{color:#6b7280;font-size:11px;font-weight:500}.anesthetics-section{margin-bottom:12px}.anesthetics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.anesthetics-label{color:#6b7280;font-size:11px;font-weight:600}.anesthetics-actions{display:flex;gap:6px}.btn-manage-options{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;color:#6b7280;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.btn-manage-options:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.btn-manage-options svg{height:16px;width:16px}.anesthetic-entry{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;padding:8px}.anesthetic-row{align-items:center;display:flex;gap:6px;margin-bottom:6px}.anesthetic-type-select{flex:2 1}.anesthetic-carpules-select,.anesthetic-type-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:10px;padding:6px 8px}.anesthetic-carpules-select{width:70px}.anesthetic-locations{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.locations-label{color:#6b7280;font-size:10px;font-weight:500}.locations-checkboxes{display:flex;flex-wrap:wrap;gap:4px}.location-checkbox{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:10px;padding:3px 8px;transition:all .15s}.location-checkbox:hover{background:#f9fafb;border-color:#d1d5db}.location-checkbox.selected{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.location-checkbox input{display:none}.anesthetics-empty{color:#9ca3af;font-size:10px;font-style:italic;padding:8px 0}.canals-actions{display:flex;gap:6px}.canal-entry{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;padding:8px}.canal-custom-name,.canal-name-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;flex:1 1;font-size:10px;padding:6px 8px}.canal-details-row{display:flex;gap:8px;margin-top:6px}.canal-field{display:flex;flex:1 1;flex-direction:column;gap:4px}.canal-field label{color:#6b7280;font-size:9px;font-weight:500}.canal-size-select,.canal-wl-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:10px;padding:6px 8px}@media (max-width:1200px){.global-fields-grid,.nitrous-fields-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.global-fields-grid,.nitrous-fields-grid{grid-template-columns:1fr}}.returning-tooth-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:2px solid #f59e0b;display:flex;gap:8px;justify-content:center;padding:8px 16px}.returning-tooth-status{color:#92400e;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.charting-column.returning-tooth{border-color:#f59e0b;border-width:2px}.charting-column.returning-tooth .charting-column-header{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom-color:#f59e0b}.charting-section.subjective.simplified{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fcd34d}.symptom-status-options{display:flex;gap:8px}.symptom-status-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.symptom-status-option:hover{background:#f9fafb;border-color:#d1d5db}.symptom-status-option.selected{border-width:2px}.symptom-status-option.selected:has(input[value=better]){background:#d1fae5;border-color:#10b981;color:#065f46}.symptom-status-option.selected:has(input[value=same]){background:#fef3c7;border-color:#f59e0b;color:#92400e}.symptom-status-option.selected:has(input[value=worse]){background:#fee2e2;border-color:#ef4444;color:#991b1b}.symptom-status-option input{display:none}.symptom-indicator{background:#e5e7eb;border-radius:50%;height:12px;width:12px}.symptom-status-option.selected .symptom-indicator.better{background:#10b981}.symptom-status-option.selected .symptom-indicator.same{background:#f59e0b}.symptom-status-option.selected .symptom-indicator.worse{background:#ef4444}.previous-findings-panel{border:1px solid;border-radius:8px;margin-bottom:12px;overflow:hidden}.previous-findings-panel.objective{background:linear-gradient(135deg,#f5f5ff,#f8f8ff);border-color:#c4b5fd}.previous-findings-panel.assessment{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#7dd3fc}.previous-findings-header{align-items:center;background:#ffffff80;border-bottom:1px solid #0000000d;display:flex;gap:8px;padding:10px 12px}.previous-findings-panel.objective .previous-findings-header{color:#5b21b6}.previous-findings-panel.assessment .previous-findings-header{color:#0369a1}.previous-findings-title{flex:1 1;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.previous-findings-date{align-items:center;display:flex;font-size:10px;font-weight:500;gap:4px;opacity:.8}.previous-findings-content{padding:12px}.finding-row{align-items:baseline;border-bottom:1px solid #0000000d;display:flex;gap:8px;padding:4px 0}.finding-row:last-child{border-bottom:none}.finding-label{color:#6b7280;font-size:11px;font-weight:600;min-width:90px}.finding-value{color:#1f2937;font-size:12px;font-weight:500}.finding-detail{color:#6b7280;font-size:11px;font-style:italic}.previous-findings-panel.no-data{opacity:.7}.no-previous-data{color:#6b7280;font-size:12px;font-style:italic;margin:0;padding:8px 0;text-align:center}.soap-section{border:1px solid;border-radius:12px;margin-bottom:20px;padding:20px}.subjective-section{background:linear-gradient(135deg,#fef5f5,#fff5f5);border-color:#f8d7da}.objective-section{background:linear-gradient(135deg,#f5f5ff,#f8f8ff);border-color:#e0e0f0}.assessment-section{background:linear-gradient(135deg,#f0f7ff,#f5faff);border-color:#d0e5ff}.plan-section{background:linear-gradient(135deg,#f5fef5,#f8fff8);border-color:#d4edda}.soap-header{align-items:center;border-bottom:2px solid;display:flex;gap:10px;margin-bottom:16px;padding-bottom:12px}.subjective-section .soap-header{border-color:#f5c6cb}.objective-section .soap-header{border-color:#d0d0e0}.assessment-section .soap-header{border-color:#b8daff}.plan-section .soap-header{border-color:#c3e6cb}.soap-header h3{align-items:center;color:#1f2937;display:flex;font-size:16px;font-weight:600;gap:10px;margin:0}.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px;padding:16px 20px}.form-card:last-child{margin-bottom:0}.form-card h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.form-card h5{color:#4b5563;font-size:13px;font-weight:600;margin:16px 0 10px}.form-card h5:first-child{margin-top:0}.form-hint{color:#6b7280;font-size:13px;margin:0 0 12px}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-group.inline{flex-direction:row;flex-wrap:wrap;gap:16px}.radio-label{align-items:center;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 12px;transition:background .15s ease}.radio-label:hover{background:#f9fafb}.radio-label input[type=radio]{display:none}.radio-custom{border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;height:20px;position:relative;transition:all .15s ease;width:20px}.radio-label input[type=radio]:checked+.radio-custom{border-color:#3b82f6}.radio-label input[type=radio]:checked+.radio-custom:after{background:#3b82f6;border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.checkbox-label{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 14px;transition:all .15s ease}.checkbox-label:hover{background:#f3f4f6;border-color:#d1d5db}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;height:18px;position:relative;transition:all .15s ease;width:18px}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:9px;left:5px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.checkbox-label:has(input:checked){background:#eff6ff;border-color:#93c5fd}.text-input{border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.text-input::placeholder{color:#9ca3af}.custom-input-container{margin-top:12px}.select-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;font-size:14px;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.select-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.tooth-tabs-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:16px}.tooth-tab{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:10px 16px;transition:all .15s ease}.tooth-tab:hover{background:#f9fafb;border-color:#d1d5db}.tooth-tab.active{background:#eff6ff;border-color:#3b82f6}.tooth-tab.complete{background:#ecfdf5;border-color:#10b981}.tooth-tab.active.complete{background:#d1fae5;border-color:#10b981}.tooth-tab .tooth-number{color:#1f2937;font-family:SF Mono,Monaco,monospace;font-size:15px;font-weight:700}.tooth-tab .tooth-type{color:#6b7280;font-size:12px}.tooth-tab .tooth-status{align-items:center;display:flex}.tooth-tab .tooth-status svg{color:#9ca3af}.tooth-tab.complete .tooth-status svg{color:#10b981}.tooth-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.progress-summary{align-items:center;background:#f9fafb;border-radius:10px;display:flex;justify-content:space-between;margin-top:20px;padding:16px 20px}.progress-text{color:#4b5563;font-size:14px;font-weight:500}.progress-complete{align-items:center;color:#10b981;display:flex;font-size:14px;font-weight:600;gap:6px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#4b5563;font-size:13px;font-weight:500}.entry-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.entry-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.entry-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.entry-card-header h5{color:#374151;font-size:14px;font-weight:600;margin:0}.btn-add-entry{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:background .15s ease}.btn-add-entry:hover{background:#059669}.btn-remove-entry{background:#0000;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s ease}.btn-remove-entry:hover{background:#fef2f2;border-color:#f87171}.btn-manage-options{background:#0000;border:1px solid #93c5fd;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:16px;padding:8px 14px;transition:all .15s ease}.btn-manage-options:hover{background:#eff6ff}.toggle-container{align-items:center;display:flex;gap:12px}.toggle-switch{height:26px;position:relative;width:48px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#d1d5db;border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(22px)}.toggle-label{color:#374151;font-size:14px}.status-badge.save-status{align-items:center;display:inline-flex;gap:6px}.status-badge.save-status.saving{background:#fef3c7;color:#92400e}.status-badge.save-status.saved{background:#d1fae5;color:#065f46}.status-badge.save-status.error{background:#fee2e2;color:#991b1b}.spinning{animation:spin 1s linear infinite}@media (max-width:768px){.tooth-tabs-container{padding:12px}.tooth-tab{padding:8px 12px}.tooth-tab .tooth-type{display:none}.form-row{grid-template-columns:1fr}.radio-group.inline{gap:8px}.checkbox-group,.radio-group.inline{flex-direction:column}.checkbox-label{width:100%}}.image-selection-grid{display:flex;flex-direction:column;gap:1.25rem}.image-selection-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:2rem}.image-selection-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:.75rem;width:32px}.image-count-selector{align-items:center;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;gap:1rem;padding:.75rem 1rem}.image-count-selector label{color:#374151;font-size:.875rem;font-weight:500}.count-options{display:flex;gap:.5rem}.count-option{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:all .15s ease}.count-option:hover{background:#f0f7ff;border-color:#3b82f6}.count-option.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.section-header h4{color:#374151;font-size:.95rem;font-weight:600;margin:0}.selection-count{color:#6b7280;font-size:.8rem}.arrangement-hint{color:#9ca3af;font-size:.75rem}.selection-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.no-images-message{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;padding:1.5rem;text-align:center}.available-images-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:240px;overflow-y:auto;padding:.25rem}.available-image{background:#fff;border:2px solid #0000;border-radius:6px;cursor:pointer;overflow:hidden;position:relative;transition:all .15s ease}.available-image:hover:not(.disabled){border-color:#93c5fd;transform:scale(1.02)}.available-image.selected{border-color:#3b82f6}.available-image.disabled{cursor:not-allowed;opacity:.5}.image-thumbnail{aspect-ratio:1;overflow:hidden;position:relative}.image-thumbnail img{height:100%;object-fit:cover;width:100%}.selection-overlay{background:#3b82f64d;bottom:0;left:0;position:absolute;right:0;top:0}.selection-badge,.selection-overlay{align-items:center;display:flex;justify-content:center}.selection-badge{background:#3b82f6;border-radius:50%;box-shadow:0 2px 6px #0003;color:#fff;font-size:.8rem;font-weight:700;height:28px;width:28px}.available-image .image-info{display:flex;flex-direction:column;gap:.125rem;padding:.375rem .5rem}.tooth-tags{color:#3b82f6;font-size:.65rem;font-weight:600}.image-label{color:#6b7280;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrangement-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.image-row-arrangement{background:#f3f4f6;border-radius:8px;display:flex;gap:1rem;justify-content:center;margin-top:.5rem;padding:1rem}.arrangement-slot{background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:grab;height:100px;overflow:hidden;position:relative;transition:all .15s ease;width:100px}.arrangement-slot:hover{border-color:#3b82f6}.arrangement-slot:active{cursor:grabbing}.arrangement-slot img{height:100%;object-fit:cover;width:100%}.arrangement-slot .slot-label{background:#0009;bottom:0;color:#fff;font-size:.65rem;left:0;overflow:hidden;padding:.25rem .375rem;position:absolute;right:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.arrangement-slot .remove-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:18px;justify-content:center;line-height:1;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .15s ease;width:18px}.arrangement-slot:hover .remove-btn{opacity:1}.arrangement-slot .drag-handle{align-items:center;background:#00000080;border-radius:4px;color:#fff;display:flex;height:18px;justify-content:center;left:4px;opacity:0;position:absolute;top:4px;transition:opacity .15s ease;width:18px}.arrangement-slot:hover .drag-handle{opacity:1}@media (max-width:640px){.available-images-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.section-header{gap:.5rem}.image-count-selector,.section-header{align-items:flex-start;flex-direction:column}.image-row-arrangement{flex-wrap:wrap}.arrangement-slot{height:80px;width:80px}}.clinical-module{background:#f9fafb;height:calc(100vh - 57px);max-height:calc(100vh - 57px);overflow:auto}.clinical-header,.clinical-module{display:flex;flex-direction:column}.clinical-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:16px;padding:20px 24px}.clinical-header .back-button{align-items:center;align-self:flex-start;background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;transition:all .15s ease}.clinical-header .back-button:hover{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}.clinical-header-info{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.clinical-header .patient-info h1{color:#1f2937;font-size:24px;font-weight:700;margin:0 0 8px}.clinical-header .appointment-meta{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px}.clinical-header .appointment-meta svg{color:#9ca3af}.clinical-header .appointment-meta .separator{color:#d1d5db}.clinical-header .status-badges{display:flex;gap:8px}.clinical-header .status-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.clinical-header .status-badge.future{background:#fef3c7;color:#92400e}.clinical-header .status-badge.past{background:#f3f4f6;color:#6b7280}.clinical-tabs{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;display:flex;flex-shrink:0;gap:4px;overflow-x:auto;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.clinical-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:14px 18px;transition:all .15s ease;white-space:nowrap}.clinical-tab:hover:not(.locked){background:#f9fafb;color:#1f2937}.clinical-tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.clinical-tab.locked{color:#d1d5db;cursor:not-allowed}.clinical-tab.locked svg{color:#d1d5db}.clinical-tab svg{flex-shrink:0}.past-warning-banner{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e;display:flex;font-size:14px;gap:10px;padding:12px 24px}.past-warning-banner svg{flex-shrink:0}.clinical-content{flex:1 1;padding:24px}.clinical-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:64px 24px}.clinical-loading .spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:16px;width:32px}.clinical-tab-content{max-width:1200px}.clinical-tab-content h2{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 8px}.clinical-tab-content .tab-description{color:#6b7280;font-size:14px;margin:0 0 24px}.clinical-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;overflow:hidden}.clinical-section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.clinical-section-header h3{align-items:center;color:#374151;display:flex;font-size:15px;font-weight:600;gap:10px;margin:0}.clinical-section-header h3 svg{color:#6b7280}.clinical-section-body{padding:20px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.info-item .value{color:#1f2937;font-size:15px;font-weight:500}.info-item .value.empty{color:#9ca3af;font-style:italic}.teeth-display{display:flex;flex-wrap:wrap;gap:8px}.tooth-pill{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:10px;display:inline-flex;gap:6px;padding:8px 14px}.tooth-pill .number{color:#1d4ed8;font-family:SF Mono,Monaco,monospace;font-size:16px;font-weight:700}.tooth-pill .type{color:#3b82f6;font-size:13px;font-weight:500}.placeholder-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.placeholder-state svg{color:#d1d5db;margin-bottom:16px}.placeholder-state h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.placeholder-state p{font-size:14px;margin:0}@media (max-width:768px){.clinical-header{padding:16px}.clinical-header-info{flex-direction:column}.clinical-header .patient-info h1{font-size:20px}.clinical-header .appointment-meta{flex-wrap:wrap}.clinical-tabs{padding:0 16px}.clinical-tab{font-size:13px;padding:12px 14px}.clinical-tab span{display:none}.clinical-content{padding:16px}.info-grid{grid-template-columns:1fr}}.billing-page{display:flex;flex-direction:column;gap:24px}.billing-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;padding:20px}.summary-card.balance .summary-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.summary-card.total .summary-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.summary-card.count .summary-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.summary-icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.summary-content{display:flex;flex-direction:column;gap:4px}.summary-label{color:#6b7280;font-size:13px}.summary-value{color:#1f2937;font-size:24px;font-weight:600}.invoices-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.invoices-section .section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.invoices-section .section-header h3{color:#1f2937;font-size:16px;font-weight:600;margin:0}.refresh-btn{align-items:center;background:none;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.refresh-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.refresh-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty-state,.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.loading-state .spinning{animation:spin 1s linear infinite;color:#3b82f6;margin-bottom:12px}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.error-message{align-items:center;background:#fef2f2;color:#b91c1c;display:flex;font-size:14px;gap:8px;padding:12px 20px}.invoices-list{display:flex;flex-direction:column;gap:16px;padding:16px}.invoice-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.invoice-card.cancelled{background:#f3f4f6;opacity:.6}.header-actions{align-items:center;display:flex;gap:12px}.expand-collapse-btns{align-items:center;display:flex;gap:4px}.text-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:12px;padding:4px 8px;transition:color .15s ease}.text-btn:hover:not(:disabled){color:#3b82f6}.text-btn:disabled{color:#d1d5db;cursor:default}.btn-divider{color:#d1d5db;font-size:12px}.invoice-header{align-items:center;display:flex;justify-content:space-between}.invoice-header.clickable{border-radius:10px 10px 0 0;cursor:pointer;margin:-16px -16px 0;padding:12px;transition:background-color .15s ease}.invoice-card.collapsed .invoice-header.clickable{border-radius:10px;margin-bottom:-16px}.invoice-header.clickable:hover{background:#00000008}.invoice-header-left{align-items:center;display:flex;gap:8px}.invoice-header-right{align-items:center;display:flex;gap:12px}.expand-icon{color:#9ca3af;flex-shrink:0}.invoice-date-preview{color:#9ca3af;font-size:12px}.invoice-balance-preview{color:#374151;font-size:14px;font-weight:600}.invoice-balance-preview.has-balance{color:#dc2626}.invoice-card.expanded .invoice-header{border-bottom:1px solid #e5e7eb;margin-bottom:12px;padding-bottom:12px}.invoice-number{color:#1f2937;font-family:monospace;font-size:14px;font-weight:600}.invoice-status{align-items:center;border-radius:12px;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px}.invoice-dates{display:flex;gap:24px;margin-bottom:12px}.date-item{display:flex;flex-direction:column;gap:2px}.date-label{color:#9ca3af;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.date-value{color:#374151;font-size:13px}.invoice-items{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:12px;padding:8px 12px}.line-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;font-size:13px;gap:12px;padding:6px 0}.line-item:last-child{border-bottom:none}.item-code{color:#3b82f6;font-family:monospace;font-weight:500;min-width:60px}.item-tooth{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;font-weight:500;padding:2px 6px}.item-desc{color:#6b7280;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-amount{align-items:center;color:#374151;display:flex;font-weight:500;gap:4px}.more-items{color:#9ca3af;font-size:12px;font-style:italic;padding:6px 0}.invoice-totals{border-top:1px solid #e5e7eb;padding-top:12px}.total-row{color:#6b7280;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.total-row.payment span:last-child{color:#059669}.total-row.balance{border-top:1px dashed #e5e7eb;color:#1f2937;font-weight:600;margin-top:4px;padding-top:8px}.total-row.balance .has-balance{color:#dc2626}@media (max-width:640px){.billing-summary{grid-template-columns:1fr}.summary-card{padding:16px}.summary-value{font-size:20px}.invoice-dates{flex-direction:column;gap:8px}}
/*# sourceMappingURL=main.9f3d9d5c.css.map*/