Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/redesign/06-verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,9 @@ Every capability from the audit map is present and reachable: search (answer/doc
- `prefers-reduced-motion` and forced-colors verified by code/token review, not an automated emulation pass.
- `npm audit --audit-level=high` still reports one high-severity `esbuild` advisory. No audit fix was applied because that would broaden the dependency change beyond the ESLint compatibility repair.
- ClinicalDashboard decomposition deferred (`04-deferred.md`, decision log D5).

## 7. Post-cleanup dependency follow-up (esbuild)

- Scope: address the remaining `npm audit --audit-level=high` finding without changing framework/runtime behavior.
- Change: added root `package.json` override for `esbuild@0.28.1` (latest stable) and regenerated `package-lock.json`.
- Result: full dependency resolution remains aligned with the existing stack (`next@16.2.7`, `tsx@4.22.4`, etc.); reran lint/build/test and high-severity audit to confirm no new regressions from the patch.
214 changes: 107 additions & 107 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
},
"overrides": {
"postcss": "^8.5.15",
"esbuild": "0.28.1",
"tmp": "^0.2.7",
"uuid": "^11.1.1"
},
Expand Down
86 changes: 43 additions & 43 deletions src/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
* Radius usage rules:
* rounded-md chips, inner elements, metadata pills
* rounded-lg controls, inputs, buttons
* rounded-xl cards, panels, drawers
* rounded-2xl bottom sheets, hero surfaces
* rounded-lg cards, panels, drawers
* rounded-xl bottom sheets, dialogs, large shells
*/
@theme {
--radius-sm: 0.375rem;
--radius-md: 0.5rem;
--radius-lg: 0.875rem;
--radius-xl: 1.25rem;
--radius-2xl: 1.75rem;
--radius-lg: 0.625rem;
--radius-xl: 0.75rem;
--radius-2xl: 1rem;

--text-2xs: 0.6875rem;
--text-2xs--line-height: 1rem;
Expand Down Expand Up @@ -88,25 +88,25 @@
--primary-800: #0c544f;
--primary-900: #0b403d;

--background: #eaf3f5;
--app-shell: #04141b;
--app-shell-muted: #0b2a35;
--app-shell-accent: #0e8078;
--background: #f3f6f7;
--app-shell: #102028;
--app-shell-muted: #18303a;
--app-shell-accent: #3d8d86;
--surface: var(--neutral-0);
--surface-raised: #fbfdfe;
--surface-subtle: var(--neutral-100);
--surface-inset: #f4f9fa;
--surface-glass: rgb(255 255 255 / 76%);
--surface-highlight: rgb(255 255 255 / 68%);
--surface-lux: rgb(255 255 255 / 88%);
--surface-wash: #e4f0f2;
--surface-subtle: #eef4f5;
--surface-inset: #f7fafb;
--surface-glass: rgb(255 255 255 / 82%);
--surface-highlight: rgb(255 255 255 / 62%);
--surface-lux: rgb(255 255 255 / 94%);
--surface-wash: #edf4f5;
--text: var(--neutral-900);
--text-heading: var(--neutral-950);
--text-muted: var(--neutral-600);
--text-soft: var(--neutral-500);
--border: var(--neutral-200);
--border-strong: var(--neutral-300);
--border-lux: rgb(149 178 190 / 54%);
--border-lux: rgb(149 178 190 / 42%);
--primary: var(--primary-500);
--primary-strong: var(--primary-700);
--primary-soft: #d6f2ec;
Expand Down Expand Up @@ -145,15 +145,15 @@
--ease-out-soft: cubic-bezier(0.22, 1, 0.36, 1);
--ease-spring: cubic-bezier(0.34, 1.3, 0.64, 1);

--glow-primary: 0 0 0 1px rgb(26 169 155 / 12%), 0 10px 28px rgb(12 130 120 / 10%);
--glow-soft: 0 0 0 1px rgb(26 169 155 / 9%), 0 8px 22px rgb(15 31 38 / 6%);
--glow-primary: 0 0 0 1px rgb(61 141 134 / 10%), 0 10px 24px rgb(61 141 134 / 8%);
--glow-soft: 0 0 0 1px rgb(61 141 134 / 7%), 0 8px 18px rgb(15 31 38 / 5%);

/* Elevation: layered, small blur, low alpha */
--shadow-soft: 0 1px 2px rgb(15 31 38 / 6%), 0 8px 20px rgb(15 31 38 / 7%);
--shadow-tight: 0 1px 2px rgb(15 31 38 / 6%), 0 4px 10px rgb(15 31 38 / 5%);
--shadow-hover: 0 2px 4px rgb(15 31 38 / 8%), 0 12px 28px rgb(15 31 38 / 9%);
--shadow-elevated: 0 1px 2px rgb(15 31 38 / 8%), 0 8px 16px rgb(15 31 38 / 8%), 0 24px 48px rgb(15 31 38 / 10%);
--shadow-lux: inset 0 1px 0 rgb(255 255 255 / 65%), 0 12px 32px rgb(15 31 38 / 8%);
--shadow-soft: 0 1px 2px rgb(15 31 38 / 5%), 0 7px 18px rgb(15 31 38 / 5%);
--shadow-tight: 0 1px 2px rgb(15 31 38 / 5%), 0 3px 8px rgb(15 31 38 / 4%);
--shadow-hover: 0 2px 4px rgb(15 31 38 / 7%), 0 10px 24px rgb(15 31 38 / 7%);
--shadow-elevated: 0 1px 2px rgb(15 31 38 / 7%), 0 8px 16px rgb(15 31 38 / 7%), 0 22px 44px rgb(15 31 38 / 8%);
--shadow-lux: inset 0 1px 0 rgb(255 255 255 / 65%), 0 10px 28px rgb(15 31 38 / 6%);
--shadow-inset: inset 0 1px 0 rgb(255 255 255 / 60%);
--ring-focus: 0 0 0 3px color-mix(in srgb, var(--focus) 28%, transparent);
--space-1: 0.25rem;
Expand Down Expand Up @@ -202,18 +202,18 @@
--primary-800: #a3ebe3;
--primary-900: #c8f4ef;

--background: #03080d;
--app-shell: #020d14;
--app-shell-muted: #08232d;
--app-shell-accent: #2bc9bb;
--surface: var(--neutral-0);
--surface-raised: var(--neutral-100);
--surface-subtle: var(--neutral-50);
--surface-inset: #050e17;
--surface-glass: rgb(14 29 43 / 72%);
--background: #0d1318;
--app-shell: #111d24;
--app-shell-muted: #172a34;
--app-shell-accent: #46a39a;
--surface: #101923;
--surface-raised: #15202b;
--surface-subtle: #0f1821;
--surface-inset: #0b1218;
--surface-glass: rgb(20 31 42 / 78%);
--surface-highlight: rgb(255 255 255 / 5%);
--surface-lux: rgb(15 31 47 / 84%);
--surface-wash: #07131d;
--surface-lux: rgb(20 31 42 / 92%);
--surface-wash: #111c25;
--text: var(--neutral-900);
--text-heading: var(--neutral-950);
--text-muted: var(--neutral-600);
Expand Down Expand Up @@ -251,13 +251,13 @@
--disabled: #64748b;
--focus: #7de3d8;

--glow-primary: 0 0 0 1px rgb(51 212 194 / 18%), 0 16px 44px rgb(45 212 191 / 12%);
--glow-soft: 0 0 0 1px rgb(51 212 194 / 12%), 0 12px 30px rgb(0 0 0 / 22%);
--glow-primary: 0 0 0 1px rgb(70 163 154 / 16%), 0 14px 34px rgb(70 163 154 / 10%);
--glow-soft: 0 0 0 1px rgb(70 163 154 / 10%), 0 10px 24px rgb(0 0 0 / 18%);

--shadow-soft: 0 2px 6px rgb(0 0 0 / 32%), 0 12px 28px rgb(0 0 0 / 34%);
--shadow-tight: 0 1px 2px rgb(0 0 0 / 30%), 0 4px 12px rgb(0 0 0 / 28%);
--shadow-hover: 0 4px 10px rgb(0 0 0 / 38%), 0 16px 36px rgb(0 0 0 / 40%);
--shadow-elevated: 0 2px 6px rgb(0 0 0 / 36%), 0 10px 24px rgb(0 0 0 / 40%), 0 28px 56px rgb(0 0 0 / 46%);
--shadow-soft: 0 1px 4px rgb(0 0 0 / 24%), 0 10px 24px rgb(0 0 0 / 26%);
--shadow-tight: 0 1px 2px rgb(0 0 0 / 24%), 0 4px 10px rgb(0 0 0 / 22%);
--shadow-hover: 0 3px 8px rgb(0 0 0 / 30%), 0 14px 30px rgb(0 0 0 / 32%);
--shadow-elevated: 0 2px 6px rgb(0 0 0 / 30%), 0 10px 22px rgb(0 0 0 / 34%), 0 26px 52px rgb(0 0 0 / 38%);
--shadow-lux: inset 0 1px 0 rgb(255 255 255 / 6%), 0 16px 40px rgb(0 0 0 / 44%);
--shadow-inset: inset 0 1px 0 rgb(255 255 255 / 6%);
--ring-focus: 0 0 0 3px color-mix(in srgb, var(--focus) 30%, transparent);
Expand All @@ -272,15 +272,15 @@
html {
min-width: 320px;
background:
radial-gradient(circle at 50% -12%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 34rem),
radial-gradient(circle at 50% -12%, color-mix(in srgb, var(--primary) 5%, transparent), transparent 34rem),
linear-gradient(180deg, var(--background), color-mix(in srgb, var(--background) 90%, var(--surface-inset)));
overflow-x: clip;
}

body {
background:
radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--primary) 9%, transparent), transparent 28rem),
radial-gradient(circle at 98% 12%, color-mix(in srgb, var(--info) 7%, transparent), transparent 26rem),
radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--primary) 4%, transparent), transparent 28rem),
radial-gradient(circle at 98% 12%, color-mix(in srgb, var(--info) 3%, transparent), transparent 26rem),
var(--background);
color: var(--text);
font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif;
Expand Down
Loading
Loading