mirror of
https://github.com/Hestia-Homes/assessment-model.git
synced 2026-06-08 11:37:25 +00:00
229 lines
4.7 KiB
CSS
229 lines
4.7 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
/* 🌞 Light Theme (raw HSL values) */
|
|
:root {
|
|
--background: 0 0% 100%;
|
|
--foreground: 222.2 47.4% 11.2%;
|
|
|
|
--muted: 210 40% 96.1%;
|
|
--muted-foreground: 215.4 16.3% 46.9%;
|
|
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--border: 214.3 31.8% 91.4%;
|
|
--input: 214.3 31.8% 91.4%;
|
|
|
|
--primary: 222.2 47.4% 11.2%;
|
|
--primary-foreground: 210 40% 98%;
|
|
|
|
--secondary: 210 40% 96.1%;
|
|
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--accent: 210 40% 96.1%;
|
|
--accent-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--destructive: 0 100% 50%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
|
|
--ring: 215 20.2% 65.1%;
|
|
|
|
--radius: 0.5rem;
|
|
}
|
|
|
|
/* 🌚 Dark Theme (raw HSL values) */
|
|
.dark {
|
|
--background: 224 71% 4%;
|
|
--foreground: 213 31% 91%;
|
|
|
|
--muted: 223 47% 11%;
|
|
--muted-foreground: 215.4 16.3% 56.9%;
|
|
|
|
--popover: 224 71% 4%;
|
|
--popover-foreground: 215 20.2% 65.1%;
|
|
|
|
--card: 224 71% 4%;
|
|
--card-foreground: 213 31% 91%;
|
|
|
|
--border: 216 34% 17%;
|
|
--input: 216 34% 17%;
|
|
|
|
--primary: 210 40% 98%;
|
|
--primary-foreground: 222.2 47.4% 1.2%;
|
|
|
|
--secondary: 222.2 47.4% 11.2%;
|
|
--secondary-foreground: 210 40% 98%;
|
|
|
|
--accent: 216 34% 17%;
|
|
--accent-foreground: 210 40% 98%;
|
|
|
|
--destructive: 0 63% 31%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
|
|
--ring: 216 34% 17%;
|
|
|
|
--radius: 0.5rem;
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
font-feature-settings:
|
|
"rlig" 1,
|
|
"calt" 1;
|
|
}
|
|
}
|
|
|
|
/* 🎨 Tailwind-aware theme tokens */
|
|
@theme inline {
|
|
--color-background: hsl(var(--background));
|
|
--color-foreground: hsl(var(--foreground));
|
|
--color-muted: hsl(var(--muted));
|
|
--color-muted-foreground: hsl(var(--muted-foreground));
|
|
--color-popover: hsl(var(--popover));
|
|
--color-popover-foreground: hsl(var(--popover-foreground));
|
|
--color-card: hsl(var(--card));
|
|
--color-card-foreground: hsl(var(--card-foreground));
|
|
--color-border: hsl(var(--border));
|
|
--color-input: hsl(var(--input));
|
|
--color-primary: hsl(var(--primary));
|
|
--color-primary-foreground: hsl(var(--primary-foreground));
|
|
--color-secondary: hsl(var(--secondary));
|
|
--color-secondary-foreground: hsl(var(--secondary-foreground));
|
|
--color-accent: hsl(var(--accent));
|
|
--color-accent-foreground: hsl(var(--accent-foreground));
|
|
--color-destructive: hsl(var(--destructive));
|
|
--color-destructive-foreground: hsl(var(--destructive-foreground));
|
|
--color-ring: hsl(var(--ring));
|
|
}
|
|
|
|
/* 🔄 Spinner animation */
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.animate-spin {
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
@media print {
|
|
body {
|
|
background: white;
|
|
}
|
|
|
|
/* ---------------------------------
|
|
PAGE LAYOUT
|
|
--------------------------------- */
|
|
|
|
@page {
|
|
margin: 0;
|
|
}
|
|
|
|
/* Outer page padding (NOT scaled) */
|
|
.print-page {
|
|
padding: 20px 24px;
|
|
}
|
|
|
|
/* Inner content (scaled slightly) */
|
|
.print-root {
|
|
transform: scale(0.94);
|
|
transform-origin: top left;
|
|
width: 106.4%; /* 1 / 0.94 */
|
|
}
|
|
|
|
/* ---------------------------------
|
|
HEADER
|
|
--------------------------------- */
|
|
|
|
.print-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 16px;
|
|
border-bottom: 2px solid #0b3c5d;
|
|
padding-bottom: 12px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
/* ---------------------------------
|
|
PAGE BREAKS
|
|
--------------------------------- */
|
|
|
|
.page-break {
|
|
break-before: page;
|
|
page-break-before: always;
|
|
}
|
|
|
|
.avoid-break {
|
|
break-inside: avoid;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
/* ---------------------------------
|
|
GRID STABILITY
|
|
--------------------------------- */
|
|
|
|
.print-grid-3 {
|
|
display: grid !important;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
|
|
gap: 14px !important;
|
|
}
|
|
|
|
.print-grid-2 {
|
|
display: grid !important;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
|
|
gap: 14px !important;
|
|
}
|
|
|
|
/* ---------------------------------
|
|
CARD FIXES
|
|
--------------------------------- */
|
|
|
|
section,
|
|
.card,
|
|
.gradient-card {
|
|
break-inside: avoid;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.gradient-card {
|
|
background: none !important;
|
|
border: 2px solid #e5e7eb;
|
|
}
|
|
|
|
.gradient-card > div {
|
|
padding: 10px !important;
|
|
}
|
|
|
|
/* Disable gradient text */
|
|
.print-text-solid {
|
|
background: none !important;
|
|
-webkit-background-clip: initial !important;
|
|
background-clip: initial !important;
|
|
color: #0b3c5d !important;
|
|
}
|
|
|
|
/* Hide UI chrome */
|
|
button,
|
|
nav,
|
|
.no-print {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
@keyframes loading {
|
|
0% { transform: translateX(-100%); }
|
|
100% { transform: translateX(300%); }
|
|
}
|