:root{--bg:#f5f7fb;--card:#fff;--text:#18202f;--muted:#667085;--line:#d9e1ee;--accent:#1f6feb;--bad:#dc2626;--ok:#16a34a;--warn:#d97706}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text)}a{color:var(--accent);text-decoration:none}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:3}.brand{font-weight:800;font-size:20px}.topbar nav{display:flex;gap:18px}.container{max-width:1180px;margin:0 auto;padding:28px}.hero{background:linear-gradient(135deg,#fff,#eef5ff);border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:22px;box-shadow:0 12px 30px rgba(31,111,235,.06)}.compact-hero{display:flex;align-items:center;justify-content:space-between;gap:16px}.hero h1{margin:0 0 8px;font-size:34px}.hero p{margin:0;color:var(--muted)}.layout-pill{background:#eaf2ff;border:1px solid #c8dcff;color:#174ea6;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;white-space:nowrap}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.main-grid{align-items:start}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:22px;box-shadow:0 10px 25px rgba(15,23,42,.05)}.chat-card{min-height:380px}.card h2{margin:0 0 16px;font-size:22px}.card h3{margin:18px 0 10px;font-size:16px}form{display:grid;gap:12px}form.stacked{grid-template-columns:1fr}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{min-width:230px}label{font-weight:700;font-size:14px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;font:inherit}textarea{resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:var(--accent);color:#fff;padding:12px 16px;font-weight:800;cursor:pointer}.small{padding:8px 10px;font-size:13px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:13px;color:var(--muted)}small{color:var(--muted)}.muted{color:var(--muted)}.form-hint{font-size:13px;color:var(--muted);margin-top:-4px}.badge{display:inline-flex;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;background:#e5e7eb}.badge.indexed,.badge.completed{background:#dcfce7;color:#166534}.badge.error{background:#fee2e2;color:#991b1b}.badge.running,.badge.uploaded{background:#fef3c7;color:#92400e}.mini-list{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}.mini-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.answer-box{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.answer-text{white-space:pre-wrap;line-height:1.55;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#eaf2ff,#f7f8fb)}.login-card{width:min(420px,92vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 24px 60px rgba(15,23,42,.12)}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted);margin:0 0 20px}.alert{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:12px;margin-bottom:14px}@media(max-width:850px){.grid.two{grid-template-columns:1fr}.topbar{padding:0 16px}.container{padding:16px}.hero h1{font-size:26px}.compact-hero{align-items:flex-start;flex-direction:column}.inline-form{display:grid}.inline-form select{min-width:0}}
.login-link{margin-top:16px;text-align:center}.alert-card{border-color:#fecaca;background:#fffafa}.danger{background:#dc2626!important}.actions-cell{display:grid;gap:8px;min-width:260px}.user-edit-form{display:grid;gap:8px}.password-form{grid-template-columns:1fr auto}.password-form input{min-width:130px}.badge.error{background:#fee2e2;color:#991b1b}.badge.completed{background:#dcfce7;color:#166534}@media(max-width:1100px){table{font-size:13px}.actions-cell{min-width:200px}}
