Muhammad Noman
Deploy OpenWA to Hugging Face Spaces
46252cd
Raw
History Blame Contribute Delete
4.15 kB
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');
:root {
--primary: #25d366;
--primary-hover: #1da851;
--primary-soft: rgba(37, 211, 102, 0.12);
--bg-light: #f8fafc;
--bg-white: #ffffff;
--bg-card: #ffffff;
--text-primary: #0f172a; /* Slate 900 */
--text-secondary: #475569; /* Slate 600 */
--text-muted: #94a3b8; /* Slate 400 */
--border: #e2e8f0; /* Slate 200 */
--error: #ef4444;
--success: #22c55e;
--warning: #f59e0b;
--info: #2563eb; /* Blue 600 — info/permission/log badges + qr-ready pill */
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--radius: 10px;
}
/* Dark Mode */
[data-theme='dark'] {
/* Make native controls (select option popups, scrollbars, date pickers) follow the EXPLICIT
app theme, not just the OS preference — otherwise toggling dark while the OS is light left
native dropdowns rendered in the light scheme (#249). */
color-scheme: dark;
--bg-light: #0f172a; /* Slate 900 */
--bg-white: #1e293b; /* Slate 800 */
--bg-card: #1e293b;
--text-primary: #f1f5f9; /* Slate 100 */
--text-secondary: #cbd5e1; /* Slate 300 */
--text-muted: #64748b; /* Slate 500 */
--border: #334155; /* Slate 700 */
--info: #60a5fa; /* Blue 400 — lighter so it reads over the dark translucent-blue tints */
--primary-soft: color-mix(in srgb, var(--primary) 18%, transparent);
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.3);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4);
}
/* Explicit light toggle: keep native controls light even if the OS prefers dark. */
[data-theme='light'] {
color-scheme: light;
}
/* System preference dark mode */
@media (prefers-color-scheme: dark) {
:root:not([data-theme='light']) {
/* Match native controls (e.g. the Login page <select> option popup) to the dark theme.
The Login screen never sets data-theme, so it relies solely on this block — without an
explicit color-scheme the popup rendered light, leaving the light option text illegible (#249). */
color-scheme: dark;
--bg-light: #0f172a;
--bg-white: #1e293b;
--bg-card: #1e293b;
--text-primary: #f1f5f9;
--text-secondary: #cbd5e1;
--text-muted: #64748b;
--border: #334155;
--info: #60a5fa;
--primary-soft: color-mix(in srgb, var(--primary) 18%, transparent);
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.3);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4);
}
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family:
'Plus Jakarta Sans',
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Helvetica,
Arial,
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: var(--bg-light);
color: var(--text-primary);
line-height: 1.6;
}
button {
font-family: inherit;
}
input,
select,
textarea {
font-family: inherit;
background: var(--bg-white);
color: var(--text-primary);
border-color: var(--border);
}
a {
color: var(--primary);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* Error banner — shared across pages (moved out of Plugins.css so any page can use it). */
.error-banner {
background: rgba(239, 68, 68, 0.1);
border: 1px solid rgba(239, 68, 68, 0.3);
border-radius: 8px;
padding: 1rem;
margin-bottom: 1.5rem;
display: flex;
align-items: center;
gap: 0.75rem;
}
.error-banner svg {
color: var(--error);
}
.error-banner-text {
color: var(--error);
}
/* yarl theme — match dashboard dark palette. */
.yarl__container {
--yarl__color_backdrop: rgba(0, 0, 0, 0.92);
}
.yarl__button {
--yarl__color_button: rgba(255, 255, 255, 0.9);
}