:root {
  --c-bg: #faf9f8;
  --c-bg-warm: #fff4eb;
  --c-s0: #ffffff;
  --c-sl: #f4f3f2;
  --c-sh: #e9e8e7;
  --c-sec-cont: #f2e8e0;
  --c-card-selected: #e8ebef;
  --c-pri: #1B3B5A;
  --c-pri-c: #3c5a7b;
  --c-sec: #D4B499;
  --c-warm-display: #735a43;
  --c-os: #1a1c1c;
  --c-osv: #363838;
  --c-err: #B3261E;
  --c-err-bg: #fce8e7;
  --c-ok: #2e6b47;
  --c-ok-bg: #e6f2ec;
  --c-warn: #7a4f00;
  --c-warn-bg: #fff8e6;
  --c-navy700: #234262;
  --c-navy900: #13273e;
  --c-status-in-progress: #1B3B5A;
  --c-status-in-progress-bg: #dce6f1;
  --c-status-scheduled: #363838;
  --c-status-scheduled-bg: #f4f3f2;
  --c-status-due: #b3261e;
  --c-status-due-bg: #fce6e1;
  --c-status-done: #27ae60;
  --c-status-done-bg: #e0f1e5;
  --c-editorial-accent: #8c4a20;
  --c-category-ceremony: #1B3B5A;
  --c-category-reception: #A8835D;
  --c-category-photography: #8C4A20;
  --c-category-attire: #735A43;
  --c-category-flowers: #A85A7A;
  --c-category-decor: #6B4480;
  --c-category-entertainment: #3F4A8C;
  --c-category-stationery: #4A6781;
  --c-category-hair-makeup: #B85A6A;
  --c-category-transport: #2E6B47;
  --c-category-accommodation: #2A6B70;
  --c-category-cake: #9C6B2E;
  --c-category-legal: #4A5568;
  --c-category-gifts: #8B3A4F;
  --c-category-post-wedding: #5F7D5A;
  --c-category-ceremony-surface: #e8eef4;
  --c-category-reception-surface: #f5ede0;
  --c-category-photography-surface: #f7ede6;
  --c-category-attire-surface: #f5ede6;
  --c-category-flowers-surface: #f5e6ec;
  --c-category-decor-surface: #ede5f0;
  --c-category-entertainment-surface: #e6e8f2;
  --c-category-stationery-surface: #e6ecf0;
  --c-category-hair-makeup-surface: #f5e6e8;
  --c-category-transport-surface: #e6f2ec;
  --c-category-accommodation-surface: #e0eced;
  --c-category-cake-surface: #f2e8d8;
  --c-category-legal-surface: #eef0f3;
  --c-category-gifts-surface: #f2e0e5;
  --c-category-post-wedding-surface: #e8eee5;
  --sp-xs: 4px;
  --sp-sm: 8px;
  --sp-md: 12px;
  --sp-lg: 16px;
  --sp-xl: 20px;
  --sp-xxl: 24px;
  --sp-3xl: 32px;
  --sp-4xl: 48px;
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 14px;
  --r-xl: 16px;
  --r-xxl: 22px;
  --r-3xl: 56px;
  --r-card: 14px;
  --r-pill: 999px;
  --shadow-card: 0 4px 32px rgba(27, 59, 90, 0.06);
  --shadow-modal: 0 4px 48px rgba(27, 59, 90, 0.12);
  --shadow-fab: 0 4px 24px rgba(27, 59, 90, 0.28);
  --shadow-card-sm: 0 2px 20px rgba(26, 28, 28, 0.04);
  --shadow-card-lg: 0 3px 32px rgba(26, 28, 28, 0.05);
  --shadow-cta-lift: 0 8px 60px rgba(27, 59, 90, 0.2);
  --grad-primary: linear-gradient(90deg, #1B3B5A, #3c5a7b);
  --grad-hero: linear-gradient(180deg, #234262, #1B3B5A, #13273e);
  --grad-bg-warm: linear-gradient(180deg, #fff4eb, #faf9f8);
}

.t-display { font-family: 'Noto Serif'; font-weight: 700; font-size: 36px; line-height: 47px; letter-spacing: 0px; }
.t-h1 { font-family: 'Noto Serif'; font-weight: 700; font-size: 28px; line-height: 40px; letter-spacing: -0.9px; }
.t-h2 { font-family: 'Manrope'; font-weight: 500; font-size: 22px; line-height: 32px; letter-spacing: 0px; }
.t-h3 { font-family: 'Manrope'; font-weight: 500; font-size: 20px; line-height: 28px; letter-spacing: 0px; }
.t-body-lg { font-family: 'Manrope'; font-weight: 400; font-size: 16px; line-height: 26px; letter-spacing: 0px; }
.t-body { font-family: 'Manrope'; font-weight: 400; font-size: 15px; line-height: 24px; letter-spacing: 0px; }
.t-body-sm { font-family: 'Manrope'; font-weight: 400; font-size: 13px; line-height: 20px; letter-spacing: 0px; }
.t-btn { font-family: 'Manrope'; font-weight: 700; font-size: 14px; line-height: 20px; letter-spacing: 0.2px; }
.t-label { font-family: 'Manrope'; font-weight: 500; font-size: 12px; line-height: 16px; letter-spacing: 0.4px; }
.t-caption { font-family: 'Manrope'; font-weight: 500; font-size: 11px; line-height: 16px; letter-spacing: 2.2px; }
