:root{--bg:#0f1117;--bg-card:#1a1d27;--bg-input:#252832;--bg-hover:#2a2d3a;--border:#2e3140;--text:#e1e3ea;--text-muted:#8b8fa3;--accent:#5b8def;--accent-hover:#4a7de0;--danger:#e05555;--danger-hover:#c94444;--success:#4caf7c;--warning:#e0a855;--radius:6px;--font:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.layout{height:100vh;display:flex}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;width:200px;padding:1rem 0;display:flex}.sidebar h1{border-bottom:1px solid var(--border);margin-bottom:.5rem;padding:0 1rem 1rem;font-size:1.1rem}.sidebar nav{flex-direction:column;gap:2px;padding:0 .5rem;display:flex}.sidebar nav button{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:none;padding:.5rem .75rem;font-size:.875rem;transition:all .15s}.sidebar nav button:hover{background:var(--bg-hover);color:var(--text)}.sidebar nav button.active{background:var(--accent);color:#fff}.sidebar .status{border-top:1px solid var(--border);color:var(--text-muted);margin-top:auto;padding:.75rem 1rem;font-size:.75rem}.sidebar .status .dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.sidebar .status .dot.ok{background:var(--success)}.sidebar .status .dot.error{background:var(--danger)}.content{flex:1;padding:1.5rem 2rem;overflow-y:auto}.content h2{margin-bottom:1rem;font-size:1.25rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.card-header h3{font-size:.95rem;font-weight:600}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.badge.ollama{color:#7cc47c;background:#2d4a2d}.badge.gemini{color:#7cafc4;background:#2d3a4a}.badge.openai{color:#c4b87c;background:#3a3a2d}.badge.anthropic{color:#c47c7c;background:#3a2d2d}.badge.custom{color:#9c9cc4;background:#2d2d3a}.card-meta{color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem}.card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;transition:all .15s;display:inline-flex}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:4px 8px;font-size:.75rem}.form-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-group label{color:var(--text-muted);font-size:.75rem;font-weight:500}input,select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.85rem;font-family:var(--font);outline:none;padding:6px 10px;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent)}input[type=checkbox]{width:auto;accent-color:var(--accent)}.msg{border-radius:var(--radius);margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem}.msg.success{color:var(--success);background:#1a2e1a;border:1px solid #2d4a2d}.msg.error{color:var(--danger);background:#2e1a1a;border:1px solid #4a2d2d}.msg.info{color:var(--accent);background:#1a1a2e;border:1px solid #2d2d4a}.key-status{align-items:center;gap:.5rem;font-size:.8rem;display:flex}.key-status .indicator{border-radius:50%;width:8px;height:8px}.key-status .indicator.set{background:var(--success)}.key-status .indicator.unset{background:var(--text-muted)}.model-list{flex-wrap:wrap;gap:4px;margin-top:.5rem;display:flex}.model-tag{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:2px 8px;font-size:.7rem}.add-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.add-form h3{margin-bottom:.75rem;font-size:.9rem}.add-form .form-grid{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:.5rem;display:grid}.loading{color:var(--text-muted);text-align:center;padding:2rem}
