:root{--bg: #0e0f14;--bg-panel: #161822;--bg-panel-2: #1d2030;--border: #2a2e42;--text: #e7e8ef;--text-dim: #8b8fa8;--accent: #4de8c9;--accent-dim: #2d8f7d;--danger: #ef6461;--user-bubble: #23263a;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);background-image:radial-gradient(circle at 20% 0%,rgba(77,232,201,.06),transparent 40%),radial-gradient(circle at 80% 100%,rgba(93,79,232,.08),transparent 45%);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh;max-width:900px;margin:0 auto}.app-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.header-controls{display:flex;align-items:center;gap:10px}.docs-count{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);cursor:default}.upload-btn{background:var(--bg-panel);border:1px solid var(--accent-dim);color:var(--accent);border-radius:6px;padding:6px 10px;font-size:12px;font-family:var(--font-mono);cursor:pointer;white-space:nowrap}.upload-btn:hover{background:#4de8c91a}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.app-header h1{font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0;font-family:var(--font-mono)}.app-header select{background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-family:var(--font-mono);font-size:12px}.chat{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.msg{max-width:85%;display:flex;flex-direction:column;gap:8px}.msg-user{align-self:flex-end}.msg-assistant{align-self:flex-start}.msg-content{white-space:pre-wrap;line-height:1.55;padding:10px 14px;border-radius:10px;font-size:14.5px}.msg-user .msg-content{background:var(--user-bubble);border:1px solid var(--border)}.msg-assistant .msg-content{background:transparent;padding-left:2px}.ui-block{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;padding:14px 16px}.ui-block h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-family:var(--font-mono)}.ui-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:13px}.ui-table th,.ui-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border)}.ui-table th{color:var(--text-dim);font-weight:500}.ui-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ui-card{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;padding:12px}.ui-card-title{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.ui-card-value{font-family:var(--font-mono);font-size:20px;color:var(--accent);margin-top:4px}.ui-card-desc{font-size:12px;color:var(--text-dim);margin-top:4px}.ui-actions{display:flex;flex-wrap:wrap;gap:8px}.ui-form{display:flex;flex-direction:column;gap:10px}.ui-form-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.ui-form-field input{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-family:var(--font-mono)}.ui-btn{background:var(--bg-panel-2);border:1px solid var(--accent-dim);color:var(--accent);border-radius:6px;padding:8px 14px;font-size:13px;font-family:var(--font-mono);cursor:pointer;transition:background .15s ease}.ui-btn:hover{background:#4de8c91a}.ui-btn-danger{border-color:var(--danger);color:var(--danger)}.ui-btn-danger:hover{background:#ef64611a}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10}.confirm-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:20px;max-width:460px;width:90%}.confirm-box code{display:block;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;font-family:var(--font-mono);font-size:13px;margin:10px 0;word-break:break-all}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.composer{display:flex;gap:10px;padding:16px 20px 20px;border-top:1px solid var(--border)}.composer textarea{flex:1;resize:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-family:var(--font-ui);font-size:14px;min-height:44px;max-height:140px}.composer textarea:focus{outline:none;border-color:var(--accent-dim)}.composer button{background:var(--accent);color:#06110d;border:none;border-radius:8px;padding:0 20px;font-weight:600;font-size:13px;cursor:pointer}.composer button:disabled{opacity:.4;cursor:not-allowed}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-dim);font-family:var(--font-mono);font-size:13px}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh}.login-box{display:flex;flex-direction:column;gap:12px;width:300px;padding:28px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px}.login-box h1{font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0;font-family:var(--font-mono);text-align:center}.login-subtitle{margin:0 0 8px;text-align:center;color:var(--text-dim);font-size:12px}.login-box input{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text);font-size:14px}.login-box input:focus{outline:none;border-color:var(--accent-dim)}.login-box button{background:var(--accent);color:#06110d;border:none;border-radius:8px;padding:10px;font-weight:600;font-size:13px;cursor:pointer;margin-top:4px}.login-box button:disabled{opacity:.4;cursor:not-allowed}.login-error{color:var(--danger);font-size:12px;text-align:center}.admin-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:20px;max-width:420px;width:90%}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.admin-header h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-family:var(--font-mono)}.admin-users-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:200px;overflow-y:auto}.admin-user-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--bg-panel-2);border-radius:6px;font-size:13px}.admin-badge{font-size:10px;color:var(--accent);border:1px solid var(--accent-dim);border-radius:4px;padding:1px 5px;margin-left:6px}.admin-add-form{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:14px}.admin-add-form input[type=text],.admin-add-form input[type=password]{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-size:13px}.admin-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}
