Files
medscribe-web/src/styles/globals.css
T
soconnorandCursor b0636ba5ce Add login-page site gate and refresh marketing site for complex-care positioning.
Replace HTTP Basic Auth with a branded /login flow and signed session cookie, using Next.js 16's proxy convention for route protection.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 02:21:58 -04:00

139 lines
3.2 KiB
CSS

@import "tailwindcss";
@theme {
--font-sans: var(--font-instrument-sans), ui-sans-serif, system-ui, sans-serif;
--font-serif: var(--font-playfair), ui-serif, Georgia, serif;
/* Light palette: mirrors the app's `lightColors` (constants/colors.ts). */
--color-canvas: #f8fafc;
--color-surface: #ffffff;
--color-surface-soft: #f1f5f9;
--color-primary: #0f766e;
--color-primary-light: #ccfbf1;
--color-primary-button: #0f766e;
--color-foreground: #0f172a;
--color-muted-foreground: #64748b;
--color-border-soft: #e2e8f0;
--color-success: #047857;
--color-success-light: #d1fae5;
}
@layer base {
:root {
color-scheme: light;
--grid-line: rgba(15, 23, 42, 0.055);
}
/*
* Dark palette: mirrors the app's `darkColors` (constants/colors.ts).
* `--color-primary` stays the bright accent (text/icons/borders); filled
* buttons use the muted `--color-primary-button` so white text keeps its
* contrast, matching the app's primary vs. primaryButton split.
*/
@media (prefers-color-scheme: dark) {
:root {
color-scheme: dark;
--color-canvas: #0b1220;
--color-surface: #1e293b;
--color-surface-soft: #111827;
--color-primary: #2dd4bf;
--color-primary-light: #134e4a;
--color-primary-button: #115e59;
--color-foreground: #f1f5f9;
--color-muted-foreground: #94a3b8;
--color-border-soft: #334155;
--color-success: #34d399;
--color-success-light: #064e3b;
--grid-line: rgba(45, 212, 191, 0.08);
}
}
html {
scroll-behavior: smooth;
}
body {
@apply bg-canvas font-sans text-foreground antialiased;
}
}
.card-hover {
@apply transition-all duration-200 hover:-translate-y-0.5 hover:shadow-[0_8px_24px_rgba(15,23,42,0.08)];
}
@keyframes fade-in-up {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fade-in-up {
animation: fade-in-up 0.5s ease-out both;
}
.animate-fade-in-up-delay-1 {
animation: fade-in-up 0.5s ease-out 0.1s both;
}
.animate-fade-in-up-delay-2 {
animation: fade-in-up 0.5s ease-out 0.2s both;
}
.animate-fade-in-up-delay-3 {
animation: fade-in-up 0.5s ease-out 0.3s both;
}
/*
* Branded one-page PDF sheet: a green-to-white gradient washed over a faint
* teal grid. Only rendered for print (the on-screen page mirrors the homepage).
*/
.print-sheet {
background:
linear-gradient(150deg, #ccfbf1 0%, #f0fdfa 30%, #ffffff 64%),
linear-gradient(rgba(15, 118, 110, 0.07) 1px, transparent 1px),
linear-gradient(90deg, rgba(15, 118, 110, 0.06) 1px, transparent 1px);
background-size: auto, 22px 22px, 22px 22px;
}
@media print {
@page {
margin: 0.25in;
size: letter;
}
html,
body {
background: #ffffff !important;
print-color-adjust: exact;
-webkit-print-color-adjust: exact;
}
body {
color: #0f172a !important;
}
.print-hidden {
display: none !important;
}
.print-page {
max-width: none !important;
padding: 0 !important;
}
.print-page * {
box-shadow: none !important;
animation: none !important;
}
.print-sheet {
print-color-adjust: exact;
-webkit-print-color-adjust: exact;
}
}