Self-hosted, Docker-based agentic troubleshooting platform: FastAPI backend + LangGraph agent, Next.js UI, tiered LLM routing (local Ollama -> Gemini -> DeepSeek -> OpenRouter), MCP server manager, encrypted device credentials, RBAC, audit log, project-memory + Obsidian integrations, and editable troubleshooting decision rules tuned for the GeneseasX vessel stack. Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
1.7 KiB
CSS
54 lines
1.7 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
:root {
|
|
color-scheme: dark;
|
|
}
|
|
|
|
body {
|
|
@apply bg-ink text-slate-100;
|
|
background-image: radial-gradient(1200px 600px at 80% -10%, rgba(91, 140, 255, 0.12), transparent),
|
|
radial-gradient(900px 500px at -10% 10%, rgba(34, 211, 238, 0.08), transparent);
|
|
min-height: 100vh;
|
|
}
|
|
|
|
@layer components {
|
|
.card {
|
|
@apply rounded-2xl border border-edge bg-panel/80 backdrop-blur p-5 shadow-lg shadow-black/20;
|
|
}
|
|
.btn {
|
|
@apply inline-flex items-center justify-center gap-2 rounded-xl px-4 py-2 text-sm font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-ink disabled:cursor-not-allowed disabled:opacity-50;
|
|
}
|
|
.btn-primary {
|
|
@apply btn bg-accent text-white hover:bg-accent/90;
|
|
}
|
|
.btn-ghost {
|
|
@apply btn border border-edge bg-panel2 text-slate-200 hover:border-accent/60;
|
|
}
|
|
.btn-secondary {
|
|
@apply btn border border-accent/40 bg-accent/10 text-accent hover:bg-accent/20;
|
|
}
|
|
.btn-danger {
|
|
@apply btn bg-bad/90 text-white hover:bg-bad;
|
|
}
|
|
.btn-sm {
|
|
@apply px-2.5 py-1 text-xs;
|
|
}
|
|
.input {
|
|
@apply w-full rounded-xl border border-edge bg-ink/60 px-3 py-2 text-sm outline-none focus:border-accent focus-visible:ring-2 focus-visible:ring-accent/40;
|
|
}
|
|
.label {
|
|
@apply mb-1 block text-xs font-medium uppercase tracking-wide text-muted;
|
|
}
|
|
.badge {
|
|
@apply inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium;
|
|
}
|
|
.th {
|
|
@apply px-3 py-2 text-left text-xs font-semibold uppercase tracking-wide text-muted;
|
|
}
|
|
.td {
|
|
@apply px-3 py-2 text-sm border-t border-edge/60;
|
|
}
|
|
}
|