*{margin:0;padding:0;box-sizing:border-box}html{width:100%;overflow-x:hidden!important;max-width:100vw;position:relative}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden;overflow-x:hidden!important;width:100%;max-width:100vw;position:relative}#root{width:100%;height:100vh;height:100dvh;overflow:hidden;position:fixed;inset:0}.patient-selection{min-height:100vh;background:linear-gradient(135deg,#ed6759,#1ea89c);padding:20px 20px 100px;display:flex;flex-direction:column;width:100vw;max-width:100vw;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch}.header{text-align:center;color:#fff;margin-bottom:30px;padding-top:20px;width:100%;max-width:100%;box-sizing:border-box}.header h1{font-size:28px;margin:0 0 10px;font-weight:600}.subtitle{font-size:16px;opacity:.9;margin:0}.patients-container{display:flex;flex-direction:column;gap:12px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.patient-card{background:#fff;border-radius:12px;padding:16px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a;width:100%;box-sizing:border-box}.patient-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.patient-card:active{transform:translateY(0)}.patient-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#ed6759,#1ea89c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;flex-shrink:0}.patient-info{flex:1;min-width:0}.patient-info h3{margin:0 0 5px;font-size:18px;color:#333;font-weight:600}.patient-age{margin:0;font-size:14px;color:#666}.arrow{font-size:24px;color:#999;flex-shrink:0}.history-button{background:#fff;color:#ed6759;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;margin-top:20px;max-width:600px;width:100%;margin-left:auto;margin-right:auto;transition:all .2s}.history-button:hover{background:#f8f8f8}@media(max-width:768px){.patient-selection{padding:16px 16px 120px;min-height:100vh;height:auto}.header{margin-bottom:20px;padding-top:10px}.header h1{font-size:24px}.subtitle{font-size:14px}.patient-card{padding:14px;width:100%;box-sizing:border-box}.patient-avatar{width:45px;height:45px;font-size:20px}.patient-info h3{font-size:16px}.patient-age{font-size:13px}.history-button{margin-bottom:20px}}.chat-interface{height:100vh;height:100dvh;display:flex;flex-direction:column;background:#e5ddd5;position:fixed;inset:0;width:100vw;max-width:100vw;overflow:hidden;overflow-x:hidden!important}.chat-interface.evaluating{background:linear-gradient(135deg,#ed6759,#1ea89c)}.chat-header{background:linear-gradient(135deg,#ed6759,#1ea89c);color:#fff;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a;position:relative;flex-shrink:0;width:100vw;max-width:100vw;box-sizing:border-box}.patient-header{display:flex;align-items:center;gap:12px}.patient-avatar-small{width:40px;height:40px;border-radius:50%;background:#ffffff4d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.patient-header-info h3{margin:0;font-size:16px;font-weight:600}.status{margin:0;font-size:12px;opacity:.9}.header-buttons{display:flex;align-items:center;gap:8px}.evaluate-button{background:#fff3;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:14px;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s}.evaluate-button:hover{background:#ffffff4d}.evaluate-button:active{transform:scale(.95)}.menu-button{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:5px 10px;line-height:1}.menu-dropdown{position:absolute;top:60px;right:16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:100;min-width:180px}.menu-dropdown button{display:block;width:100%;padding:12px 16px;background:#fff;border:none;text-align:left;cursor:pointer;font-size:14px;color:#333;transition:background .2s}.menu-dropdown button:hover{background:#f5f5f5}.menu-dropdown button:not(:last-child){border-bottom:1px solid #eee}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><rect fill="%23e5ddd5" width="100" height="100"/><circle fill="%23ddd" cx="50" cy="50" r="1" opacity="0.1"/></svg>');-webkit-overflow-scrolling:touch;min-height:0;width:100vw;max-width:100vw;box-sizing:border-box}.message{display:flex;margin-bottom:12px;width:100%;max-width:100%}.patient-message{justify-content:flex-start}.student-message{justify-content:flex-end}.message-bubble{max-width:75%;padding:8px 12px;border-radius:8px;position:relative;box-shadow:0 1px 2px #0000001a}.patient-message .message-bubble{background:#fff;border-radius:0 8px 8px}.student-message .message-bubble{background:#dcf8c6;border-radius:8px 0 8px 8px}.message-bubble p{margin:0;font-size:15px;line-height:1.4;color:#333;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%}.message-time{font-size:11px;color:#999;margin-left:8px;float:right;margin-top:4px}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#999;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.message-input-container{background:#f0f0f0;padding:8px;display:flex;gap:8px;border-top:1px solid #ddd;flex-shrink:0;width:100vw;max-width:100vw;box-sizing:border-box}.message-input{flex:1;padding:12px 16px;border:none;border-radius:24px;font-size:16px;background:#fff;outline:none;max-width:100%}.message-input:disabled{background:#f5f5f5;cursor:not-allowed}.send-button{width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#ed6759,#1ea89c);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-button:not(:disabled):hover{transform:scale(1.05)}.send-button:not(:disabled):active{transform:scale(.95)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{font-size:18px;margin:0}@media(max-width:768px){.message-bubble{max-width:85%}.messages-container{padding:10px}.chat-header{padding:8px 10px}.message-input-container{padding:6px}.message-input{font-size:16px;padding:10px 14px}.evaluate-button{font-size:13px;padding:5px 10px}.header-buttons{gap:6px}.chat-interface{position:fixed;width:100vw;height:100vh;height:100dvh}}.evaluation-results{min-height:100vh;height:100vh;background:linear-gradient(135deg,#ed6759,#1ea89c);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;width:100%;max-width:100vw;box-sizing:border-box}.results-header{background:#ffffff1a;padding:24px 20px;position:relative;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button-eval{position:absolute;left:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;line-height:1;z-index:10}.header-content{text-align:center;width:100%}.results-header h1{margin:0 0 12px;font-size:26px;font-weight:600}.patient-info-header{margin-top:8px}.patient-name{margin:0 0 4px;font-size:18px;font-weight:600;opacity:.95}.patient-diagnosis{margin:0;font-size:14px;opacity:.85;font-weight:400}.results-content{max-width:700px;margin:0 auto;padding:20px 20px 60px;width:100%;box-sizing:border-box}.overall-score{display:flex;justify-content:center;margin:30px 0}.score-circle{width:160px;height:160px;border-radius:50%;background:#fff;border:8px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 16px #0003}.score-number{font-size:48px;font-weight:700;color:#333;line-height:1}.score-label{font-size:12px;color:#666;margin-top:5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;text-align:center}.scores-breakdown{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 4px 12px #0000001a}.scores-breakdown h2{margin:0 0 20px;font-size:20px;color:#333}.score-items{display:flex;flex-direction:column;gap:16px}.score-item{display:flex;flex-direction:column;gap:8px}.score-item-header{display:flex;justify-content:space-between;align-items:center}.score-name{font-size:15px;font-weight:600;color:#333}.score-value{font-size:18px;font-weight:700;color:#333}.score-bar-container{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.score-bar{height:100%;border-radius:4px;transition:width .5s ease-out}.chart-container,.analysis-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 4px 12px #0000001a}.analysis-section h2{margin:0 0 16px;font-size:20px;color:#333}.analysis-text{color:#555;line-height:1.6;font-size:15px}.analysis-text p{margin:12px 0}.start-over-button{width:100%;background:#fff;color:#ed6759;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #0000001a}.start-over-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.start-over-button:active{transform:translateY(0)}@media(max-width:768px){.results-content{padding:16px 16px 60px}.results-header h1{font-size:22px}.score-circle{width:140px;height:140px}.score-number{font-size:42px}.scores-breakdown,.chart-container,.analysis-section{padding:16px}.scores-breakdown h2,.analysis-section h2{font-size:18px}}.conversation-history{min-height:100vh;height:100vh;background:linear-gradient(135deg,#ed6759,#1ea89c);display:flex;flex-direction:column;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden;overflow-y:hidden}.history-header{background:#ffffff1a;padding:16px;display:flex;align-items:center;gap:16px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button{background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;line-height:1}.header-info{flex:1}.header-info h2{margin:0;font-size:18px;font-weight:600}.header-info p{margin:4px 0 0;font-size:13px;opacity:.9}.history-header h2{margin:0;font-size:20px;font-weight:600}.conversations-list{flex:1;padding:20px 20px 100px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch;min-height:0}.conversation-item{background:#fff;border-radius:12px;padding:16px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a}.conversation-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.conversation-item:active{transform:translateY(0)}.conversation-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#ed6759,#1ea89c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;flex-shrink:0}.conversation-info{flex:1;min-width:0}.conversation-info h3{margin:0 0 4px;font-size:16px;color:#333;font-weight:600}.conversation-date{margin:0 0 4px;font-size:13px;color:#666}.conversation-stats{margin:0;font-size:12px;color:#999}.conversation-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.view-eval-button{background:#1ea89c1a;border:1px solid rgba(30,168,156,.3);border-radius:6px;color:#1ea89c;font-size:13px;font-weight:600;padding:6px 10px;cursor:pointer;transition:all .2s;white-space:nowrap}.view-eval-button:hover{background:#1ea89c33;border-color:#1ea89c;transform:translateY(-1px)}.view-eval-button:active{transform:translateY(0)}.delete-button{background:#f44336;border:none;border-radius:4px;color:#fff;font-size:24px;cursor:pointer;padding:2px 8px;opacity:0;transition:opacity .2s,transform .1s;line-height:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.conversation-item:hover .delete-button{opacity:1}.delete-button:hover{background:#d32f2f;transform:scale(1.05)}.delete-button:active{transform:scale(.95)}.empty-state{text-align:center;color:#fff;padding:40px 20px}.empty-state p{font-size:16px;margin:0;opacity:.9}.conversation-messages{flex:1;overflow-y:auto;padding:20px;background:#e5ddd5}.history-message{display:flex;margin-bottom:12px}.patient-msg{justify-content:flex-start}.student-msg{justify-content:flex-end}.history-message-bubble{max-width:75%;padding:8px 12px;border-radius:8px;position:relative;box-shadow:0 1px 2px #0000001a}.patient-msg .history-message-bubble{background:#fff;border-radius:0 8px 8px}.student-msg .history-message-bubble{background:#dcf8c6;border-radius:8px 0 8px 8px}.history-message-bubble p{margin:0;font-size:15px;line-height:1.4;color:#333;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%}.history-message-time{font-size:11px;color:#999;margin-left:8px;float:right;margin-top:4px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#fff;font-size:18px}@media(max-width:768px){.conversations-list,.conversation-messages{padding:16px}.history-message-bubble{max-width:85%}.conversation-item{padding:14px}.conversation-avatar{width:45px;height:45px;font-size:20px}.conversation-info h3{font-size:15px}}.app{width:100%;height:100vh;overflow:hidden}
