| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
| :root { |
| font-family: "IBM Plex Sans", "Segoe UI", sans-serif; |
| color: #1A2B62; |
| background: #FFFFFF; |
| } |
|
|
| body { |
| margin: 0; |
| min-height: 100vh; |
| background: #FFFFFF; |
| color: #1A2B62; |
| -webkit-font-smoothing: antialiased; |
| text-rendering: optimizeLegibility; |
| } |
|
|
| a { |
| color: inherit; |
| text-decoration: none; |
| } |
|
|
| button, |
| input, |
| textarea, |
| select { |
| font: inherit; |
| } |
|
|
| ::selection { |
| background: rgba(160, 198, 219, 0.42); |
| } |
|
|
| @layer components { |
| .app-shell { |
| @apply min-h-screen text-slate-800; |
| } |
|
|
| .shell-width { |
| @apply mx-auto max-w-[1440px] px-6 md:px-10; |
| } |
|
|
| .page-kicker { |
| @apply text-[11px] font-semibold uppercase tracking-[0.28em] text-slate-500; |
| } |
|
|
| .page-title { |
| @apply text-2xl font-semibold tracking-[-0.04em] text-ink md:text-3xl; |
| } |
|
|
| .page-intro { |
| @apply max-w-3xl text-sm leading-6 text-slate-600 md:text-[15px]; |
| } |
|
|
| .app-nav-link { |
| @apply border-b-2 border-transparent pb-2 text-sm font-medium text-brand-grey transition-colors hover:text-brand-navy focus-visible:outline-none focus-visible:text-brand-navy; |
| } |
|
|
| .app-nav-link-active { |
| @apply border-brand-adriatic text-brand-navy; |
| } |
|
|
| .action-link { |
| @apply rounded-sm text-sm font-semibold text-brand-adriatic underline decoration-brand-adriatic/30 underline-offset-4 transition hover:text-brand-navy hover:decoration-brand-navy/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-adriatic/20; |
| } |
|
|
| .surface-card { |
| @apply rounded-xl border border-slate-300/80 bg-white; |
| } |
|
|
| .surface-subtle { |
| @apply rounded-xl border border-slate-300/70 bg-[#fbfaf7]; |
| } |
|
|
| .surface-open { |
| @apply border-y border-slate-300/70 bg-transparent; |
| } |
|
|
| .section-heading { |
| @apply flex flex-wrap items-end justify-between gap-3 border-b border-slate-300/70 pb-3; |
| } |
|
|
| .section-heading-title { |
| @apply text-lg font-semibold tracking-[-0.03em] text-ink; |
| } |
|
|
| .section-heading-copy { |
| @apply text-sm leading-6 text-slate-600; |
| } |
|
|
| .briefing-strip { |
| @apply surface-card grid gap-4 overflow-hidden md:grid-cols-4; |
| } |
|
|
| .briefing-metric { |
| @apply px-5 py-4; |
| } |
|
|
| .briefing-metric + .briefing-metric { |
| @apply border-t border-slate-200/80 md:border-l md:border-t-0; |
| } |
|
|
| .briefing-label { |
| @apply text-[11px] font-semibold uppercase tracking-[0.24em] text-slate-500; |
| } |
|
|
| .briefing-value { |
| @apply mt-3 text-xl font-semibold tracking-[-0.03em] text-ink; |
| } |
|
|
| .briefing-meta { |
| @apply mt-2 text-xs leading-5 text-slate-500; |
| } |
|
|
| .ledger-shell { |
| @apply surface-card overflow-x-auto; |
| } |
|
|
| .ledger-table { |
| @apply min-w-full border-collapse text-sm; |
| } |
|
|
| .ledger-table thead th { |
| @apply border-b border-slate-300/80 bg-transparent px-5 py-3 text-left text-[11px] font-semibold uppercase tracking-[0.24em] text-slate-500; |
| } |
|
|
| .ledger-table tbody td { |
| @apply px-5 py-4 align-top text-sm text-slate-700; |
| } |
|
|
| .ledger-table tbody tr { |
| @apply border-b border-slate-200/80; |
| } |
|
|
| .ledger-table tbody tr:last-child { |
| @apply border-b-0; |
| } |
|
|
| .rail-list { |
| @apply divide-y divide-slate-200/80; |
| } |
|
|
| .rail-row { |
| @apply flex items-start justify-between gap-4 py-4 first:pt-0 last:pb-0; |
| } |
|
|
| .advisory-note { |
| @apply rounded-xl border-l-4 border-amber-700 bg-amber-50/70 px-4 py-3; |
| } |
|
|
| .dossier-list { |
| @apply surface-card divide-y divide-slate-200/80 overflow-hidden; |
| } |
|
|
| .dossier-row { |
| @apply grid gap-5 px-5 py-5 md:grid-cols-[minmax(0,1fr)_220px]; |
| } |
|
|
| .dossier-meta { |
| @apply text-xs font-medium uppercase tracking-[0.16em] text-slate-500; |
| } |
|
|
| .dossier-title { |
| @apply mt-2 text-lg font-semibold tracking-[-0.03em] text-ink; |
| } |
|
|
| .dossier-copy { |
| @apply text-sm leading-6 text-slate-700; |
| } |
|
|
| .field-input { |
| @apply rounded-xl border border-brand-grey/40 bg-white px-4 py-3 text-sm text-ink outline-none transition placeholder:text-slate-400 focus:border-brand-adriatic focus:ring-2 focus:ring-brand-adriatic/15; |
| } |
|
|
| .primary-button { |
| @apply rounded-xl bg-brand-navy px-5 py-3 text-sm font-semibold text-white transition hover:bg-brand-adriatic focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-adriatic/25 disabled:cursor-not-allowed disabled:bg-slate-300; |
| } |
|
|
| .secondary-button { |
| @apply rounded-xl border border-brand-grey/40 bg-white px-5 py-3 text-sm font-semibold text-brand-navy transition hover:border-brand-adriatic hover:bg-brand-light-blue/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-adriatic/20; |
| } |
| } |
|
|