*{margin:0;padding:0;box-sizing:border-box}body{font-family:sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;width:60%;margin-bottom:12px}.skeleton-line{height:12px;margin-bottom:6px}.app{max-width:900px;margin:0 auto;padding:20px;min-height:100vh}.header{text-align:center;color:#fff;margin-bottom:20px;position:relative}.header-lang-selector{position:absolute;top:0;right:0}.header-lang-selector select{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:6px 10px;font-size:.85rem;cursor:pointer}.header-lang-selector select option{color:#333;background:#fff}.header h1{font-size:2rem;margin-bottom:8px}.header p{opacity:.9;font-size:.95rem}.setup-form{background:#fff;border-radius:16px;padding:32px;box-shadow:0 10px 40px #0003}.setup-form h2{color:#333;margin-bottom:24px;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.btn{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.chat-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;height:calc(100vh - 140px);overflow:hidden}.chat-header{padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:center}.chat-header h2{font-size:1.1rem}.stage-badge{background:#fff3;padding:6px 12px;border-radius:20px;font-size:.8rem;text-transform:capitalize}.header-badges{display:flex;gap:8px;align-items:center}.confidence-badge{background:#28a745cc;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message{max-width:80%;padding:14px 18px;border-radius:16px;line-height:1.5}.message.assistant{background:#f0f2f5;color:#333;align-self:flex-start;border-bottom-left-radius:4px}.message.user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.message.typing{background:#f0f2f5;color:#666}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:8px;height:8px;background:#999;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.input-area{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;gap:12px}.input-area input{flex:1;padding:14px 18px;border:2px solid #e0e0e0;border-radius:24px;font-size:1rem;transition:border-color .2s}.input-area input:focus{outline:none;border-color:#667eea}.input-area button{padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:24px;font-weight:600;cursor:pointer;transition:transform .2s}.input-area button:hover:not(:disabled){transform:scale(1.05)}.input-area button:disabled{opacity:.6;cursor:not-allowed}.symptoms-panel{background:#fff8e6;border:1px solid #f0c36d;border-radius:8px;padding:12px 16px;margin:12px 0}.symptoms-panel h4{margin:0 0 8px;color:#b8860b;font-size:14px}.symptoms-panel ul{margin:0;padding-left:20px}.symptoms-panel li{font-size:13px;color:#666}.diagnosis-card{background:#f8f9ff;border:2px solid #667eea;border-radius:12px;padding:20px;margin-top:16px}.diagnosis-card h3{color:#667eea;margin-bottom:12px;display:flex;align-items:center;gap:8px}.diagnosis-card h3:before{content:"🏥"}.diagnosis-section{margin-bottom:16px}.diagnosis-section h4{color:#555;margin-bottom:8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.diagnosis-section p,.diagnosis-section ul{color:#333;line-height:1.6}.diagnosis-section ul{padding-left:20px}.disclaimer{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px;margin-top:16px;font-size:.85rem;color:#856404}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:12px;margin-top:16px;font-size:.9rem;color:#721c24;text-align:center}.new-consultation-btn{margin-top:16px;padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.new-consultation-btn:hover{background:#218838}.doctor-panel{max-width:900px;margin:0 auto;padding:20px}.doctor-name-input{margin-bottom:20px}.doctor-name-input input{margin-left:10px;padding:8px 12px;border:1px solid #ddd;border-radius:4px}.pending-list{background:#f5f5f5;border-radius:8px;padding:15px;margin-bottom:20px}.pending-item{background:#fff;padding:12px;margin:8px 0;border-radius:6px;cursor:pointer;border:2px solid transparent;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pending-item:hover{border-color:#2196f3}.pending-item.selected{border-color:#1976d2;background:#e3f2fd}.btn-terminate{margin-left:auto;background:#f44336;color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:12px;line-height:1}.btn-terminate:hover{background:#d32f2f}.no-pending{color:#666;font-style:italic}.doctor-review-area{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.conversation-history{max-height:200px;overflow-y:auto;margin-bottom:15px;padding:10px;background:#fafafa;border-radius:6px}.ai-response-edit textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-family:inherit;resize:vertical}.review-actions{margin-top:15px;display:flex;gap:10px}.btn.approve{background:#4caf50}.btn.approve:hover{background:#43a047}.btn.cancel{background:#9e9e9e}.btn.end-consultation{background:#ff9800}.btn.end-consultation:hover{background:#f57c00}.waiting-review{background:#fff3e0!important}.waiting-indicator{color:#e65100;font-style:italic}.doctor-name-input button{margin-left:10px}.doctor-status{margin-left:10px;color:#4caf50;font-weight:700}.register-hint{color:#f57c00;font-style:italic;margin-bottom:15px}.final-diagnosis-badge{background:#ff9800;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:10px}.waiting-badge{background:#9e9e9e;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:10px}.review-badge{background:#2196f3;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:10px}.final-diagnosis-alert{background:#fff3e0;border:1px solid #ff9800;color:#e65100;padding:10px;border-radius:6px;margin-bottom:15px;font-weight:700}.confidence-info{font-size:14px;font-weight:400;color:#666;margin-left:15px}.btn.ask-more{background:#2196f3}.btn.ask-more:hover{background:#1976d2}.diagnosis-form-toggle{margin:15px 0;padding:10px;background:#f0f7ff;border-radius:6px}.diagnosis-form-toggle label{cursor:pointer;font-weight:700}.diagnosis-form-toggle input{margin-right:8px}.diagnosis-form{background:#fafafa;border:1px solid #ddd;border-radius:8px;padding:15px;margin-bottom:15px}.diagnosis-form .form-field{margin-bottom:12px}.diagnosis-form .form-field:last-child{margin-bottom:0}.diagnosis-form label{display:block;font-weight:700;margin-bottom:5px;color:#333}.diagnosis-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-family:inherit;resize:vertical}.end-consultation-form{background:#fff3e0;border:1px solid #ffb74d;padding:15px;border-radius:6px;margin-bottom:15px}.end-consultation-form label{display:block;font-weight:700;margin-bottom:8px;color:#e65100}.end-consultation-form textarea{width:100%;padding:10px;border:1px solid #ffb74d;border-radius:4px;font-family:inherit;resize:vertical}.review-with-panel{display:flex;gap:20px}.review-with-panel .doctor-review-area,.review-with-panel .chat-container{flex:1;min-width:0}.patient-info-panel,.doctor-info-panel{background:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:20px;display:flex;gap:20px}.patient-info-panel .panel-section,.doctor-info-panel .panel-section{flex:1;margin-bottom:0}.side-panel{width:280px;flex-shrink:0;background:#f8f9fa;border-radius:8px;padding:15px;max-height:600px;overflow-y:auto}.patient-profile .profile-details{background:#fff;padding:10px;border-radius:4px;font-size:.85rem}.patient-profile .profile-details div{padding:3px 0}.panel-section{margin-bottom:20px}.panel-section:last-child{margin-bottom:0}.panel-section h4{font-size:.9rem;color:#333;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid #ddd}.panel-section .empty-state{color:#888;font-size:.85rem;font-style:italic}.symptom-list,.diagnosis-list,.records-list,.alerts-list{list-style:none;padding:0;margin:0}.symptom-list li{background:#fff;padding:8px 10px;margin-bottom:6px;border-radius:4px;font-size:.85rem;border-left:3px solid #667eea}.current-confidence{background:#e8f5e9;padding:8px 10px;border-radius:4px;font-size:.85rem;margin-bottom:10px}.diagnosis-item{background:#fff;padding:10px;margin-bottom:8px;border-radius:4px;border-left:3px solid #28a745}.diagnosis-confidence{font-weight:700;color:#28a745;font-size:.9rem}.diagnosis-text{font-size:.85rem;margin:5px 0;color:#333}.diagnosis-time{font-size:.75rem;color:#888}.records-list{list-style:none;padding:0;margin:0}.records-list .record-item{list-style:none}.record-type{display:inline-block;background:#667eea;color:#fff;padding:2px 6px;border-radius:3px;font-size:.7rem;margin-right:6px}.record-desc{display:block;margin-top:4px;color:#333}.record-date{display:block;font-size:.7rem;color:#888;margin-top:3px}.alerts-list li{background:#fff3cd;padding:8px 10px;margin-bottom:6px;border-radius:4px;font-size:.8rem;border-left:3px solid #ffc107}.alert-disease{font-weight:700;color:#856404}.alert-severity{display:inline-block;padding:2px 6px;border-radius:3px;font-size:.7rem;margin-left:6px}.alert-severity.high{background:#f8d7da;color:#721c24}.alert-severity.medium{background:#fff3cd;color:#856404}.alert-severity.low{background:#d4edda;color:#155724}.doctor-select-section{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.doctor-select{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doctor-select select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:.95rem;min-width:200px}.btn-small{padding:8px 14px!important;font-size:.85rem!important;width:auto!important}.doctor-register h4{margin:0 0 12px;color:#333}.register-fields{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.register-fields input{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:.95rem;flex:1;min-width:150px}.register-actions{display:flex;gap:10px}.register-actions .btn{width:auto;padding:8px 20px}.auth-tabs{display:flex;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.auth-tab{flex:1;padding:12px;background:none;border:none;font-size:1rem;font-weight:600;color:#888;cursor:pointer;transition:color .2s}.auth-tab.active{color:#667eea;border-bottom:2px solid #667eea;margin-bottom:-2px}.auth-error{color:#dc3545;margin-top:12px;font-size:.9rem}.checkbox-group{display:flex;flex-wrap:wrap;gap:12px}.checkbox-label{display:flex;align-items:center;gap:4px;font-size:.9rem}.logged-in-as{background:#e8f5e9;padding:12px 15px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;text-decoration:underline}.consultation-review-area{background:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:20px}.consultation-review-area h2{margin:0 0 16px;color:#333}.view-details-section{background:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:20px}.view-details-section h4{margin:0 0 12px;color:#333}.patient-select select{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px}.patient-records{margin-top:15px;background:#fff;border-radius:6px;padding:12px}.patient-records h5{margin:0 0 8px;font-size:.9rem;color:#555}.record-item{background:#fff;border-radius:6px;padding:12px;margin-bottom:10px;border-left:3px solid #667eea}.record-item:last-child{margin-bottom:0}.record-header{font-weight:600;color:#667eea;margin-bottom:8px}.record-field{font-size:.9rem;color:#555;margin-bottom:4px}.record-label{font-weight:500;color:#333}
