diff --git a/frontend/app/globals.css b/frontend/app/globals.css index f5caaf2..8c56bfa 100644 --- a/frontend/app/globals.css +++ b/frontend/app/globals.css @@ -3,16 +3,16 @@ @tailwind utilities; :root { - --shell-background: #f4efe7; + --shell-background: #f8fafc; --shell-surface: rgba(255, 255, 255, 0.9); --shell-panel: #ffffff; - --shell-muted: #f8f4ed; - --shell-border: #d8cfc1; - --shell-ink: #16212b; - --shell-subtle: #5d6873; - --shell-accent: #0f5e5b; - --shell-accent-soft: #dce9e8; - --shell-warm: #8a6249; + --shell-muted: #eef2f7; + --shell-border: #d7dde5; + --shell-ink: #0f172a; + --shell-subtle: #475569; + --shell-accent: #0f766e; + --shell-accent-soft: #ccfbf1; + --shell-warm: #92400e; } html.dark, @@ -38,9 +38,7 @@ html { body { min-height: 100vh; color: var(--shell-ink); - background: radial-gradient(circle at top left, rgba(15, 94, 91, 0.08), transparent 32%), - radial-gradient(circle at top right, rgba(138, 98, 73, 0.08), transparent 28%), - linear-gradient(180deg, rgba(255, 255, 255, 0.42), transparent 22%), var(--shell-background); + background: var(--shell-background); } body, @@ -48,7 +46,7 @@ input, textarea, button, select { - font-family: "Satoshi", "Avenir Next", "Segoe UI", sans-serif; + font-family: Inter, "Segoe UI", Arial, sans-serif; font-feature-settings: "ss01" on, "ss02" on; } @@ -58,8 +56,8 @@ h3, h4, h5, h6 { - font-family: Georgia, "Times New Roman", serif; - letter-spacing: -0.03em; + font-family: inherit; + letter-spacing: 0; } ::selection { diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx index 275edfd..bf7ad34 100644 --- a/frontend/app/layout.tsx +++ b/frontend/app/layout.tsx @@ -1,4 +1,3 @@ -import "@/css/satoshi.css"; import "@/css/style.css"; import "jsvectormap/dist/jsvectormap.css"; import "flatpickr/dist/flatpickr.min.css"; @@ -26,7 +25,7 @@ export default function RootLayout({ -
+
{children}
diff --git a/frontend/app/workspace/alumni/record/page.tsx b/frontend/app/workspace/alumni/record/page.tsx index c73dc6f..d4bff32 100644 --- a/frontend/app/workspace/alumni/record/page.tsx +++ b/frontend/app/workspace/alumni/record/page.tsx @@ -35,7 +35,7 @@ const AlumniRecordPage = () => { "Learner-record previews on the alumni home route come from the backend timeline contract rather than frontend fixtures.", ]} /> -
+
diff --git a/frontend/app/workspace/principal/school-health/page.tsx b/frontend/app/workspace/principal/school-health/page.tsx index fab6148..5fc87ac 100644 --- a/frontend/app/workspace/principal/school-health/page.tsx +++ b/frontend/app/workspace/principal/school-health/page.tsx @@ -35,7 +35,7 @@ const PrincipalSchoolHealthPage = () => { "The goal is to anchor leadership work in school context, not to create a new detached reporting tool.", ]} /> -
+
diff --git a/frontend/app/workspace/supervisor/briefings/page.tsx b/frontend/app/workspace/supervisor/briefings/page.tsx index 00d2354..29eb7ee 100644 --- a/frontend/app/workspace/supervisor/briefings/page.tsx +++ b/frontend/app/workspace/supervisor/briefings/page.tsx @@ -34,7 +34,7 @@ const SupervisorBriefingsPage = () => { "Trust, freshness, and deep-link metadata now travel with the underlying report payloads as well.", ]} /> -
+
diff --git a/frontend/components/Header/ContextSwitcher.tsx b/frontend/components/Header/ContextSwitcher.tsx index 024667d..fe740e6 100644 --- a/frontend/components/Header/ContextSwitcher.tsx +++ b/frontend/components/Header/ContextSwitcher.tsx @@ -4,14 +4,14 @@ import { useWorkspace } from "@/components/Workspace/WorkspaceProvider"; import { useId } from "react"; const inputClassName = - "mt-1 w-full rounded-xl border border-stone-200 bg-white px-3 py-2 text-sm text-slate-900 shadow-sm transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-teal-700 focus-visible:ring-offset-2 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-100"; + "mt-1 min-h-9 w-full rounded-lg border border-stone-200 bg-white px-3 py-1.5 text-sm text-slate-900 shadow-sm transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-teal-700 focus-visible:ring-offset-2 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-100"; const ContextSwitcher = () => { const id = useId(); const { currentContext, contextOptions, isLoading, setContext } = useWorkspace(); return ( -
+
); }; diff --git a/frontend/components/Header/RoleSwitcher.tsx b/frontend/components/Header/RoleSwitcher.tsx index 6f67d6a..c8bd6cf 100644 --- a/frontend/components/Header/RoleSwitcher.tsx +++ b/frontend/components/Header/RoleSwitcher.tsx @@ -6,7 +6,7 @@ import { useRouter } from "next/navigation"; import { startTransition, useId } from "react"; const inputClassName = - "mt-1 w-full rounded-xl border border-stone-200 bg-white px-3 py-2 text-sm text-slate-900 shadow-sm transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-teal-700 focus-visible:ring-offset-2 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-100"; + "mt-1 min-h-9 w-full rounded-lg border border-stone-200 bg-white px-3 py-1.5 text-sm text-slate-900 shadow-sm transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-teal-700 focus-visible:ring-offset-2 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-100"; const RoleSwitcher = () => { const id = useId(); @@ -14,7 +14,7 @@ const RoleSwitcher = () => { const { availableRoles, currentRole, isLoading, setRole } = useWorkspace(); return ( -
+