code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.form-input{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.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 label{font-size:14px}.form-group input,.form-group select,.form-group textarea{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 input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.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;resize:vertical;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;font-size:14px;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;font-weight:500}.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}.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;cursor:pointer;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;display:flex;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;display:flex;flex-wrap:wrap;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{align-items:center;border:1px solid;border-radius:16px;display:inline-flex;gap:4px;letter-spacing:.5px;padding:4px 10px;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;padding:16px 20px;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{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:all .15s ease;width:100%}.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 .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;position:relative}.search-icon{color:#6c757d;font-size:16px;left:12px;position:absolute;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{align-items:center;display:flex;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;border-radius:8px;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;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .3s ease}.tab-button:hover{background:#e9ecef;transform:translateY(-2px)}.tab-button.active{background:#fff;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;width:100%}.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;background:#00000080}@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{margin-bottom:20px}.form-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:6px}.form-group input,.form-group select{border:2px solid #ddd;border-radius:6px;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;outline:none}.form-row{grid-gap:16px;display:grid;gap:16px;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;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.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%}}.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}.form-actions{display:flex;gap:12px;margin-top:16px}.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;cursor:not-allowed}.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{display:flex;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{align-items:center;color:#6c757d;display:flex;font-size:16px;justify-content:center;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{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0003;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.modal-header h3{color:#2c3e50;font-size:20px;font-weight:600;margin:0}.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;display:flex;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;font-size:12px;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-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-3x3{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}}.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}.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;font-weight:600}.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-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 #ddd;border-radius:50%;color:#333;cursor:pointer;flex-shrink:1;font-size:.75rem;font-weight:600;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;color:#fff}.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;border-radius:6px;color:#06c;flex:1 1;font-size:.85rem;font-weight:500;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-gap:1rem;gap:1rem;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-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;border-radius:6px;font-size:.9rem;padding:.5rem}.custom-label-input:focus{border-color:#06c;outline:none}.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-3x3,.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;border-radius:8px;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;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.letter-header,.practice-info{align-items:flex-start;display:flex}.practice-info{flex-direction:column;text-align:left}.practice-logo{align-self:flex-start;margin-bottom:.5rem;max-height:60px;max-width:200px;object-fit:contain}.practice-info h1{color:#1b4332;font-size:14pt;font-weight:700;margin:0 0 .25rem}.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}.soap-section{margin:1rem 0}.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;display:grid;gap:.5rem;margin-top:.5rem;page-break-inside:avoid}.preview-grid-1x2,.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;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0052a3;box-shadow:0 4px 8px #06c3;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;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: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-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-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00;font-size:.9rem;margin:1rem 0;padding:1rem}.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;border-radius:6px;flex:1 1;font-size:14px;padding:10px 16px}.search-input:focus{border-color:#007bff;outline:none}.status-filters{display:flex;gap:8px}.filter-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;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{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-badge.sent{background:#d4edda;color:#155724}.status-badge.draft{background:#fff3cd;color:#856404}.tooth-pill{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.btn-view,.tooth-pill{background:#007bff;color:#fff}.btn-view{border:none;border-radius:4px;cursor:pointer;font-size:13px;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;cursor:pointer;font-size:13px;font-weight:500;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;text-align:center}.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}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@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:none;border-radius:4px;color:#fff;cursor:pointer;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}
/*# sourceMappingURL=main.ea5a284a.css.map*/