*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#102a56;background:linear-gradient(135deg,#f4f7fb 0%,#eef4ff 100%);margin:0;font-family:Inter,Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:9px;padding:12px 18px;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 15px #2563eb33}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.55;cursor:not-allowed}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:#fff;border:1px solid #e1e8f5;border-radius:20px;width:430px;padding:42px;box-shadow:0 20px 60px #1e40af1a}.brand-mark{background:#eff6ff;border-radius:15px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:18px;font-size:27px;display:flex}.auth-card h1{letter-spacing:-1px;margin:0;font-size:40px}.auth-card h2{margin-top:30px;margin-bottom:18px}.subtitle{color:#7183a3;line-height:1.6}.auth-card input{background:#fff;border:1px solid #d5ddea;border-radius:9px;outline:none;width:100%;margin-bottom:14px;padding:14px 15px;transition:border-color .2s,box-shadow .2s}.auth-card input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.auth-card button{width:100%;margin-top:8px}.secondary{color:#102a56;background:#e8edf6}.secondary:hover:not(:disabled){background:#dfe7f3}.message{color:#1d4ed8;background:#eef5ff;border:1px solid #d5e5ff;border-radius:10px;margin:20px 0;padding:14px 18px;line-height:1.5}.header{z-index:20;background:#fff;border-bottom:1px solid #e1e7ef;justify-content:space-between;align-items:center;gap:20px;padding:20px 6%;display:flex;position:sticky;top:0;box-shadow:0 2px 15px #0f172a0a}.header-brand{align-items:center;gap:13px;display:flex}.brand-icon{background:#eff6ff;border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;font-size:25px;display:flex}.header h1{letter-spacing:-.5px;margin:0;font-size:30px}.header p{color:#7183a3;margin:4px 0 0;font-size:14px}.header-right{align-items:center;gap:15px;display:flex}.user-info{color:#7183a3;align-items:center;gap:8px;font-size:14px;display:flex}.online-dot{background:#22c55e;border-radius:50%;width:8px;height:8px}.header-button{width:auto}.container{max-width:1180px;margin:35px auto;padding:0 20px}.card{background:#fff;border:1px solid #e4eaf4;border-radius:18px;margin-bottom:25px;padding:30px;box-shadow:0 10px 35px #0f172a0d}.card h2{margin:0 0 7px;font-size:24px}.card p{line-height:1.6}.section-heading{align-items:flex-start;gap:15px;display:flex}.section-icon{background:#eff6ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:21px;display:flex}.section-heading p{color:#7183a3;margin:4px 0 0}.upload-card{justify-content:space-between;align-items:center;gap:25px;display:flex}.upload-button{color:#fff;cursor:pointer;background:#2563eb;border-radius:10px;justify-content:center;align-items:center;min-width:170px;padding:14px 22px;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}.upload-button:hover{transform:translateY(-1px);box-shadow:0 7px 20px #2563eb40}.card-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.card-header p{color:#7183a3;margin:0}.document-count{color:#2563eb;background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;min-width:40px;height:40px;font-weight:700;display:flex}.empty{text-align:center;color:#7183a3;border:1px dashed #d5ddea;border-radius:12px;padding:45px 20px}.empty-icon{margin-bottom:10px;font-size:40px}.empty h3{color:#102a56;margin:5px 0}.empty p{margin:5px 0}.documents{flex-direction:column;display:flex}.document{border-top:1px solid #e5e9f0;justify-content:space-between;align-items:center;gap:20px;padding:18px 5px;display:flex}.document-info{align-items:center;gap:14px;min-width:0;display:flex}.pdf-icon{background:#fff1f2;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:25px;display:flex}.document-text{min-width:0}.document strong{text-overflow:ellipsis;white-space:nowrap;max-width:500px;display:block;overflow:hidden}.document span{color:#7183a3;margin-top:5px;font-size:13px;display:block}.document-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.view-button{background:#0f766e}.view-button:hover:not(:disabled){box-shadow:0 5px 15px #0f766e33}.delete-button{background:#dc2626}.delete-button:hover:not(:disabled){background:#b91c1c}.processing{color:#2563eb;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.spinner{border:2px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.search-box{gap:12px;margin-top:22px;display:flex}.search-box input{color:#102a56;background:#fff;border:1px solid #d5ddea;border-radius:10px;outline:none;flex:1;min-width:0;padding:15px}.search-box input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.results{margin-top:30px}.results-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;display:flex}.results-header h3{margin:0}.results-header span{color:#7183a3;font-size:13px}.result{background:#f8faff;border-left:4px solid #2563eb;border-radius:11px;margin-top:12px;padding:18px}.result-top{justify-content:space-between;align-items:center;gap:15px;display:flex}.result-title{color:#2563eb;font-weight:700}.similarity{color:#2563eb;background:#eaf2ff;border-radius:20px;padding:4px 9px;font-size:12px;font-weight:700}.result small{color:#7183a3;margin-top:7px;display:block}.result p{white-space:pre-wrap;color:#334e75;margin:12px 0 0;line-height:1.7}.ai-card{background:linear-gradient(#fff 0%,#fbfdff 100%);border:2px solid #dbeafe}.ai-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ai-icon{background:#f3e8ff}.ai-badge{color:#2563eb;background:#eff6ff;border-radius:20px;padding:7px 12px;font-size:13px;font-weight:700}.ai-question{background:#fff;border:1px solid #cfdced;border-radius:14px;margin-top:25px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.ai-question:focus-within{border-color:#93b4f8;box-shadow:0 0 0 4px #2563eb12}.ai-question textarea{resize:vertical;color:#102a56;border:none;outline:none;width:100%;min-height:180px;padding:20px;font-size:16px;line-height:1.6;display:block}.ai-question textarea::placeholder{color:#94a3bf}.question-footer{background:#fbfcfe;border-top:1px solid #e5eaf2;justify-content:space-between;align-items:center;gap:15px;min-height:70px;padding:14px 16px;display:flex}.question-footer span{color:#7183a3;font-size:13px}.question-footer button{min-width:145px}.ai-answer{border-top:1px solid #e2e8f0;margin-top:28px;padding-top:25px}.ai-answer-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.ai-answer-header h3{margin:0}.copy-button{color:#102a56;background:#e8edf6;padding:9px 13px;font-size:13px}.copy-button:hover:not(:disabled){background:#dce5f1}.ai-markdown{color:#263f65;overflow-wrap:anywhere;font-size:16px;line-height:1.8}.ai-markdown p{margin:0 0 16px}.ai-markdown p:last-child{margin-bottom:0}.ai-markdown strong{color:#102a56;font-weight:700}.ai-markdown em{color:#526b8e}.ai-markdown ul,.ai-markdown ol{margin:12px 0 18px;padding-left:26px}.ai-markdown li{margin-bottom:8px;padding-left:3px}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3{color:#102a56;margin:22px 0 10px;line-height:1.3}.ai-markdown h1{font-size:26px}.ai-markdown h2{font-size:22px}.ai-markdown h3{font-size:19px}.ai-markdown blockquote{color:#526b8e;background:#f5f8ff;border-left:4px solid #2563eb;border-radius:0 8px 8px 0;margin:18px 0;padding:12px 18px}.ai-markdown code{color:#334155;background:#eef2f7;border-radius:5px;padding:3px 7px;font-family:Consolas,Courier New,monospace;font-size:.9em}.ai-markdown pre{color:#fff;background:#111827;border-radius:10px;margin:18px 0;padding:18px;overflow-x:auto}.ai-markdown pre code{color:inherit;background:0 0;padding:0;font-size:14px;line-height:1.6}.ai-markdown table{border-collapse:collapse;width:100%;margin:18px 0;display:block;overflow-x:auto}.ai-markdown th,.ai-markdown td{text-align:left;border:1px solid #dbe3ef;padding:10px 12px}.ai-markdown th{color:#102a56;background:#f4f7fb}.ai-sources{border-top:1px solid #e2e8f0;margin-top:30px;padding-top:22px}.sources-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sources-header h3{margin:0}.sources-header>span{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.source-item{background:#f8faff;border:1px solid #e4eaf4;border-radius:9px;justify-content:space-between;align-items:center;gap:15px;margin-top:8px;padding:13px 15px;display:flex}.source-item>div{min-width:0}.source-item strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.source-item span{color:#7183a3;margin-top:4px;font-size:12px;display:block}.source-relevance{flex-shrink:0;font-weight:700;color:#2563eb!important}.footer{color:#7183a3;justify-content:space-between;align-items:center;gap:15px;padding:10px 5px 30px;font-size:13px;display:flex}.footer span:first-child{color:#102a56;font-weight:700}@media (width<=700px){.header{flex-direction:column;align-items:flex-start;padding:18px 20px}.header-right{justify-content:space-between;width:100%}.user-info{text-overflow:ellipsis;white-space:nowrap;max-width:70%;overflow:hidden}.container{margin:20px auto;padding:0 14px}.card{border-radius:14px;padding:20px}.upload-card{flex-direction:column;align-items:flex-start}.upload-button{width:100%}.document{flex-direction:column;align-items:flex-start}.document-info{width:100%}.document-text{max-width:calc(100% - 65px)}.document strong{max-width:100%}.document-actions{width:100%}.document-actions button{flex:1}.search-box{flex-direction:column}.search-box button{width:100%}.result-top{flex-direction:column;align-items:flex-start;gap:8px}.ai-header{flex-direction:column}.ai-badge{align-self:flex-start}.question-footer{flex-direction:column;align-items:stretch}.question-footer button{width:100%}.ai-answer-header{flex-direction:column;align-items:flex-start}.copy-button{width:100%}.source-item{flex-direction:column;align-items:flex-start}.source-relevance{align-self:flex-end}.footer{flex-direction:column;align-items:flex-start}.auth-card{width:100%;padding:30px 22px}}
