.chat-container{display:flex;flex-direction:column;height:100%}.chat-description{font-size:.9rem;color:#6b7280;padding:4px 8px;background-color:#f3f4f6;border-radius:8px;align-self:flex-start;margin:0 0 16px}.chat-window{flex-grow:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1rem;min-height:400px}.message-wrapper{display:flex;align-items:flex-start;gap:12px;max-width:80%}.message-wrapper.user{align-self:flex-end;flex-direction:row-reverse}.message-wrapper.assistant{align-self:flex-start}.avatar{width:32px;height:32px;border-radius:50%;background-color:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.message-content{padding:12px 16px;border-radius:12px;position:relative;line-height:1.5}.message-content p{margin:0;white-space:pre-wrap}.user .message-content{background-color:#eff6ff;color:#1e40af;border-top-right-radius:4px}.assistant .message-content{background-color:#fff;color:#1f2937;border:1px solid #e5e7eb;border-top-left-radius:4px}.copy-btn{position:absolute;bottom:8px;opacity:0;border:none;background:transparent;cursor:pointer;transition:opacity .2s;font-size:1.1rem}.user .copy-btn{left:-40px}.assistant .copy-btn{right:-40px}.message-wrapper:hover .copy-btn{opacity:1}.chat-input-section{padding:16px;border-top:1px solid #e5e7eb}.input-wrapper{display:flex;align-items:flex-end;gap:8px}.input-wrapper textarea{flex-grow:1;padding:14px 18px;border-radius:12px;border:1px solid #d1d5db;font-size:1rem;box-sizing:border-box;resize:none;overflow-y:hidden;min-height:52px;max-height:200px;line-height:1.5;font-family:inherit}.send-btn{padding:14px 24px;border:none;border-radius:12px;background-color:#3b82f6;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.send-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:16px}.example-queries{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.example-queries span{font-size:.8rem;font-weight:500;color:#6b7280;white-space:nowrap}.example-queries button{padding:6px 12px;border:1px solid #d1d5db;background-color:#fff;border-radius:20px;font-size:.8rem;cursor:pointer;white-space:nowrap}.new-chat-btn{padding:8px 16px;border:1px solid #d1d5db;background-color:#f9fafb;border-radius:8px;font-weight:600;cursor:pointer;white-space:nowrap}.drop-zone{display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px dashed #d1d5db;border-radius:12px;padding:48px;text-align:center;color:#6b7280;cursor:pointer;transition:background-color .2s,border-color .2s}.drop-zone:hover,.drop-zone.dragging{background-color:#f3f4f6;border-color:#3b82f6}.drop-zone h2{margin:16px 0 8px;font-size:1.25rem;color:#111827}.drop-zone p{margin:0}.upload-icon{font-size:3rem;color:#9ca3af}.upload-link{font-weight:600;color:#3b82f6}.qa-container{display:grid;grid-template-columns:300px 1fr;gap:24px;height:100%}.file-info-panel{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.file-info-panel h4{margin:0;font-size:1.1rem}.file-card{padding:12px;background-color:#fff;border-radius:8px;border:1px solid #e5e7eb}.file-name{font-weight:600;word-break:break-all}.file-size{font-size:.8rem;color:#6b7280}.status-message{font-size:.9rem;margin:0;padding:10px;background-color:#eff6ff;border-radius:8px}.reset-btn{padding:10px;border-radius:8px;border:1px solid #d1d5db;background-color:#fff;cursor:pointer;margin-top:auto}.doc-chat-panel{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.doc-chat-panel h4{margin:0;padding:16px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.doc-chat-window{flex-grow:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.chat-placeholder{margin:auto;color:#9ca3af}.doc-message{max-width:85%;display:flex}.doc-message.user{align-self:flex-end}.doc-message.assistant{align-self:flex-start}.doc-message-content{padding:12px 16px;border-radius:12px;line-height:1.5}.doc-message.user .doc-message-content{background-color:#eff6ff;color:#1e40af}.doc-message.assistant .doc-message-content{background-color:#f3f4f6;color:#1f2937}.sources{margin-top:12px;padding-top:8px;border-top:1px solid #d1d5db;font-size:.8rem}.sources ul{margin:4px 0 0;padding-left:16px;display:flex;gap:8px}.sources li{list-style-type:disc}.doc-chat-input{display:flex;gap:8px;padding:16px;border-top:1px solid #e5e7eb}.doc-chat-input input{flex-grow:1}.doc-chat-input button{padding:10px 20px;border-radius:8px;border:none;background-color:#3b82f6;color:#fff;cursor:pointer}.doc-chat-input button:disabled{background-color:#9ca3af}.units-container{padding:16px}.units-container h3{margin-top:0;margin-bottom:24px;font-size:1.5rem}.table-wrapper{overflow-x:auto}.units-container table{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid #e5e7eb}.units-container th,.units-container td{border:1px solid #e5e7eb;padding:12px 16px;text-align:left;vertical-align:middle}.units-container thead th{background-color:#f9fafb;font-weight:600}.units-container tbody .category{background-color:#f3f4f6;font-weight:600;text-align:center}.units-container tbody tr:hover{background-color:#f9fafb}body{margin:0;font-family:Inter,Pretendard,-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;background-color:#f9fafb;color:#374151;line-height:1.6}.app-container{max-width:1024px;margin:0 auto;padding:0 24px}.app-header{text-align:center;padding:48px 0}.app-header h1{font-size:2rem;font-weight:800;color:#111827;margin:0}.app-header p{font-size:1rem;color:#6b7280;margin-top:8px}.app-nav{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;margin-bottom:24px;flex-wrap:wrap}.app-nav button{padding:12px 16px;font-size:.9rem;font-weight:600;border:none;background-color:transparent;cursor:pointer;color:#6b7280;border-bottom:2px solid transparent;transition:all .2s ease-out}.app-nav button:hover{color:#3b82f6}.app-nav button.active{color:#3b82f6;border-bottom-color:#3b82f6}.main-content{padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:60vh}.panel{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:12px;flex-wrap:wrap}input[type=text],input[type=number],select{width:100%;box-sizing:border-box;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:.9rem}textarea{width:100%;box-sizing:border-box;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.9rem;margin:12px 0 0}button{padding:10px 14px;border-radius:8px;border:1px solid #d1d5db;background-color:#fff;color:#374151;cursor:pointer;font-weight:600}button.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.card{padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;display:flex;flex-direction:column}.card h3{margin:0 0 16px;font-size:1.1rem;border-bottom:1px solid #e5e7eb;padding-bottom:12px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left}th{background:#f3f4f6;font-weight:600}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.small{color:#4b5563;font-size:.85rem}
