Files
dyolink/frontend/src/styles/globals.css

274 lines
9.3 KiB
CSS

@import "tailwindcss";
/* Light theme tokens (future-ready) */
:root[data-theme="light"] {
--radius-sm: 4px;
--radius-md: 6px;
--radius-lg: 8px;
--color-background-primary: #f6f9fc;
--color-background-secondary: #ffffff;
--color-background-card: #ffffff;
--color-surface-elevated: #f8fbff;
--color-text-primary: #0f172a;
--color-text-secondary: #475569;
--color-text-muted: #64748b;
--color-border: #d2dcec;
--color-border-strong: #aec0de;
--color-card-background: #ffffff;
--color-card-foreground: #0f172a;
--color-card-muted: #475569;
--color-card-border: #d2dcec;
--color-badge-default-bg: #edf3fb;
--color-badge-default-fg: #1e293b;
--color-badge-default-border: #c9d8ec;
--color-badge-success-bg: #e6f7ef;
--color-badge-success-fg: #14532d;
--color-badge-success-border: #98d8b5;
--color-badge-warning-bg: #fff4df;
--color-badge-warning-fg: #92400e;
--color-badge-warning-border: #f6c88b;
--color-badge-danger-bg: #ffe8e8;
--color-badge-danger-fg: #991b1b;
--color-badge-danger-border: #f2b0b0;
--color-purpose-consultation-bg: #f1eafe;
--color-purpose-consultation-fg: #5b21b6;
--color-purpose-consultation-border: #cfb8f7;
--color-purpose-filling-bg: #fff1e5;
--color-purpose-filling-fg: #9a3412;
--color-purpose-filling-border: #f8c9a6;
--color-purpose-endo-bg: #ffe9e9;
--color-purpose-endo-fg: #991b1b;
--color-purpose-endo-border: #f4b6b6;
--color-purpose-visit-bg: #e7f4ff;
--color-purpose-visit-fg: #0c4a6e;
--color-purpose-visit-border: #abd8f3;
--color-purpose-hygiene-bg: #effadf;
--color-purpose-hygiene-fg: #3f6212;
--color-purpose-hygiene-border: #cbe9a1;
--color-primary: #009cae;
--color-primary-contrast: #031014;
--color-primary-soft: rgba(0, 156, 174, 0.16);
--color-icon: #e1bc72;
--web-opacity: 0.12;
--web-line: rgba(0, 188, 255, 0.32);
--web-glow: rgba(0, 188, 255, 0.42);
}
/* Dark theme tokens */
:root[data-theme="dark"] {
--color-background-primary: #000c1c;
--color-background-secondary: #0b1a2b;
--color-background-card: #14253d;
--color-surface-elevated: #1b2f4e;
--color-text-primary: #f5f9ff;
--color-text-secondary: #b6c6dd;
--color-text-muted: #8ea3bf;
--color-border: #29456a;
--color-border-strong: #3b5f8f;
--color-card-background: #14253d;
--color-card-foreground: #f5f9ff;
--color-card-muted: #b6c6dd;
--color-card-border: #29456a;
--color-badge-default-bg: #1b2f4e;
--color-badge-default-fg: #b6c6dd;
--color-badge-default-border: #3b5f8f;
--color-badge-success-bg: rgba(6, 78, 59, 0.45);
--color-badge-success-fg: #86efac;
--color-badge-success-border: rgba(21, 128, 61, 0.5);
--color-badge-warning-bg: rgba(120, 53, 15, 0.48);
--color-badge-warning-fg: #fcd34d;
--color-badge-warning-border: rgba(180, 83, 9, 0.55);
--color-badge-danger-bg: rgba(127, 29, 29, 0.42);
--color-badge-danger-fg: #fca5a5;
--color-badge-danger-border: rgba(185, 28, 28, 0.52);
--color-purpose-consultation-bg: rgba(139, 92, 246, 0.25);
--color-purpose-consultation-fg: #ddd6fe;
--color-purpose-consultation-border: rgba(167, 139, 250, 0.5);
--color-purpose-filling-bg: rgba(249, 115, 22, 0.25);
--color-purpose-filling-fg: #fed7aa;
--color-purpose-filling-border: rgba(251, 146, 60, 0.5);
--color-purpose-endo-bg: rgba(239, 68, 68, 0.25);
--color-purpose-endo-fg: #fecaca;
--color-purpose-endo-border: rgba(248, 113, 113, 0.5);
--color-purpose-visit-bg: rgba(14, 165, 233, 0.25);
--color-purpose-visit-fg: #bae6fd;
--color-purpose-visit-border: rgba(56, 189, 248, 0.5);
--color-purpose-hygiene-bg: rgba(132, 204, 22, 0.2);
--color-purpose-hygiene-fg: #d9f99d;
--color-purpose-hygiene-border: rgba(163, 230, 53, 0.45);
--color-primary: #09a9bc;
--color-primary-contrast: #001117;
--color-primary-soft: rgba(9, 169, 188, 0.2);
--color-icon: #e1bc72;
}
/* Default theme = dark */
:root {
--radius-sm: 4px;
--radius-md: 6px;
--radius-lg: 8px;
--color-background-primary: #000c1c;
--color-background-secondary: #0a1520;
--color-background-card: #14253d;
--color-surface-elevated: #1b2f4e;
--color-text-primary: #f5f9ff;
--color-text-secondary: #b6c6dd;
--color-text-muted: #8ea3bf;
--color-border: #29456a;
--color-border-strong: #3b5f8f;
--color-card-background: #14253d;
--color-card-foreground: #f5f9ff;
--color-card-muted: #b6c6dd;
--color-card-border: #29456a;
--color-badge-default-bg: #1b2f4e;
--color-badge-default-fg: #b6c6dd;
--color-badge-default-border: #3b5f8f;
--color-badge-success-bg: rgba(6, 78, 59, 0.45);
--color-badge-success-fg: #86efac;
--color-badge-success-border: rgba(21, 128, 61, 0.5);
--color-badge-warning-bg: rgba(120, 53, 15, 0.48);
--color-badge-warning-fg: #fcd34d;
--color-badge-warning-border: rgba(180, 83, 9, 0.55);
--color-badge-danger-bg: rgba(127, 29, 29, 0.42);
--color-badge-danger-fg: #fca5a5;
--color-badge-danger-border: rgba(185, 28, 28, 0.52);
--color-purpose-consultation-bg: rgba(139, 92, 246, 0.25);
--color-purpose-consultation-fg: #ddd6fe;
--color-purpose-consultation-border: rgba(167, 139, 250, 0.5);
--color-purpose-filling-bg: rgba(249, 115, 22, 0.25);
--color-purpose-filling-fg: #fed7aa;
--color-purpose-filling-border: rgba(251, 146, 60, 0.5);
--color-purpose-endo-bg: rgba(239, 68, 68, 0.25);
--color-purpose-endo-fg: #fecaca;
--color-purpose-endo-border: rgba(248, 113, 113, 0.5);
--color-purpose-visit-bg: rgba(14, 165, 233, 0.25);
--color-purpose-visit-fg: #bae6fd;
--color-purpose-visit-border: rgba(56, 189, 248, 0.5);
--color-purpose-hygiene-bg: rgba(132, 204, 22, 0.2);
--color-purpose-hygiene-fg: #d9f99d;
--color-purpose-hygiene-border: rgba(163, 230, 53, 0.45);
--color-primary: #09a9bc;
--color-primary-contrast: #001117;
--color-primary-soft: rgba(9, 169, 188, 0.2);
--color-icon: #f3bb4b;
--web-opacity: 0.14;
--web-line: rgba(59, 153, 220, 0.34);
--web-line-strong: rgba(73, 214, 255, 0.78);
--web-glow: rgba(48, 204, 255, 0.55);
}
@theme inline {
--color-background-primary: var(--color-background-primary);
--color-background-secondary: var(--color-background-secondary);
--color-background-card: var(--color-background-card);
--color-surface-elevated: var(--color-surface-elevated);
--color-text-primary: var(--color-text-primary);
--color-text-secondary: var(--color-text-secondary);
--color-text-muted: var(--color-text-muted);
--color-border: var(--color-border);
--color-border-strong: var(--color-border-strong);
--color-card: var(--color-card-background);
--color-card-foreground: var(--color-card-foreground);
--color-card-muted: var(--color-card-muted);
--color-card-border: var(--color-card-border);
--color-badge-default-bg: var(--color-badge-default-bg);
--color-badge-default-fg: var(--color-badge-default-fg);
--color-badge-default-border: var(--color-badge-default-border);
--color-badge-success-bg: var(--color-badge-success-bg);
--color-badge-success-fg: var(--color-badge-success-fg);
--color-badge-success-border: var(--color-badge-success-border);
--color-badge-warning-bg: var(--color-badge-warning-bg);
--color-badge-warning-fg: var(--color-badge-warning-fg);
--color-badge-warning-border: var(--color-badge-warning-border);
--color-badge-danger-bg: var(--color-badge-danger-bg);
--color-badge-danger-fg: var(--color-badge-danger-fg);
--color-badge-danger-border: var(--color-badge-danger-border);
--color-purpose-consultation-bg: var(--color-purpose-consultation-bg);
--color-purpose-consultation-fg: var(--color-purpose-consultation-fg);
--color-purpose-consultation-border: var(--color-purpose-consultation-border);
--color-purpose-filling-bg: var(--color-purpose-filling-bg);
--color-purpose-filling-fg: var(--color-purpose-filling-fg);
--color-purpose-filling-border: var(--color-purpose-filling-border);
--color-purpose-endo-bg: var(--color-purpose-endo-bg);
--color-purpose-endo-fg: var(--color-purpose-endo-fg);
--color-purpose-endo-border: var(--color-purpose-endo-border);
--color-purpose-visit-bg: var(--color-purpose-visit-bg);
--color-purpose-visit-fg: var(--color-purpose-visit-fg);
--color-purpose-visit-border: var(--color-purpose-visit-border);
--color-purpose-hygiene-bg: var(--color-purpose-hygiene-bg);
--color-purpose-hygiene-fg: var(--color-purpose-hygiene-fg);
--color-purpose-hygiene-border: var(--color-purpose-hygiene-border);
--color-primary: var(--color-primary);
--color-primary-contrast: var(--color-primary-contrast);
--color-primary-soft: var(--color-primary-soft);
}
html,
body {
padding: 0;
margin: 0;
}
html {
color-scheme: dark;
}
html[data-theme='light'] {
color-scheme: light;
}
body {
background-color: var(--color-background-primary);
color: var(--color-text-primary);
font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.surface-card {
background: color-mix(in srgb, var(--color-card-background) 92%, transparent);
border: 1px solid var(--color-card-border);
color: var(--color-card-foreground);
border-radius: var(--radius-lg);
}
.surface-panel {
background: color-mix(in srgb, var(--color-background-secondary) 96%, transparent);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
}
.icon-flat {
stroke-width: 1.9;
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
}
/* Global icon color override (easy to revert) */
.lucide {
color: var(--color-icon);
stroke: currentColor;
}