@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Sora:wght@300;400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0}:root{--bg: #0a0f1a;--bg-alt: #0f1524;--card: rgba(20, 26, 40, .72);--card-strong: rgba(24, 32, 52, .9);--border: rgba(255, 255, 255, .08);--text: #e8efff;--muted: rgba(232, 239, 255, .6);--accent: #38d4ff;--accent-2: #f6a54c;--accent-3: #6effb8;--shadow: rgba(9, 14, 26, .6)}*{box-sizing:border-box}body{margin:0;font-family:Sora,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 20% 10%,rgba(56,212,255,.25),transparent 45%),radial-gradient(circle at 80% 0%,rgba(246,165,76,.18),transparent 40%),radial-gradient(circle at 20% 80%,rgba(110,255,184,.15),transparent 45%),var(--bg);min-height:100vh}.app{padding:28px clamp(16px,4vw,64px) 80px;max-width:1280px;margin:0 auto}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;padding:18px 22px;border-radius:18px;background:linear-gradient(120deg,#182034cc,#10162480);border:1px solid var(--border);box-shadow:0 18px 40px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}header h1{margin:0;font-size:clamp(26px,3.2vw,40px);letter-spacing:.02em}header span{display:block;color:var(--muted);font-size:12px;letter-spacing:.4em;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-bottom:26px}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 20px 50px var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;animation:floatIn .6s ease both}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(56,212,255,.08),transparent 50%);pointer-events:none}.card h2{margin-top:0;font-size:14px;text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stats div{background:#0a0e1899;border-radius:14px;padding:14px;border:1px solid var(--border);box-shadow:inset 0 0 0 1px #ffffff05}.stats strong{display:block;font-size:22px;font-family:JetBrains Mono,monospace}.stats span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.stack{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}input,button{font-family:inherit}.icon{display:inline-flex;align-items:center;justify-content:center;width:1em;margin-right:8px;opacity:.85}input{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0a0e18b3;color:var(--text);outline:none;transition:border .2s ease,box-shadow .2s ease}input:focus{border-color:#38d4ff99;box-shadow:0 0 0 3px #38d4ff26}button{padding:12px 16px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0b101c;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #38d4ff40}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.ghost{background:#0a0e1899;color:var(--text);border:1px solid var(--border)}button.ghost:hover{box-shadow:0 12px 28px #0e162866;filter:brightness(1.08)}button.ghost.danger{color:#000;border-color:#ff8b8b59}.project-list{display:grid;gap:12px}.project{border:1px solid var(--border);border-radius:16px;padding:14px;background:#0c101ab3;cursor:pointer;display:grid;gap:10px;transition:border .2s ease,box-shadow .2s ease,transform .2s ease}.project:hover{border-color:#38d4ff66;transform:translateY(-2px)}.project.active{border-color:#38d4ffcc;box-shadow:0 18px 40px #38d4ff26}.project span{font-size:12px;color:var(--muted)}.project-title{display:grid;gap:6px}.project-title strong,.project-title span{display:flex;align-items:center}.project-meta{display:flex;gap:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.project-meta span{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#0c101ab3}.actions{display:flex;flex-wrap:wrap;gap:10px}.knowledge-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.knowledge-title h2{margin-bottom:6px}.knowledge-meta span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#0c101ab3;font-size:12px;color:var(--muted)}.knowledge-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:14px}.knowledge-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.file-input.compact span{max-width:360px}.doc-table{margin-top:16px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#0a0e18b3;max-height:min(520px,65vh);overflow-y:auto;scrollbar-color:#1f2a3f rgba(10,14,24,.9);scrollbar-width:thin;-webkit-overflow-scrolling:touch}.doc-table::-webkit-scrollbar{width:10px}.doc-table::-webkit-scrollbar-track{background:#0a0e18e6}.doc-table::-webkit-scrollbar-thumb{background:#1f2a3f;border-radius:999px;border:2px solid rgba(10,14,24,.9)}.doc-table::-webkit-scrollbar-thumb:hover{background:#2c3a55}.doc-row{display:grid;grid-template-columns:minmax(240px,1.6fr) 120px 120px minmax(180px,1fr);gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.doc-row:last-child{border-bottom:none}.doc-head{position:sticky;top:0;z-index:1;background:#0e1420e6;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.doc-name{display:flex;align-items:center;min-width:0;font-weight:600}.doc-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.doc-status{display:inline-flex;align-items:center;justify-self:start;padding:4px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(255,255,255,.12);color:var(--muted)}.doc-status[data-status=indexed]{color:#93f2ff;border-color:#78eaff4d}.doc-status[data-status=uploaded]{color:#ffd49b;border-color:#ffd49b4d}.doc-status[data-status=failed]{color:#ff9ca8;border-color:#ff9ca84d}.status-line{display:inline-flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);--status-color: rgba(255, 255, 255, .4)}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--status-color);box-shadow:0 0 #0006;animation:statusPulse 1.6s ease-in-out infinite}.status-line[data-status=green],.status-line[data-status=ready],.status-line[data-status=ok]{color:#9cffc3;--status-color: #9cffc3}.status-line[data-status=yellow],.status-line[data-status=warning]{color:#ffd49b;--status-color: #ffd49b}.status-line[data-status=red],.status-line[data-status=error]{color:#ff9ca8;--status-color: #ff9ca8}.doc-date{font-size:12px;color:var(--muted)}.doc-actions{display:flex;gap:8px;flex-wrap:wrap}button.sm{padding:8px 10px;border-radius:10px;font-size:12px;box-shadow:none}.doc-empty{padding:18px 14px;font-size:13px;color:var(--muted)}.infra-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.infra-collections{margin-top:16px}.infra-card{border:1px solid var(--border);border-radius:14px;padding:12px;background:#0a0e18b3}.infra-meta{display:grid;gap:6px}.infra-title{display:block;font-weight:600;overflow-wrap:anywhere;word-break:break-word}.infra-meta>span:not(.status-line){font-size:12px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#070b14bf;display:grid;place-items:center;padding:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50}.modal{background:var(--card-strong);border:1px solid var(--border);border-radius:22px;padding:26px;width:min(460px,100%);box-shadow:0 30px 60px var(--shadow)}.modal h3{margin-top:0;margin-bottom:10px}.modal p{color:var(--muted);margin:0 0 18px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}button.danger{background:linear-gradient(135deg,#ff6c6cf2,#ffa868f2);color:#1b0f12;border:1px solid rgba(255,168,104,.55);box-shadow:0 16px 32px #ff786240}button.danger:hover{filter:brightness(1.05)}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{background:var(--card-strong);border:1px solid var(--border);border-radius:24px;padding:36px;width:min(420px,100%);box-shadow:0 30px 60px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card h1{margin-top:0}.login-card p{color:var(--muted)}.muted{color:var(--muted);font-size:13px}.onboarding-code{display:grid;gap:6px;margin-bottom:14px}.onboarding-code strong{font-size:26px;letter-spacing:.3em;font-family:JetBrains Mono,monospace}.onboarding-code span{font-size:12px;color:var(--muted)}.onboarding-status{display:grid;gap:10px;margin-bottom:12px}.onboarding-status div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#0a0e18b3}.onboarding-status span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.file-input{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid rgba(56,212,255,.45);background:linear-gradient(120deg,#38d4ff26,#0c101acc);color:var(--text);cursor:pointer;font-weight:600;transition:border .2s ease,box-shadow .2s ease;overflow:hidden}.file-input input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-input span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.file-input:hover{box-shadow:0 14px 30px #38d4ff33}.footer{margin-top:24px;text-align:center;font-size:12px;color:var(--muted);letter-spacing:.18em;text-transform:uppercase}@keyframes floatIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes statusPulse{0%{box-shadow:0 0 #7f90af73;opacity:.8}70%{box-shadow:0 0 0 8px #7f90af00;opacity:1}to{box-shadow:0 0 #7f90af00;opacity:.8}}@media(max-width:720px){header{flex-direction:column;align-items:flex-start}.app{padding:20px 14px 64px}.grid{grid-template-columns:1fr;gap:16px;margin-bottom:18px}.card{padding:18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats div{padding:10px}.project-meta{flex-wrap:wrap}.actions{flex-direction:column;align-items:stretch}.file-input span{max-width:200px}.knowledge-header{flex-direction:column;align-items:flex-start}.knowledge-toolbar{grid-template-columns:1fr}.knowledge-actions{justify-content:flex-start}.doc-table{max-height:min(420px,60vh)}.doc-head{display:none}.doc-row{grid-template-columns:1fr;align-items:flex-start}.doc-actions{width:100%;justify-content:flex-start}}@media(max-width:1100px){.infra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.infra-grid{grid-template-columns:1fr}}
