@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; }