:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f5f7fb;color:#101828;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sidebar{background:#0e1117;color:#f8fafc;display:flex;flex-direction:column;padding:2rem 1.5rem;gap:2rem}.sidebar__title{font-size:1.5rem;font-weight:700}.sidebar__nav{display:flex;flex-direction:column;gap:.75rem}.nav-button{background:#1f2933;color:inherit;border:none;border-radius:.75rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;text-align:left;cursor:pointer;transition:background .2s ease,transform .2s ease}.nav-button:hover{background:#27313c;transform:translateY(-1px)}.nav-button--active{background:#2d81c4;box-shadow:0 8px 20px #2d81c459}.sidebar__status{border-radius:.75rem;padding:1rem;font-size:.95rem;line-height:1.45}.sidebar__status--loading{background:#94a3b833;color:#e2e8f0}.sidebar__status--success{background:#16a34a40;color:#bbf7d0}.sidebar__status--partial{background:#d9770640;color:#fcd34d}.sidebar__status--error{background:#dc262633;color:#fecaca}.sidebar__footer{margin-top:auto;font-size:.85rem;line-height:1.6;color:#cbd5f5}.sidebar__footer span{opacity:.7}.main{padding:2.5rem 3rem}.panel{display:flex;flex-direction:column;gap:1.5rem;max-width:960px}.panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.panel__subtitle{color:#475467;margin-top:.25rem}.developer-toggle{display:flex;align-items:center;gap:.5rem;background:#e0f2fe;color:#0c4a6e;border-radius:9999px;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.card{background:#fff;border-radius:1rem;box-shadow:0 20px 40px #0f172a14;padding:1.75rem;display:flex;flex-direction:column;gap:1rem}.prompt-card{gap:1.25rem}.prompt-field{display:flex;flex-direction:column;gap:.75rem}.prompt-input{position:relative}.prompt-input__textarea{width:100%;border:1px solid black;border-radius:1rem;padding:1rem 3.5rem 1rem 1rem;font-size:1rem;font-family:inherit;line-height:1.5;min-height:150px;resize:vertical;background:#fff;color:#000;transition:border-color .2s ease,box-shadow .2s ease}.prompt-input__textarea:focus{outline:none;border-color:#2d81c4;box-shadow:0 0 0 4px #2d81c433}.prompt-input__button{position:absolute;right:.75rem;bottom:.75rem;width:44px;height:44px;border-radius:9999px;border:none;background:linear-gradient(135deg,#2d81c4,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 25px #2563eb40;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.prompt-input__button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 15px 30px #2563eb4d}.prompt-input__button:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.prompt-input__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:prompt-spinner .8s linear infinite}@keyframes prompt-spinner{to{transform:rotate(360deg)}}.prompt-hint{color:#667085;font-size:.85rem;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-grid--tight{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.metric-card{background:#f8fafc;border-radius:.75rem;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.4rem}.metric-card__label{font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.metric-card__value{font-size:1.05rem;font-weight:600;color:#0f172a;word-break:break-word}.field{display:flex;flex-direction:column;gap:.5rem}.field__label{font-weight:600;color:#344054}.field__input{border:1px solid #d0d5dd;border-radius:.75rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical;font-family:inherit}.field__input:focus{outline:none;border-color:#2d81c4;box-shadow:0 0 0 4px #2d81c433}.field__input--textarea{min-height:160px}.button-row{display:flex;justify-content:flex-start}.primary-btn{background:linear-gradient(135deg,#2d81c4,#1d4ed8);color:#fff;border:none;border-radius:9999px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 10px 25px #2563eb40;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 15px 30px #2563eb4d}.primary-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.alert{border-radius:.75rem;padding:.75rem 1rem;font-weight:600}.alert--error{background:#dc262626;color:#b91c1c}.alert--success{background:#22c55e26;color:#15803d}.summary{background:#f8fafc;border-radius:.75rem;padding:1rem;line-height:1.6;color:#1f2937;white-space:pre-wrap}.prompt-display{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.75rem;padding:1rem;line-height:1.6;color:#1e3a8a;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;font-size:.95rem;max-height:500px;overflow-y:auto}.prompt-display--system{background:#f0fdf4;border-color:#86efac;color:#166534}.info{background:#eff6ff;border-radius:.75rem;padding:.85rem 1rem;color:#1d4ed8;line-height:1.5}.info--tokens{background:#ecfdf3;color:#047857}.details{background:#f8fafc;border-radius:.75rem;padding:1rem 1.25rem}.details>summary{cursor:pointer;font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.details__pre{background:#0f172a;color:#e2e8f0;padding:1rem;border-radius:.75rem;overflow-x:auto;font-size:.85rem;max-height:280px}.subquestion-list{display:flex;flex-direction:column;gap:1rem}.subquestion{background:#eef2ff;border-radius:.75rem;border:1px solid rgba(79,70,229,.15)}.subquestion>summary{font-weight:600;font-size:1rem}.subquestion__title{flex:1}.subquestion__content{display:flex;flex-direction:column;gap:.75rem;overflow-x:hidden;word-wrap:break-word}.subquestion__excerpt{font-style:italic;color:#1f2937;margin:0}.nested-details{background:#ffffff8c;border:1px solid rgba(148,163,184,.25)}.priority{text-transform:uppercase;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:9999px;background:#3b82f61f;color:#1d4ed8}.priority--critical{background:#dc262626;color:#b91c1c}.priority--high{background:#d9770626;color:#b45309}.priority--medium{background:#3b82f61f;color:#1d4ed8}@media(max-width:1024px){.app{grid-template-columns:240px 1fr}}@media(max-width:768px){.app{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2;flex-direction:row;align-items:center;justify-content:space-between;padding:1.25rem;gap:1rem}.sidebar__nav{flex-direction:row}.sidebar__status,.sidebar__footer{display:none}.main{padding:1.5rem}.panel__header{flex-direction:column;align-items:flex-start}}.file-upload{max-width:900px;margin:0 auto}.file-upload__header{margin-bottom:2rem}.file-upload__header h2{color:#333;font-size:1.75rem;margin-bottom:.5rem}.file-upload__subtitle{color:#666;font-size:1rem;line-height:1.6}.file-upload__content{display:flex;flex-direction:column;gap:1.5rem}.file-upload__dropzone{border:2px dashed #cbd5e1;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff;position:relative}.file-upload__dropzone:hover{border-color:#667eea;background:#f8f9ff}.file-upload__dropzone--dragging{border-color:#667eea;background:#f0f4ff;transform:scale(1.02)}.file-upload__dropzone--has-file{border-color:#10b981;background:#f0fdf4}.file-upload__input{display:none}.file-upload__dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.file-upload__dropzone-icon{font-size:3rem;opacity:.6}.file-upload__dropzone-text{font-size:1.1rem;font-weight:500;color:#374151;margin:0}.file-upload__dropzone-hint{font-size:.9rem;color:#6b7280;margin:0}.file-upload__file-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:8px}.file-upload__file-icon{font-size:2.5rem}.file-upload__file-details{flex:1;text-align:left}.file-upload__file-name{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.file-upload__file-size{font-size:.9rem;color:#6b7280}.file-upload__actions{display:flex;gap:1rem;justify-content:center}.file-upload__button{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.file-upload__button--primary{background-color:#667eea;color:#fff}.file-upload__button--primary:hover:not(:disabled){background-color:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.file-upload__button--secondary{background-color:#e5e7eb;color:#374151}.file-upload__button--secondary:hover:not(:disabled){background-color:#d1d5db}.file-upload__button:disabled{opacity:.6;cursor:not-allowed}.file-upload__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.file-upload__error{padding:1rem;border-radius:8px;background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.file-upload__result{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000001a}.file-upload__result h3{color:#10b981;font-size:1.5rem;margin-bottom:1.5rem}.file-upload__result-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.file-upload__result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:6px}.file-upload__result-label{font-weight:600;color:#374151}.file-upload__result-value{color:#6b7280;font-family:Courier New,monospace}.file-upload__embeddings-details{margin-top:1.5rem;border-top:1px solid #e5e7eb;padding-top:1.5rem}.file-upload__embeddings-details summary{cursor:pointer;font-weight:600;color:#374151;margin-bottom:1rem;list-style:none}.file-upload__embeddings-details summary::-webkit-details-marker{display:none}.file-upload__embeddings-details summary:before{content:"▶";display:inline-block;margin-right:.5rem;transition:transform .2s ease}.file-upload__embeddings-details[open] summary:before{transform:rotate(90deg)}.file-upload__embeddings-details h4{color:#374151;margin-bottom:1rem}.file-upload__embeddings-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.file-upload__embedding-item{background:#f9fafb;border-radius:8px;padding:1rem;border:1px solid #e5e7eb}.file-upload__embedding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.file-upload__embedding-index{font-weight:600;color:#667eea}.file-upload__embedding-id{font-size:.85rem;color:#6b7280;font-family:Courier New,monospace}.file-upload__embedding-text{margin:0;padding:.75rem;background:#fff;border-radius:4px;font-size:.9rem;line-height:1.6;color:#374151;white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto}.card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000001a}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}.alert--error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert--success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}*{box-sizing:border-box;margin:0;padding:0}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;background-color:#f5f5f5}.App{min-height:100vh}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-container{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.auth-container h1{text-align:center;margin-bottom:2rem;color:#333}.auth-form h2{margin-bottom:1.5rem;color:#333}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.auth-form button{width:100%;padding:.75rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;margin-bottom:.5rem}.auth-form button:hover{background-color:#5a6fd8}.auth-form button:disabled{background-color:#ccc;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1rem}.link-btn{background:none;border:none;color:#667eea;text-decoration:underline;cursor:pointer;font-size:inherit}.error{color:#e74c3c;background-color:#fdf2f2;padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid #fecaca}.loading{text-align:center;padding:2rem}.dashboard{min-height:100vh;background-color:#f5f5f5}.dashboard-header{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{color:#333}.user-info{display:flex;align-items:center;gap:1rem}.sign-out-btn{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.sign-out-btn:hover{background-color:#c0392b}.dashboard-nav{background:#fff;padding:1rem 2rem;border-bottom:1px solid #e5e7eb;display:flex;gap:1rem}.nav-link{padding:.75rem 1.5rem;text-decoration:none;color:#374151;font-weight:500;border-radius:6px;transition:all .2s ease}.nav-link:hover{background-color:#f3f4f6;color:#667eea}.nav-link.active{background-color:#667eea;color:#fff}.dashboard-content{padding:2rem}.welcome-message{max-width:800px;margin:0 auto;text-align:center}.welcome-message h2{color:#333;font-size:2rem;margin-bottom:1rem}.welcome-message>p{color:#666;font-size:1.1rem;margin-bottom:3rem}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.dashboard-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-decoration:none;transition:all .3s ease;border:2px solid transparent}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #667eea4d;border-color:#667eea}.dashboard-card h3{color:#333;font-size:1.5rem;margin-bottom:.5rem}.dashboard-card p{color:#666;font-size:1rem}.users-grid h2{margin-bottom:1.5rem;color:#333}.grid-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee;color:#333}.users-table th{background-color:#f8f9fa;font-weight:600;color:#333}.users-table tr:hover{background-color:#f8f9fa}.refresh-btn{margin-top:1rem;padding:.75rem 1.5rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer}.refresh-btn:hover{background-color:#5a6fd8}
