Netra / frontend /src /index.css
chikentikka's picture
Add violation rules, NETRA UI overhaul, MongoDB challan store, and model weights
f184c04
Raw
History Blame Contribute Delete
4.54 kB
:root {
/* NETRA command-center palette — deep navy canvas, cyan/blue accents */
--bg: #070d18;
--surface: #0e1a2d;
--surface-2: #0a1626;
--panel-grad: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 38%);
--border: rgba(132, 168, 222, 0.13);
--border-strong: rgba(132, 168, 222, 0.26);
--text: #eaf1fb;
--muted: #9fb4d2;
--faint: #647a9c;
/* Accent + status hues */
--accent: #3b9eff;
--accent-deep: #2b7fe0;
--accent-soft: rgba(59, 158, 255, 0.13);
--cyan: #2dd4e8;
--violet: #a78bfa;
--danger: #fb5e73;
--danger-soft: rgba(251, 94, 115, 0.14);
--warning: #fbb540;
--warning-soft: rgba(251, 181, 64, 0.13);
--success: #36d39a;
--success-soft: rgba(54, 211, 154, 0.12);
/* Blueprint grid line */
--grid: rgba(255, 255, 255, 0.022);
/* Radii */
--r-sm: 9px;
--r: 14px;
--r-lg: 18px;
/* Deep control-room shadows */
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
--shadow: 0 18px 40px -28px rgba(0, 0, 0, 0.85);
--shadow-lg: 0 40px 120px -40px rgba(0, 0, 0, 0.85);
--ring: 0 0 0 3px rgba(59, 158, 255, 0.22);
--ease: cubic-bezier(0.22, 1, 0.36, 1);
--serif: "Inter", system-ui, -apple-system, sans-serif;
--sans: "Inter", system-ui, -apple-system, sans-serif;
--mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;
}
/* Toggle "dark" = an even deeper NETRA night; both stay command-center. */
[data-theme="dark"] {
--bg: #05080f;
--surface: #0c1626;
--surface-2: #081120;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
background-color: var(--bg);
/* Navy glows + faint blueprint grid — the NETRA command-center canvas. */
background-image:
radial-gradient(1100px 520px at 86% -8%, rgba(40, 120, 200, 0.16), transparent 60%),
radial-gradient(900px 600px at 6% 108%, rgba(45, 160, 180, 0.08), transparent 55%),
linear-gradient(var(--grid) 1px, transparent 1px),
linear-gradient(90deg, var(--grid) 1px, transparent 1px);
background-size: 100% 100%, 100% 100%, 46px 46px, 46px 46px;
background-attachment: fixed;
color: var(--text);
font-family: var(--sans);
font-size: 15px;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
line-height: 1.55;
}
h1, h2, h3, h4 {
font-family: var(--sans);
font-weight: 700;
letter-spacing: -0.01em;
margin: 0;
color: var(--text);
}
a {
color: inherit;
text-decoration: none;
}
button {
font-family: inherit;
cursor: pointer;
border: none;
background: none;
}
::selection {
background: var(--accent-soft);
}
/* Entrance animation + stagger helper */
@keyframes rise {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.rise {
animation: rise 0.5s var(--ease) both;
}
/* Thin, tasteful scrollbar */
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-thumb {
background: var(--border-strong);
border-radius: 999px;
border: 3px solid var(--bg);
}
/* SensorFusion & Signed Provenance */
.signed {
margin-top: auto;
background: rgba(54, 211, 154, 0.06);
border: 1px solid rgba(54, 211, 154, 0.2);
border-radius: 11px;
padding: 12px 14px;
}
.signed .s1 {
font-size: 12px;
font-weight: 700;
display: flex;
align-items: center;
gap: 7px;
}
.signed .s2 {
font-size: 10.5px;
color: var(--muted);
font-family: 'JetBrains Mono', monospace;
margin-top: 6px;
line-height: 1.4;
}
.sf {
display: flex;
flex-direction: column;
}
.sf-head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.sf-title {
font-size: 13px;
font-weight: 700;
}
.concept-tag {
font-size: 9px;
font-weight: 800;
letter-spacing: 0.05em;
background: var(--surface-2);
color: var(--muted);
padding: 2px 6px;
border-radius: 4px;
}
.sf-thumbs {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
height: 96px;
margin-bottom: 12px;
}
.sf-thumb {
border: 1px solid var(--border);
border-radius: 11px;
overflow: hidden;
position: relative;
display: flex;
flex-direction: column;
}
.sf-thumb svg {
display: block;
width: 100%;
flex: 1;
}
.sf-cap {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 9px;
background: #091421;
}
.sf-tag {
font-size: 9.5px;
font-weight: 800;
letter-spacing: 0.05em;
padding: 2px 7px;
border-radius: 6px;
}
.sf-met {
font-size: 9.5px;
}
.sf-bars {
margin-bottom: 12px;
}