diff --git a/src/components/ActivityForm.css b/src/components/ActivityForm.css index 2f7bd4b..4d38e37 100644 --- a/src/components/ActivityForm.css +++ b/src/components/ActivityForm.css @@ -6,7 +6,7 @@ .af__loading { color: var(--zk-muted); - font-size: 0.86rem; + font-size: var(--fs-xs); } .af__grid { @@ -26,7 +26,7 @@ } .af__field > span { - font-size: 0.74rem; + font-size: var(--fs-2xs); font-weight: 500; letter-spacing: 0.03em; color: var(--zk-muted); @@ -37,7 +37,7 @@ .af__req { font-style: normal; - font-size: 0.58rem; + font-size: var(--fs-3xs); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; @@ -51,7 +51,7 @@ .af select, .af textarea { font: inherit; - font-size: 0.88rem; + font-size: var(--fs-xs); padding: 10px 12px; border-radius: var(--r-md); border: 1px solid var(--zk-line); @@ -100,7 +100,7 @@ .af__chip { font: inherit; - font-size: 0.78rem; + font-size: var(--fs-2xs); padding: 6px 13px; border-radius: var(--r-pill); cursor: pointer; @@ -133,7 +133,7 @@ .af__submit { font: inherit; - font-size: 0.88rem; + font-size: var(--fs-xs); font-weight: 500; padding: 10px 26px; border-radius: var(--r-md); @@ -164,7 +164,7 @@ .af__ghost { font: inherit; - font-size: 0.88rem; + font-size: var(--fs-xs); padding: 10px 20px; border-radius: var(--r-md); cursor: pointer; @@ -186,7 +186,7 @@ border-left: 3px solid var(--zk-danger); border-radius: var(--r-xs) var(--r-md) var(--r-md) var(--r-xs); padding: 12px 16px; - font-size: 0.84rem; + font-size: var(--fs-xs); color: var(--zk-ink); animation: zk-rise 0.2s var(--ease) both; } @@ -203,13 +203,13 @@ .af__err p { margin: 7px 0 0; - font-size: 0.8rem; + font-size: var(--fs-2xs); color: var(--zk-muted); line-height: 1.55; } .af__auto { - font-size: 0.88rem; + font-size: var(--fs-xs); padding: 10px 12px; border-radius: var(--r-md); min-height: 41px; @@ -223,7 +223,7 @@ } .af__auto span { - font-size: 0.58rem; + font-size: var(--fs-3xs); font-weight: 500; letter-spacing: 0.09em; text-transform: uppercase; @@ -247,7 +247,7 @@ .ff__btn { font: inherit; - font-size: 0.84rem; + font-size: var(--fs-xs); font-weight: 500; padding: 14px 14px; border-radius: var(--r-md); @@ -273,7 +273,7 @@ } .ff__got { - font-size: 0.78rem; + font-size: var(--fs-2xs); color: var(--zk-muted); overflow: hidden; text-overflow: ellipsis; @@ -293,7 +293,7 @@ } .ff__readlabel { - font-size: 0.6rem; + font-size: var(--fs-3xs); font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; @@ -302,7 +302,7 @@ } .ff__read div { - font-size: 0.8rem; + font-size: var(--fs-2xs); color: var(--zk-ink); } @@ -311,11 +311,11 @@ color: var(--zk-grey); text-transform: capitalize; margin-right: 6px; - font-size: 0.72rem; + font-size: var(--fs-2xs); } .ff__err { - font-size: 0.78rem; + font-size: var(--fs-2xs); color: var(--zk-danger-ink); background: var(--zk-danger-tint); border: 1px solid var(--zk-danger-line); diff --git a/src/components/AgentCard.css b/src/components/AgentCard.css index 9ee1b92..1aefdc5 100644 --- a/src/components/AgentCard.css +++ b/src/components/AgentCard.css @@ -8,12 +8,12 @@ border-bottom: 1px solid var(--zk-line-soft); } -.card__disc { width: 38px !important; height: 38px !important; font-size: 0.86rem !important; flex: none; } +.card__disc { width: 38px !important; height: 38px !important; font-size: var(--fs-xs) !important; flex: none; } .card__head > div { flex: 1; min-width: 0; } -.card__head h3 { margin: 0 0 3px; font-size: 1rem; font-weight: 500; color: var(--zk-ink); } -.card__head p { margin: 0; font-size: 0.82rem; line-height: 1.45; color: var(--zk-muted); } +.card__head h3 { margin: 0 0 3px; font-size: var(--fs-md); font-weight: 500; color: var(--zk-ink); } +.card__head p { margin: 0; font-size: var(--fs-2xs); line-height: 1.45; color: var(--zk-muted); } .card__head button { flex: none; @@ -36,14 +36,14 @@ .card__body h4 { margin: 0 0 8px; - font-size: 0.64rem; + font-size: var(--fs-3xs); font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--zk-grey); } -.card__body p { margin: 0; font-size: 0.84rem; line-height: 1.55; color: var(--zk-muted); } +.card__body p { margin: 0; font-size: var(--fs-xs); line-height: 1.55; color: var(--zk-muted); } .card__tools { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; } .card__tools li { @@ -55,11 +55,11 @@ .card__tools code { display: block; margin-bottom: 5px; - font-size: 0.78rem; + font-size: var(--fs-2xs); font-weight: 600; color: var(--zk-blue-dark); } -.card__tools span { font-size: 0.81rem; line-height: 1.5; color: var(--zk-muted); } +.card__tools span { font-size: var(--fs-2xs); line-height: 1.5; color: var(--zk-muted); } /* "No tools" is the most reassuring fact about an agent writing into an insurance file. An empty section would read as missing data instead. */ @@ -72,7 +72,7 @@ .card__kb { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; } .card__kb li { - font-size: 0.78rem; + font-size: var(--fs-2xs); padding: 4px 11px; border-radius: var(--r-pill); background: var(--zk-tint-blue); @@ -83,6 +83,6 @@ margin-top: 20px !important; padding-top: 14px; border-top: 1px solid var(--zk-line-soft); - font-size: 0.75rem !important; + font-size: var(--fs-2xs) !important; color: var(--zk-grey) !important; } diff --git a/src/components/AgentChip.css b/src/components/AgentChip.css index 59255a6..e3f2423 100644 --- a/src/components/AgentChip.css +++ b/src/components/AgentChip.css @@ -8,17 +8,17 @@ width: 20px; height: 20px; border-radius: 50%; - font-size: 0.58rem; + font-size: var(--fs-2xs); font-weight: 600; letter-spacing: 0.02em; color: #fff; user-select: none; } -.who--md .who__disc { width: 26px; height: 26px; font-size: 0.66rem; } +.who--md .who__disc { width: 26px; height: 26px; font-size: var(--fs-2xs); } .who__name { - font-size: 0.76rem; + font-size: var(--fs-2xs); font-weight: 500; color: var(--zk-muted); white-space: nowrap; diff --git a/src/components/ClampText.css b/src/components/ClampText.css index 30131b2..6dd1050 100644 --- a/src/components/ClampText.css +++ b/src/components/ClampText.css @@ -7,7 +7,7 @@ .clamp__text { margin: 0; - font-size: 0.86rem; + font-size: var(--fs-sm); line-height: 1.6; color: var(--zk-ink); white-space: pre-wrap; @@ -26,7 +26,7 @@ .clamp__more { font: inherit; - font-size: 0.76rem; + font-size: var(--fs-2xs); font-weight: 500; display: inline-flex; align-items: center; @@ -54,7 +54,7 @@ is that the finding can be read without opening anything. */ .clamp__lead { margin: 0; - font-size: 0.9rem; + font-size: var(--fs-sm); line-height: 1.5; color: var(--zk-ink); font-weight: 500; @@ -66,7 +66,7 @@ can be read without opening anything. */ .clamp__lead { margin: 0; - font-size: 0.9rem; + font-size: var(--fs-sm); line-height: 1.5; font-weight: 500; color: var(--zk-ink); @@ -114,7 +114,7 @@ .prose__head h3 { margin: 0; - font-size: 0.95rem; + font-size: var(--fs-sm); font-weight: 500; line-height: 1.35; color: var(--zk-ink); @@ -143,7 +143,7 @@ .prose__body p { margin: 0 0 12px; - font-size: 0.875rem; + font-size: var(--fs-xs); line-height: 1.62; color: var(--zk-muted); white-space: pre-wrap; @@ -153,7 +153,7 @@ /* The finding, kept at the top and kept emphasised: a reader who opened this to check one thing should not have to find it again. */ .prose__lead { - font-size: 0.92rem !important; + font-size: var(--fs-sm) !important; font-weight: 500; color: var(--zk-ink) !important; padding-bottom: 12px; diff --git a/src/components/Conversation.css b/src/components/Conversation.css index d9e55b8..d77f78c 100644 --- a/src/components/Conversation.css +++ b/src/components/Conversation.css @@ -12,7 +12,7 @@ margin: 0; padding: 24px 0; text-align: center; - font-size: 0.85rem; + font-size: var(--fs-xs); color: var(--zk-grey); } @@ -26,7 +26,7 @@ .bub p { margin: 0; - font-size: 0.86rem; + font-size: var(--fs-sm); line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; @@ -35,7 +35,7 @@ .bub span { display: block; margin-top: 4px; - font-size: 0.66rem; + font-size: var(--fs-2xs); opacity: 0.65; } @@ -57,7 +57,7 @@ margin: 0; padding: 12px 22px 18px; border-top: 1px solid var(--zk-line-soft); - font-size: 0.72rem; + font-size: var(--fs-2xs); line-height: 1.5; color: var(--zk-grey); } @@ -68,7 +68,7 @@ margin: 0; padding: 14px 16px; font: inherit; - font-size: 0.82rem; + font-size: var(--fs-2xs); line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; diff --git a/src/components/LeadFileDialog.css b/src/components/LeadFileDialog.css index 656ad2a..f99192e 100644 --- a/src/components/LeadFileDialog.css +++ b/src/components/LeadFileDialog.css @@ -4,7 +4,7 @@ .lfd__sub { margin: 4px 0 0; - font-size: 0.78rem; + font-size: var(--fs-2xs); line-height: 1.5; color: var(--zk-muted); } @@ -40,7 +40,7 @@ outline: none; background: none; font: inherit; - font-size: 0.84rem; + font-size: var(--fs-xs); color: var(--zk-ink); } @@ -48,7 +48,7 @@ .lfd__count { flex: none; - font-size: 0.74rem; + font-size: var(--fs-2xs); color: var(--zk-muted); font-variant-numeric: tabular-nums; } @@ -60,6 +60,6 @@ margin: 0; padding: 44px 24px; text-align: center; - font-size: 0.86rem; + font-size: var(--fs-xs); color: var(--zk-grey); } diff --git a/src/components/NewLeadDialog.css b/src/components/NewLeadDialog.css index dda698f..9885c46 100644 --- a/src/components/NewLeadDialog.css +++ b/src/components/NewLeadDialog.css @@ -5,7 +5,7 @@ .nld__sub { margin: 4px 0 0; - font-size: 0.78rem; + font-size: var(--fs-2xs); line-height: 1.5; color: var(--zk-muted); max-width: 62ch; diff --git a/src/components/StageRail.css b/src/components/StageRail.css index 454b190..e613dcc 100644 --- a/src/components/StageRail.css +++ b/src/components/StageRail.css @@ -3,12 +3,13 @@ .rail { display: flex; align-items: center; - gap: 20px; + gap: var(--sp-6); flex-wrap: wrap; - margin-bottom: 20px; - padding: 16px 22px; + margin-bottom: var(--sp-5); + padding: var(--sp-6) var(--sp-7); border-radius: var(--r-lg); - border: 1px solid var(--zk-line); + border: 1px solid var(--zk-line-soft); + box-shadow: var(--sh-sm); background: var(--zk-white); } @@ -27,24 +28,26 @@ display: flex; flex-direction: column; align-items: center; - gap: 7px; + gap: var(--sp-3); flex: 1; min-width: 0; text-align: center; } .rail__dot { - width: 11px; - height: 11px; + width: 14px; + height: 14px; border-radius: 50%; flex: none; background: var(--zk-white); border: 2px solid var(--zk-line); z-index: 1; + transition: background var(--t-fast), border-color var(--t-fast); } .rail__l { - font-size: 0.72rem; + font-size: var(--fs-2xs); + font-weight: var(--fw-medium); color: var(--zk-grey); white-space: nowrap; overflow: hidden; @@ -55,7 +58,7 @@ /* The connector sits behind the dots, drawn from each step to the next. */ .rail__bar { position: absolute; - top: 4.5px; + top: 6px; left: 50%; width: 100%; height: 2px; @@ -69,19 +72,24 @@ .is-here .rail__dot { background: var(--zk-blue); border-color: var(--zk-blue); - box-shadow: 0 0 0 4px rgba(33, 103, 174, 0.16); + box-shadow: 0 0 0 5px rgba(33, 103, 174, 0.15); +} +.is-here .rail__l { + color: var(--zk-blue-dark); + font-weight: var(--fw-semi); + font-size: var(--fs-xs); } -.is-here .rail__l { color: var(--zk-blue-dark); font-weight: 600; } /* Off the path — Parked, Referred, Lost, Declined. Named rather than drawn into the row: these are departures, not points every lead passes. */ .rail__off { flex: none; - font-size: 0.78rem; + font-size: var(--fs-xs); + font-weight: var(--fw-medium); color: var(--zk-amber-ink); background: var(--zk-amber-tint); border: 1px solid var(--zk-amber-line); - padding: 6px 14px; + padding: var(--sp-2) var(--sp-4); border-radius: var(--r-pill); } .rail__off.is-closed { diff --git a/src/components/Timeline.css b/src/components/Timeline.css index 2af431a..afefe8b 100644 --- a/src/components/Timeline.css +++ b/src/components/Timeline.css @@ -7,7 +7,7 @@ .tl__loading, .tl__err { color: var(--zk-muted); - font-size: 0.86rem; + font-size: var(--fs-xs); padding: 14px 2px; } @@ -17,7 +17,7 @@ .tl__item { position: relative; - padding: 0 0 18px 26px; + padding: 0 0 var(--sp-6) var(--sp-7); border-left: 2px solid var(--zk-line-soft); } @@ -88,13 +88,13 @@ } .tl__what { - font-size: 0.89rem; + font-size: var(--fs-sm); font-weight: 500; color: var(--zk-ink); } .tl__who { - font-size: 0.66rem; + font-size: var(--fs-2xs); font-weight: 500; letter-spacing: 0.03em; padding: 3px 9px; @@ -119,12 +119,12 @@ } .tl__stage { - font-size: 0.78rem; + font-size: var(--fs-2xs); color: var(--zk-blue); } .tl__when { - font-size: 0.72rem; + font-size: var(--fs-2xs); color: var(--zk-grey); } @@ -142,7 +142,7 @@ .tl__saylabel { display: block; - font-size: 0.62rem; + font-size: var(--fs-3xs); font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; @@ -152,10 +152,10 @@ .tl__say p { margin: 0; - font-size: 0.84rem; - line-height: 1.55; + font-size: var(--fs-sm); + line-height: var(--lh-normal); color: var(--zk-muted); - max-width: 78ch; + max-width: 76ch; } .tl__figs { @@ -166,7 +166,7 @@ } .tl__figs span { - font-size: 0.8rem; + font-size: var(--fs-2xs); color: var(--zk-ink); font-variant-numeric: tabular-nums; padding: 4px 11px; @@ -177,7 +177,7 @@ .tl__figs em { font-style: normal; - font-size: 0.68rem; + font-size: var(--fs-2xs); color: var(--zk-grey); text-transform: capitalize; margin-right: 5px; @@ -186,7 +186,7 @@ /* ---- system noise ---- */ .tl__toggle { font: inherit; - font-size: 0.72rem; + font-size: var(--fs-2xs); font-weight: 500; cursor: pointer; margin-bottom: 14px; @@ -219,7 +219,7 @@ .tl__docshead { display: block; - font-size: 0.74rem; + font-size: var(--fs-3xs); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; @@ -233,7 +233,7 @@ display: inline-flex; align-items: center; gap: 5px; - font-size: 0.78rem; + font-size: var(--fs-2xs); text-decoration: none; padding: 4px 10px 4px 8px; border-radius: var(--r-pill, 999px); @@ -253,14 +253,14 @@ display: inline-flex; align-items: center; gap: 6px; - font-size: 0.9rem; + font-size: var(--fs-sm); font-weight: 500; color: #0f7b45; } .tl__wa svg { width: 15px; height: 15px; } .tl__n { - font-size: 0.72rem; + font-size: var(--fs-2xs); font-variant-numeric: tabular-nums; color: var(--zk-muted); padding: 1px 8px; @@ -274,7 +274,7 @@ .tl__open { font: inherit; - font-size: 0.72rem; + font-size: var(--fs-2xs); font-weight: 500; cursor: pointer; padding: 0; @@ -303,7 +303,7 @@ display: inline-flex; align-items: center; gap: 6px; - font-size: 0.72rem; + font-size: var(--fs-2xs); font-weight: 500; color: var(--zk-blue); } @@ -335,7 +335,7 @@ .tl__wrote dt { flex: none; width: 42%; - font-size: 0.72rem; + font-size: var(--fs-2xs); color: var(--zk-grey); overflow-wrap: anywhere; } @@ -344,7 +344,7 @@ margin: 0; flex: 1; min-width: 0; - font-size: 0.75rem; + font-size: var(--fs-2xs); color: var(--zk-ink); overflow-wrap: anywhere; } diff --git a/src/index.css b/src/index.css index 7101e74..1b83981 100644 --- a/src/index.css +++ b/src/index.css @@ -55,10 +55,11 @@ One scale, used everywhere. The palette above is untouched; every shadow below is the brand navy at low alpha, so depth reads as part of the brand rather than as generic grey haze. */ - --r-xs: 4px; - --r-sm: 6px; - --r-md: 10px; - --r-lg: 14px; + --r-xs: 6px; + --r-sm: 8px; + --r-md: 12px; + --r-lg: 16px; + --r-xl: 20px; --r-pill: 999px; --sh-xs: 0 1px 2px rgba(35, 54, 111, 0.05); @@ -75,12 +76,57 @@ --grad-blue: linear-gradient(135deg, var(--zk-blue) 0%, var(--zk-blue-deep) 100%); --grad-blue-hover: linear-gradient(135deg, var(--zk-blue-dark) 0%, var(--zk-navy) 100%); + /* ── TYPE SCALE ─────────────────────────────────────────────── + The app had FIFTY-FOUR distinct font sizes, and forty of them sat + between 0.58rem and 0.95rem — a three-pixel band. The most-used size + was 0.78rem, which is 12.5px of body copy. That is not a hierarchy; + it is a fog of small grey text, and it is exactly why the screen read + as a decade-old enterprise tool. Nothing could be emphasised, because + everything was already the same size. + + Nine steps, with real jumps between them. Body sits at 15px, labels + at 14, and 12px is the FLOOR — reserved for uppercase eyebrows, never + for anything a person has to read. Size does the prioritising so the + reader does not have to. */ + --fs-3xs: 0.75rem; /* 12px — uppercase eyebrows only */ + --fs-2xs: 0.8125rem; /* 13px — timestamps, meta */ + --fs-xs: 0.875rem; /* 14px — field labels */ + --fs-sm: 0.9375rem; /* 15px — body, field values */ + --fs-md: 1rem; /* 16px — emphasis */ + --fs-lg: 1.125rem; /* 18px — panel titles */ + --fs-xl: 1.375rem; /* 22px — section headings */ + --fs-2xl: 1.75rem; /* 28px — page title */ + --fs-3xl: 2.25rem; /* 36px — the one number that matters */ + + --lh-tight: 1.25; + --lh-snug: 1.4; + --lh-normal: 1.55; + + --fw-normal: 400; + --fw-medium: 500; + --fw-semi: 600; + + /* ── SPACING ────────────────────────────────────────────────── + One rhythm. Panels breathe at 24-28px rather than 14-18px, which is + the other half of why this felt cramped. */ + --sp-1: 4px; + --sp-2: 8px; + --sp-3: 12px; + --sp-4: 16px; + --sp-5: 20px; + --sp-6: 24px; + --sp-7: 32px; + --sp-8: 40px; + --sp-9: 56px; + --font-zurich: 'Zurich Sans', Arial, Helvetica, sans-serif; --font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace; font-family: var(--font-zurich); + /* The root MUST stay an absolute size — every --fs-* token is rem, so + sizing the root from one of them is circular. */ font-size: 16px; - line-height: 1.5; + line-height: var(--lh-normal); color: var(--zk-ink); background: var(--zk-tint); -webkit-font-smoothing: antialiased; diff --git a/src/layout/Shell.css b/src/layout/Shell.css index 9f36ab0..bddcf1d 100644 --- a/src/layout/Shell.css +++ b/src/layout/Shell.css @@ -46,14 +46,14 @@ } .shell__brandtext strong { - font-size: 0.95rem; + font-size: var(--fs-sm); font-weight: 500; letter-spacing: -0.005em; color: var(--zk-ink); } .shell__brandtext span { - font-size: 0.7rem; + font-size: var(--fs-3xs); font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; @@ -88,7 +88,7 @@ .shell__navlabel { margin: 0 0 10px; padding: 0 10px; - font-size: 0.64rem; + font-size: var(--fs-3xs); font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; @@ -129,7 +129,7 @@ border-radius: var(--r-md); text-decoration: none; color: var(--zk-muted); - font-size: 0.845rem; + font-size: var(--fs-xs); transition: background var(--t-fast), color var(--t-fast), transform var(--t-fast); } @@ -246,7 +246,7 @@ margin: 0 0 8px; padding: 9px 12px; border-radius: var(--r-sm); - font-size: 14px; + font-size: var(--fs-xs); font-weight: 500; color: var(--zk-ink); text-decoration: none; @@ -272,7 +272,7 @@ padding: 1px 6px; border-radius: var(--r-pill); text-align: center; - font-size: 0.74rem; + font-size: var(--fs-2xs); font-weight: 600; font-variant-numeric: tabular-nums; color: var(--zk-blue-dark); @@ -291,7 +291,7 @@ it is in the queue, it is not your work. */ .shell__auto { font-style: normal; - font-size: 0.7rem; + font-size: var(--fs-2xs); font-variant-numeric: tabular-nums; color: var(--zk-blue-mid); } @@ -324,7 +324,7 @@ } .shell__grouptally { - font-size: 0.68rem; + font-size: var(--fs-2xs); font-weight: 600; letter-spacing: 0; font-variant-numeric: tabular-nums; @@ -346,7 +346,7 @@ cursor: pointer; list-style: none; padding: 0 10px 10px; - font-size: 0.64rem; + font-size: var(--fs-3xs); font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; @@ -355,7 +355,7 @@ .shell__closed > summary::-webkit-details-marker { display: none; } .shell__closed > summary:hover { color: var(--zk-muted); } .shell__closed > summary b { - font-size: 0.72rem; + font-size: var(--fs-2xs); font-weight: 500; letter-spacing: 0; font-variant-numeric: tabular-nums; diff --git a/src/layout/UserMenu.css b/src/layout/UserMenu.css index 02b7d88..b3d5912 100644 --- a/src/layout/UserMenu.css +++ b/src/layout/UserMenu.css @@ -40,7 +40,7 @@ place-items: center; background: var(--grad-blue); color: var(--zk-white); - font-size: 0.72rem; + font-size: var(--fs-2xs); font-weight: 500; letter-spacing: 0.03em; box-shadow: var(--sh-xs); @@ -49,7 +49,7 @@ .um__avatar--lg { width: 40px; height: 40px; - font-size: 0.86rem; + font-size: var(--fs-xs); } .um__id { @@ -60,12 +60,12 @@ } .um__id strong { - font-size: 0.85rem; + font-size: var(--fs-xs); font-weight: 500; } .um__id > span { - font-size: 0.7rem; + font-size: var(--fs-2xs); color: var(--zk-muted); } @@ -112,12 +112,12 @@ } .um__headid strong { - font-size: 0.87rem; + font-size: var(--fs-xs); font-weight: 500; } .um__headid span { - font-size: 0.72rem; + font-size: var(--fs-2xs); color: var(--zk-muted); overflow-wrap: anywhere; } @@ -125,7 +125,7 @@ .um__headid .um__roles { margin-top: 4px; align-self: flex-start; - font-size: 0.68rem; + font-size: var(--fs-2xs); font-weight: 500; color: var(--zk-blue-dark); background: var(--zk-tint-blue); @@ -139,7 +139,7 @@ text-align: left; cursor: pointer; font: inherit; - font-size: 0.82rem; + font-size: var(--fs-2xs); padding: 10px 11px; border-radius: var(--r-sm); background: none; diff --git a/src/pages/Login.css b/src/pages/Login.css index 77c6ff7..cabccf7 100644 --- a/src/pages/Login.css +++ b/src/pages/Login.css @@ -68,7 +68,7 @@ border-radius: 999px; background: rgba(255, 255, 255, 0.08); color: var(--zk-cyan); - font-size: 13px; + font-size: var(--fs-2xs); font-weight: 400; letter-spacing: 0.01em; } @@ -81,7 +81,7 @@ .login__headline { /* Zurich Kotak set their hero in Zurich Sans Light */ margin: 26px 0 0; - font-size: 44px; + font-size: var(--fs-3xl); font-weight: 300; line-height: 1.16; letter-spacing: -0.01em; @@ -104,7 +104,7 @@ margin: 16px 0 0; max-width: 430px; text-wrap: balance; - font-size: 16px; + font-size: var(--fs-md); font-weight: 300; line-height: 1.5; color: rgba(255, 255, 255, 0.8); @@ -144,7 +144,7 @@ .login__features strong { display: block; - font-size: 15px; + font-size: var(--fs-sm); font-weight: 500; letter-spacing: 0.005em; } @@ -152,7 +152,7 @@ .login__features em { display: block; margin-top: 3px; - font-size: 14px; + font-size: var(--fs-xs); font-style: normal; font-weight: 300; color: rgba(255, 255, 255, 0.74); @@ -178,7 +178,7 @@ .login__title { margin: 0; - font-size: 30px; + font-size: var(--fs-2xl); font-weight: 500; letter-spacing: -0.015em; color: var(--zk-navy); @@ -186,7 +186,7 @@ .login__subtitle { margin: 8px 0 0; - font-size: 14px; + font-size: var(--fs-xs); font-weight: 300; color: var(--zk-muted); } @@ -201,7 +201,7 @@ .login__field span { display: block; margin-bottom: 7px; - font-size: 13px; + font-size: var(--fs-2xs); font-weight: 500; color: var(--zk-ink); } @@ -212,7 +212,7 @@ border: 1px solid var(--zk-line); border-radius: 8px; background: var(--zk-white); - font-size: 14px; + font-size: var(--fs-xs); font-weight: 400; color: var(--zk-ink); transition: @@ -232,7 +232,7 @@ .login__error { margin: -4px 0 0; - font-size: 13px; + font-size: var(--fs-2xs); color: var(--zk-danger); } @@ -247,7 +247,7 @@ border-radius: 8px; background: var(--zk-blue); color: var(--zk-white); - font-size: 14px; + font-size: var(--fs-xs); font-weight: 500; cursor: pointer; transition: @@ -277,7 +277,7 @@ .login__powered { margin: 26px 0 0; text-align: center; - font-size: 12px; + font-size: var(--fs-2xs); font-weight: 300; color: var(--zk-grey); } @@ -296,11 +296,11 @@ } .login__headline { - font-size: 36px; + font-size: var(--fs-3xl); } .login__lede { - font-size: 15px; + font-size: var(--fs-sm); } } diff --git a/src/screens/Lead.jsx b/src/screens/Lead.jsx index b2988e4..034c1fa 100644 --- a/src/screens/Lead.jsx +++ b/src/screens/Lead.jsx @@ -427,12 +427,12 @@ export default function Lead() { {dwell === null ? '—' : dwell === 0 ? '<1d' : dwell + 'd'} last activity {row.updated_at ? fmtWhen(row.updated_at) : '—'} -