117 lines
2.5 KiB
CSS
117 lines
2.5 KiB
CSS
/* 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;
|
|
}
|
|
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
|
|
background: var(--bg);
|
|
color: var(--foreground);
|
|
font-size: 14px;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
|
|
/* ── 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; }
|
|
|
|
a { color: inherit; }
|