feat: overhaul Duriin autonomy console
This commit is contained in:
+109
-104
@@ -1,117 +1,122 @@
|
||||
/* design tokens + resets + element defaults shared across every admin page */
|
||||
|
||||
:root {
|
||||
--bg: #020817;
|
||||
--bg-card: #0f172a;
|
||||
--bg-subtle: #0b1120;
|
||||
--border: #1e293b;
|
||||
--border-light: #162032;
|
||||
--foreground: #f8fafc;
|
||||
--muted: #94a3b8;
|
||||
--muted-dark: #475569;
|
||||
--primary: #f8fafc;
|
||||
--primary-bg: #1e293b;
|
||||
--accent: #3b82f6;
|
||||
--accent-hover: #2563eb;
|
||||
--destructive: #7f1d1d;
|
||||
--destructive-fg: #fca5a5;
|
||||
--radius: 6px;
|
||||
--radius-lg: 10px;
|
||||
--bg: #090b0a;
|
||||
--bg-card: #111411;
|
||||
--bg-elevated: #171a17;
|
||||
--bg-subtle: #0d100e;
|
||||
--border: #293029;
|
||||
--border-light: #1d231e;
|
||||
--foreground: #f2f0e8;
|
||||
--muted: #9ca398;
|
||||
--muted-dark: #687066;
|
||||
--primary: #dfff4f;
|
||||
--primary-bg: #dfff4f;
|
||||
--accent: #dfff4f;
|
||||
--accent-hover: #edff93;
|
||||
--positive: #8ee6a8;
|
||||
--negative: #ff8d7d;
|
||||
--warning: #f3c969;
|
||||
--destructive: #8a3029;
|
||||
--destructive-fg: #ffaaa0;
|
||||
--radius: 4px;
|
||||
--radius-lg: 8px;
|
||||
--rail: 224px;
|
||||
--sans: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
|
||||
html { background: var(--bg); }
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
|
||||
background: var(--bg);
|
||||
font-family: var(--sans);
|
||||
background:
|
||||
radial-gradient(circle at 85% -10%, rgba(223, 255, 79, .055), transparent 34rem),
|
||||
var(--bg);
|
||||
color: var(--foreground);
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
min-height: 100vh;
|
||||
padding-left: var(--rail);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
|
||||
/* ── inputs / selects ── */
|
||||
|
||||
input[type="text"], input[type="date"], select {
|
||||
background: var(--bg-subtle);
|
||||
border: 1px solid var(--border);
|
||||
color: var(--foreground);
|
||||
padding: 7px 10px;
|
||||
border-radius: var(--radius);
|
||||
font-size: 13px;
|
||||
outline: none;
|
||||
min-width: 140px;
|
||||
transition: border-color .15s, box-shadow .15s;
|
||||
}
|
||||
|
||||
input[type="text"]:focus, input[type="date"]:focus, select:focus {
|
||||
border-color: var(--accent);
|
||||
box-shadow: 0 0 0 3px rgba(59, 130, 246, .15);
|
||||
}
|
||||
|
||||
select option { background: #0f172a; }
|
||||
|
||||
|
||||
/* ── buttons ── */
|
||||
|
||||
button {
|
||||
background: var(--primary-bg);
|
||||
border: 1px solid var(--border);
|
||||
color: var(--foreground);
|
||||
padding: 7px 14px;
|
||||
border-radius: var(--radius);
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
transition: background .15s, opacity .1s;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
button:hover { background: #263347; }
|
||||
|
||||
button.primary {
|
||||
background: var(--foreground);
|
||||
color: #0f172a;
|
||||
border-color: transparent;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
button.primary:hover { background: #e2e8f0; }
|
||||
|
||||
button.danger {
|
||||
background: transparent;
|
||||
border-color: var(--destructive);
|
||||
color: var(--destructive-fg);
|
||||
}
|
||||
|
||||
button.danger:hover { background: rgba(127, 29, 29, .3); }
|
||||
|
||||
button:disabled { opacity: .4; cursor: not-allowed; }
|
||||
|
||||
|
||||
/* textarea — shared across article modal and sql console */
|
||||
|
||||
textarea {
|
||||
background: var(--bg-subtle);
|
||||
border: 1px solid var(--border);
|
||||
color: var(--foreground);
|
||||
padding: 8px 10px;
|
||||
border-radius: var(--radius);
|
||||
font-size: 13px;
|
||||
resize: vertical;
|
||||
font-family: inherit;
|
||||
outline: none;
|
||||
min-height: 120px;
|
||||
transition: border-color .15s, box-shadow .15s;
|
||||
}
|
||||
|
||||
textarea:focus {
|
||||
border-color: var(--accent);
|
||||
box-shadow: 0 0 0 3px rgba(59, 130, 246, .15);
|
||||
}
|
||||
|
||||
|
||||
.url-link { color: #60a5fa; text-decoration: none; }
|
||||
.url-link:hover { text-decoration: underline; }
|
||||
::selection { background: var(--accent); color: #0b0d0b; }
|
||||
|
||||
a { color: inherit; }
|
||||
|
||||
button, input, select, textarea { font: inherit; }
|
||||
|
||||
input[type="text"], input[type="date"], input[type="search"], input[type="number"], select {
|
||||
min-width: 140px;
|
||||
height: 38px;
|
||||
padding: 0 11px;
|
||||
color: var(--foreground);
|
||||
background: #0b0e0c;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
outline: none;
|
||||
transition: border-color 140ms, box-shadow 140ms, background 140ms;
|
||||
}
|
||||
|
||||
input::placeholder { color: #596057; }
|
||||
select option { background: #111411; }
|
||||
|
||||
input:focus, select:focus, textarea:focus {
|
||||
border-color: rgba(223,255,79,.75);
|
||||
box-shadow: 0 0 0 3px rgba(223,255,79,.09);
|
||||
background: #0f130f;
|
||||
}
|
||||
|
||||
button {
|
||||
min-height: 36px;
|
||||
padding: 0 14px;
|
||||
color: var(--foreground);
|
||||
background: var(--bg-elevated);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
font-weight: 650;
|
||||
letter-spacing: .02em;
|
||||
transition: transform 100ms, background 140ms, border-color 140ms;
|
||||
}
|
||||
|
||||
button:hover { background: #20251f; border-color: #414a40; }
|
||||
button:active { transform: translateY(1px); }
|
||||
|
||||
button.primary {
|
||||
color: #0c0e0c;
|
||||
background: var(--primary-bg);
|
||||
border-color: var(--primary-bg);
|
||||
}
|
||||
|
||||
button.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
|
||||
|
||||
button.danger { background: transparent; border-color: #69332e; color: var(--destructive-fg); }
|
||||
button.danger:hover { background: rgba(138,48,41,.22); }
|
||||
button:disabled { opacity: .38; cursor: not-allowed; transform: none; }
|
||||
|
||||
textarea {
|
||||
min-height: 120px;
|
||||
padding: 10px 11px;
|
||||
resize: vertical;
|
||||
color: var(--foreground);
|
||||
background: var(--bg-subtle);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.url-link { color: var(--accent); text-decoration: none; }
|
||||
.url-link:hover { text-decoration: underline; text-underline-offset: 3px; }
|
||||
|
||||
.mono { font-family: var(--mono); }
|
||||
.positive { color: var(--positive); }
|
||||
.negative { color: var(--negative); }
|
||||
.muted { color: var(--muted); }
|
||||
|
||||
@media (max-width: 820px) {
|
||||
:root { --rail: 0px; }
|
||||
body { padding-left: 0; padding-top: 68px; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user