/* ═══════════════════════════════════════════════════════════════
   TeamLinkUp — Starbase Terminal
   Tokens → skins × luminance → components.
   Fonts: self-hosted IBM Plex Sans + JetBrains Mono.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --tlu-page: #14181C;
  --tlu-page-from: var(--tlu-page);
  --tlu-page-to: var(--tlu-page);
  --tlu-page-mid: var(--tlu-page);
  --tlu-page-end: var(--tlu-page);
  --tlu-radial-a: transparent;
  --tlu-radial-b: transparent;
  --tlu-surface: #1C2228;
  --tlu-surface-2: #252C34;
  --tlu-surface-3: #2E3640;
  --tlu-ink: #E8E4DC;
  --tlu-muted: #9A958A;
  --tlu-border: #2A3036;
  --tlu-border-subtle: #1A2026;
  --tlu-brand: #D4893A;
  --tlu-brand-hover: #E39A4C;
  --tlu-brand-muted: #B56E28;
  --tlu-brand-soft: rgba(212, 137, 58, .14);
  --tlu-brand-glow: transparent;
  --tlu-link: #E8E4DC;
  --tlu-danger: #E24B3A;
  --tlu-ok: #4EBA78;
  --tlu-header-bg: #1C2228;
  --tlu-header-scrolled: #1C2228;
  --tlu-header-h: 2.75rem;
  --tlu-input-bg: #252C34;
  --tlu-grid-line: rgba(255, 255, 255, .04);
  --tlu-cal-grid: #2A3036;
  --tlu-cal-today: color-mix(in srgb, var(--tlu-brand) 10%, transparent);
  --tlu-radius: 0.375rem;
  --tlu-radius-sm: 0.25rem;
  --tlu-radius-lg: 0.5rem;
  --tlu-card-shadow: 0 1px 0 rgba(255,255,255,.05), 0 16px 40px -28px rgba(0,0,0,.9);
  --tlu-card-shadow-hover: 0 1px 0 rgba(255,255,255,.06), 0 18px 40px -24px rgba(0,0,0,.92);
  --tlu-pop-shadow: 0 24px 60px -22px rgba(0,0,0,.95);
  --tlu-space-scale: 1;
}

/* Night Ops — dark (also default :root) */
html.tlu-theme-dark,
html.tlu-theme-system.tlu-os-dark,
html.tlu-theme-dark.tlu-scheme-nightops,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-nightops {
  color-scheme: dark;
  --tlu-page: #14181C; --tlu-surface: #1C2228; --tlu-surface-2: #252C34; --tlu-surface-3: #2E3640;
  --tlu-ink: #E8E4DC; --tlu-muted: #9A958A; --tlu-border: #2A3036; --tlu-border-subtle: #1A2026;
  --tlu-brand: #D4893A; --tlu-brand-hover: #E39A4C; --tlu-brand-muted: #B56E28;
  --tlu-brand-soft: rgba(212,137,58,.14); --tlu-brand-glow: transparent; --tlu-link: #E8E4DC;
  --tlu-danger: #E24B3A; --tlu-ok: #4EBA78;
  --tlu-header-bg: #1C2228; --tlu-header-scrolled: #1C2228; --tlu-input-bg: #252C34;
  --tlu-grid-line: rgba(255,255,255,.04); --tlu-cal-grid: #2A3036;
  --tlu-card-shadow: 0 1px 0 rgba(255,255,255,.05), 0 16px 40px -28px rgba(0,0,0,.9);
  --tlu-card-shadow-hover: 0 1px 0 rgba(255,255,255,.06), 0 18px 40px -24px rgba(0,0,0,.92);
  --tlu-pop-shadow: 0 24px 60px -22px rgba(0,0,0,.95);
}

/* Night Ops — light */
html.tlu-theme-light,
html.tlu-theme-system:not(.tlu-os-dark),
html.tlu-theme-light.tlu-scheme-nightops,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-nightops {
  color-scheme: light;
  --tlu-page: #E2DCD0; --tlu-surface: #F0EBE1; --tlu-surface-2: #E6DFD3; --tlu-surface-3: #D8D0C2;
  --tlu-ink: #1A1714; --tlu-muted: #5C564C; --tlu-border: #D4C9B8; --tlu-border-subtle: #EBE4D8;
  --tlu-brand: #9A4E12; --tlu-brand-hover: #7A3C0C; --tlu-brand-muted: #C47A3A;
  --tlu-brand-soft: rgba(154,78,18,.10); --tlu-brand-glow: transparent; --tlu-link: #1A1714;
  --tlu-danger: #B42318; --tlu-ok: #1F7A45;
  --tlu-header-bg: #F0EBE1; --tlu-header-scrolled: #F0EBE1; --tlu-input-bg: #F0EBE1;
  --tlu-grid-line: rgba(26,23,20,.06); --tlu-cal-grid: #D4C9B8;
  --tlu-card-shadow: 0 1px 3px rgba(0,0,0,.04);
  --tlu-card-shadow-hover: 0 8px 24px -12px rgba(0,0,0,.12);
  --tlu-pop-shadow: 0 20px 40px -18px rgba(26,23,20,.16);
}

/* Starbase */
html.tlu-theme-dark.tlu-scheme-starbase,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-starbase {
  --tlu-page: #12100C; --tlu-surface: #1A1712; --tlu-surface-2: #241F18; --tlu-surface-3: #2E2820;
  --tlu-ink: #EDE6D9; --tlu-muted: #A39A8A; --tlu-border: #3A342C; --tlu-border-subtle: #2A241C;
  --tlu-brand: #E39A4C; --tlu-brand-hover: #F0B05C; --tlu-brand-muted: #C47A3A;
  --tlu-brand-soft: rgba(227,154,76,.16); --tlu-link: #EDE6D9;
  --tlu-header-bg: #1A1712; --tlu-header-scrolled: #1A1712; --tlu-input-bg: #241F18;
  --tlu-cal-grid: #3A342C;
}
html.tlu-theme-light.tlu-scheme-starbase,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-starbase {
  --tlu-page: #EDE6D9; --tlu-surface: #F7F1E6; --tlu-surface-2: #E7DFD0; --tlu-surface-3: #D9D0C0;
  --tlu-ink: #1A1714; --tlu-muted: #5C564C; --tlu-border: #C9BFAE; --tlu-border-subtle: #E7DFD0;
  --tlu-brand: #9A4E12; --tlu-brand-hover: #7A3C0C; --tlu-brand-muted: #C47A3A;
  --tlu-brand-soft: rgba(154,78,18,.10); --tlu-link: #1A1714;
  --tlu-header-bg: #F7F1E6; --tlu-header-scrolled: #F7F1E6; --tlu-input-bg: #FFFEF8;
  --tlu-cal-grid: #C9BFAE;
}

/* High-viz */
html.tlu-theme-dark.tlu-scheme-highviz,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-highviz {
  --tlu-page: #000000; --tlu-surface: #0A0A0A; --tlu-surface-2: #141414; --tlu-surface-3: #1C1C1C;
  --tlu-ink: #F5F5F0; --tlu-muted: #E6E1C4; --tlu-border: #F0E14A; --tlu-border-subtle: #2A2A00;
  --tlu-brand: #F0E14A; --tlu-brand-hover: #FFF36A; --tlu-brand-muted: #C4B83A;
  --tlu-brand-soft: rgba(240,225,74,.16); --tlu-link: #F5F5F0;
  --tlu-danger: #FF5A4A; --tlu-ok: #5DFF9A;
  --tlu-header-bg: #000000; --tlu-header-scrolled: #000000; --tlu-input-bg: #0A0A0A;
  --tlu-grid-line: rgba(240,225,74,.12); --tlu-cal-grid: rgba(240,225,74,.18);
  --tlu-cal-today: rgba(240,225,74,.10);
  --tlu-radius: 0.125rem; --tlu-card-shadow: none;
}
html.tlu-theme-light.tlu-scheme-highviz,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-highviz {
  --tlu-page: #FFFCE6; --tlu-surface: #FFFFFF; --tlu-surface-2: #FFF8C2; --tlu-surface-3: #F5ECA0;
  --tlu-ink: #1A1700; --tlu-muted: #4A4200; --tlu-border: #6B5A00; --tlu-border-subtle: #F5ECA0;
  --tlu-brand: #6B5A00; --tlu-brand-hover: #4A4200; --tlu-brand-muted: #6B5A00;
  --tlu-brand-soft: rgba(107,90,0,.12); --tlu-link: #1A1700;
  --tlu-danger: #9B1C1C; --tlu-ok: #146C3A;
  --tlu-header-bg: #FFFCE6; --tlu-header-scrolled: #FFFCE6; --tlu-input-bg: #FFFFFF;
  --tlu-grid-line: rgba(107,90,0,.12); --tlu-cal-grid: rgba(107,90,0,.28);
  --tlu-cal-today: rgba(107,90,0,.10);
  --tlu-radius: 0.125rem; --tlu-card-shadow: none;
}

/* Print-paper (always light) */
html.tlu-scheme-print {
  color-scheme: light;
  --tlu-page: #FFFEF8; --tlu-surface: #FFFFFF; --tlu-surface-2: #F4F1EA; --tlu-surface-3: #EBE6DC;
  --tlu-ink: #111111; --tlu-muted: #444444; --tlu-border: #D0CCC0; --tlu-border-subtle: #EBE6DC;
  --tlu-brand: #1A1714; --tlu-brand-hover: #000000; --tlu-brand-muted: #444444;
  --tlu-brand-soft: rgba(0,0,0,.06); --tlu-link: #111111;
  --tlu-danger: #9B1C1C; --tlu-ok: #146C3A;
  --tlu-header-bg: #FFFFFF; --tlu-header-scrolled: #FFFFFF; --tlu-input-bg: #FFFEF8;
  --tlu-grid-line: transparent; --tlu-cal-grid: #D0CCC0; --tlu-cal-today: rgba(0,0,0,.04);
  --tlu-radius: 0.25rem; --tlu-card-shadow: none; --tlu-card-shadow-hover: none; --tlu-pop-shadow: none;
}

/* Accents overlay brand only. Dark host = Night Ops; light host = Starbase. */
html.tlu-theme-dark.tlu-scheme-copper, html.tlu-theme-system.tlu-os-dark.tlu-scheme-copper { --tlu-brand: #D4893A; --tlu-brand-hover: #E39A4C; --tlu-brand-muted: #B56E28; --tlu-brand-soft: rgba(212,137,58,.14); }
html.tlu-theme-light.tlu-scheme-copper, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-copper { --tlu-brand: #9A4E12; --tlu-brand-hover: #7A3C0C; --tlu-brand-muted: #C47A3A; --tlu-brand-soft: rgba(154,78,18,.10); }
html.tlu-theme-dark.tlu-scheme-steel, html.tlu-theme-system.tlu-os-dark.tlu-scheme-steel { --tlu-brand: #8A9AA8; --tlu-brand-hover: #A8B6C2; --tlu-brand-muted: #6A7A88; --tlu-brand-soft: rgba(138,154,168,.16); }
html.tlu-theme-light.tlu-scheme-steel, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-steel { --tlu-brand: #3D4A55; --tlu-brand-hover: #2A343C; --tlu-brand-muted: #5A6A78; --tlu-brand-soft: rgba(61,74,85,.10); }
html.tlu-theme-dark.tlu-scheme-signal, html.tlu-theme-system.tlu-os-dark.tlu-scheme-signal { --tlu-brand: #2BB7A8; --tlu-brand-hover: #3FCBBC; --tlu-brand-muted: #1E8F84; --tlu-brand-soft: rgba(43,183,168,.16); }
html.tlu-theme-light.tlu-scheme-signal, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-signal { --tlu-brand: #0F766E; --tlu-brand-hover: #0B5C56; --tlu-brand-muted: #148F85; --tlu-brand-soft: rgba(15,118,110,.10); }
html.tlu-theme-dark.tlu-scheme-hazard, html.tlu-theme-system.tlu-os-dark.tlu-scheme-hazard { --tlu-brand: #E0A04A; --tlu-brand-hover: #F0B45C; --tlu-brand-muted: #C47A3A; --tlu-brand-soft: rgba(224,160,74,.16); }
html.tlu-theme-light.tlu-scheme-hazard, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-hazard { --tlu-brand: #B45309; --tlu-brand-hover: #92400A; --tlu-brand-muted: #C47A3A; --tlu-brand-soft: rgba(180,83,9,.10); }
html.tlu-theme-dark.tlu-scheme-abort, html.tlu-theme-system.tlu-os-dark.tlu-scheme-abort { --tlu-brand: #E24B3A; --tlu-brand-hover: #F06A5A; --tlu-brand-muted: #B42318; --tlu-brand-soft: rgba(226,75,58,.16); }
html.tlu-theme-light.tlu-scheme-abort, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-abort { --tlu-brand: #B42318; --tlu-brand-hover: #911C14; --tlu-brand-muted: #E24B3A; --tlu-brand-soft: rgba(180,35,24,.10); }
html.tlu-theme-dark.tlu-scheme-iris, html.tlu-theme-system.tlu-os-dark.tlu-scheme-iris { --tlu-brand: #8B7CFF; --tlu-brand-hover: #A498FF; --tlu-brand-muted: #6B5CD0; --tlu-brand-soft: rgba(139,124,255,.16); }
html.tlu-theme-light.tlu-scheme-iris, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-iris { --tlu-brand: #5B4CC0; --tlu-brand-hover: #4638A0; --tlu-brand-muted: #8B7CFF; --tlu-brand-soft: rgba(91,76,192,.10); }
html.tlu-theme-dark.tlu-scheme-blush, html.tlu-theme-system.tlu-os-dark.tlu-scheme-blush { --tlu-brand: #E07A8A; --tlu-brand-hover: #F08A9A; --tlu-brand-muted: #C45A6A; --tlu-brand-soft: rgba(224,122,138,.16); }
html.tlu-theme-light.tlu-scheme-blush, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-blush { --tlu-brand: #B44A5A; --tlu-brand-hover: #933848; --tlu-brand-muted: #E07A8A; --tlu-brand-soft: rgba(180,74,90,.10); }
html.tlu-theme-dark.tlu-scheme-moss, html.tlu-theme-system.tlu-os-dark.tlu-scheme-moss { --tlu-brand: #8AAA6A; --tlu-brand-hover: #9CBA7A; --tlu-brand-muted: #6A8A4A; --tlu-brand-soft: rgba(138,170,106,.16); }
html.tlu-theme-light.tlu-scheme-moss, html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-moss { --tlu-brand: #4A6B32; --tlu-brand-hover: #385824; --tlu-brand-muted: #8AAA6A; --tlu-brand-soft: rgba(74,107,50,.10); }

html.tlu-theme-light.tlu-scheme-copper,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-copper,
html.tlu-theme-light.tlu-scheme-steel,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-steel,
html.tlu-theme-light.tlu-scheme-signal,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-signal,
html.tlu-theme-light.tlu-scheme-hazard,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-hazard,
html.tlu-theme-light.tlu-scheme-abort,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-abort,
html.tlu-theme-light.tlu-scheme-iris,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-iris,
html.tlu-theme-light.tlu-scheme-blush,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-blush,
html.tlu-theme-light.tlu-scheme-moss,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-moss {
  --tlu-page: #EDE6D9; --tlu-surface: #F7F1E6; --tlu-surface-2: #E7DFD0; --tlu-surface-3: #D9D0C0;
  --tlu-ink: #1A1714; --tlu-muted: #5C564C; --tlu-border: #C9BFAE; --tlu-border-subtle: #E7DFD0;
  --tlu-header-bg: #F7F1E6; --tlu-header-scrolled: #F7F1E6; --tlu-input-bg: #FFFEF8;
  --tlu-link: #1A1714; --tlu-cal-grid: #C9BFAE;
}

/* Harbor — cool slate + teal */
html.tlu-theme-dark.tlu-scheme-harbor,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-harbor {
  --tlu-page: #0A1014; --tlu-surface: #121A21; --tlu-surface-2: #1A2430; --tlu-surface-3: #243140;
  --tlu-ink: #E4EEF4; --tlu-muted: #8AA0B0; --tlu-border: #2A3C4C; --tlu-border-subtle: #1A2834;
  --tlu-brand: #2BB7A8; --tlu-brand-hover: #3FCBBC; --tlu-brand-muted: #1E8F84;
  --tlu-brand-soft: rgba(43,183,168,.16); --tlu-link: #E4EEF4;
  --tlu-header-bg: #121A21; --tlu-header-scrolled: #121A21; --tlu-input-bg: #1A2430;
  --tlu-cal-grid: #2A3C4C;
}
html.tlu-theme-light.tlu-scheme-harbor,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-harbor {
  --tlu-page: #EEF3F6; --tlu-surface: #FFFFFF; --tlu-surface-2: #E4ECF1; --tlu-surface-3: #D5E0E8;
  --tlu-ink: #14202A; --tlu-muted: #4E6574; --tlu-border: #C5D4DE; --tlu-border-subtle: #E4ECF1;
  --tlu-brand: #0F766E; --tlu-brand-hover: #0B5C56; --tlu-brand-muted: #148F85;
  --tlu-brand-soft: rgba(15,118,110,.10); --tlu-link: #14202A;
  --tlu-header-bg: #FFFFFF; --tlu-header-scrolled: #FFFFFF; --tlu-input-bg: #FFFFFF;
  --tlu-cal-grid: #C5D4DE;
}

/* Ember — charcoal + coral */
html.tlu-theme-dark.tlu-scheme-ember,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-ember {
  --tlu-page: #140C0C; --tlu-surface: #1C1212; --tlu-surface-2: #281818; --tlu-surface-3: #342020;
  --tlu-ink: #F4E8E4; --tlu-muted: #B09088; --tlu-border: #4A2C28; --tlu-border-subtle: #2A1816;
  --tlu-brand: #E06A4A; --tlu-brand-hover: #F07A58; --tlu-brand-muted: #C44A30;
  --tlu-brand-soft: rgba(224,106,74,.16); --tlu-link: #F4E8E4;
  --tlu-header-bg: #1C1212; --tlu-header-scrolled: #1C1212; --tlu-input-bg: #281818;
  --tlu-cal-grid: #4A2C28;
}
html.tlu-theme-light.tlu-scheme-ember,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-ember {
  --tlu-page: #F7EFEA; --tlu-surface: #FFFBFA; --tlu-surface-2: #F0E2DA; --tlu-surface-3: #E6D4C8;
  --tlu-ink: #2A1410; --tlu-muted: #6E4E46; --tlu-border: #D4B8AC; --tlu-border-subtle: #F0E2DA;
  --tlu-brand: #C44A30; --tlu-brand-hover: #A33824; --tlu-brand-muted: #E06A4A;
  --tlu-brand-soft: rgba(196,74,48,.10); --tlu-link: #2A1410;
  --tlu-header-bg: #FFFBFA; --tlu-header-scrolled: #FFFBFA; --tlu-input-bg: #FFFBFA;
  --tlu-cal-grid: #D4B8AC;
}

/* Studio — gallery white + ink */
html.tlu-theme-dark.tlu-scheme-studio,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-studio {
  --tlu-page: #111114; --tlu-surface: #18181C; --tlu-surface-2: #222228; --tlu-surface-3: #2C2C34;
  --tlu-ink: #F2F2F4; --tlu-muted: #9A9AA8; --tlu-border: #34343E; --tlu-border-subtle: #222228;
  --tlu-brand: #6B7CFF; --tlu-brand-hover: #8492FF; --tlu-brand-muted: #4E5ED0;
  --tlu-brand-soft: rgba(107,124,255,.16); --tlu-link: #F2F2F4;
  --tlu-header-bg: #18181C; --tlu-header-scrolled: #18181C; --tlu-input-bg: #222228;
  --tlu-cal-grid: #34343E;
}
html.tlu-theme-light.tlu-scheme-studio,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-studio {
  --tlu-page: #F4F4F6; --tlu-surface: #FFFFFF; --tlu-surface-2: #ECECF0; --tlu-surface-3: #E0E0E6;
  --tlu-ink: #16161A; --tlu-muted: #5C5C68; --tlu-border: #D0D0D8; --tlu-border-subtle: #ECECF0;
  --tlu-brand: #3D4ED0; --tlu-brand-hover: #2E3CB0; --tlu-brand-muted: #6B7CFF;
  --tlu-brand-soft: rgba(61,78,208,.10); --tlu-link: #16161A;
  --tlu-header-bg: #FFFFFF; --tlu-header-scrolled: #FFFFFF; --tlu-input-bg: #FFFFFF;
  --tlu-cal-grid: #D0D0D8;
}

/* Forest — deep green + cream */
html.tlu-theme-dark.tlu-scheme-forest,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-forest {
  --tlu-page: #0C1410; --tlu-surface: #141C18; --tlu-surface-2: #1C2820; --tlu-surface-3: #26342A;
  --tlu-ink: #E8F0E4; --tlu-muted: #8AA090; --tlu-border: #2A3C30; --tlu-border-subtle: #1A2820;
  --tlu-brand: #5BA86A; --tlu-brand-hover: #6CBC7C; --tlu-brand-muted: #3E8A4C;
  --tlu-brand-soft: rgba(91,168,106,.16); --tlu-link: #E8F0E4;
  --tlu-header-bg: #141C18; --tlu-header-scrolled: #141C18; --tlu-input-bg: #1C2820;
  --tlu-cal-grid: #2A3C30;
}
html.tlu-theme-light.tlu-scheme-forest,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-forest {
  --tlu-page: #EEF4EE; --tlu-surface: #FBFEFB; --tlu-surface-2: #E2EDE2; --tlu-surface-3: #D0E0D0;
  --tlu-ink: #142018; --tlu-muted: #4A6450; --tlu-border: #C0D4C4; --tlu-border-subtle: #E2EDE2;
  --tlu-brand: #2F6B3C; --tlu-brand-hover: #245530; --tlu-brand-muted: #5BA86A;
  --tlu-brand-soft: rgba(47,107,60,.10); --tlu-link: #142018;
  --tlu-header-bg: #FBFEFB; --tlu-header-scrolled: #FBFEFB; --tlu-input-bg: #FBFEFB;
  --tlu-cal-grid: #C0D4C4;
}

/* Dune — warm sand */
html.tlu-theme-dark.tlu-scheme-dune,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-dune {
  --tlu-page: #16120C; --tlu-surface: #221C14; --tlu-surface-2: #2C241A; --tlu-surface-3: #3A3024;
  --tlu-ink: #F3E6D4; --tlu-muted: #B8A48C; --tlu-border: #4A3C2C; --tlu-border-subtle: #2A2218;
  --tlu-brand: #D4A06A; --tlu-brand-hover: #E4B47A; --tlu-brand-muted: #B88248;
  --tlu-brand-soft: rgba(212,160,106,.16); --tlu-link: #F3E6D4;
  --tlu-header-bg: #221C14; --tlu-header-scrolled: #221C14; --tlu-input-bg: #2C241A;
  --tlu-cal-grid: #4A3C2C;
}
html.tlu-theme-light.tlu-scheme-dune,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-dune {
  --tlu-page: #F4E8D4; --tlu-surface: #FFF8F0; --tlu-surface-2: #F0E2CC; --tlu-surface-3: #E4D4B8;
  --tlu-ink: #2A2016; --tlu-muted: #6E5A44; --tlu-border: #D4C0A4; --tlu-border-subtle: #F0E2CC;
  --tlu-brand: #A86B32; --tlu-brand-hover: #8A5524; --tlu-brand-muted: #D4A06A;
  --tlu-brand-soft: rgba(168,107,50,.10); --tlu-link: #2A2016;
  --tlu-header-bg: #FFF8F0; --tlu-header-scrolled: #FFF8F0; --tlu-input-bg: #FFF8F0;
  --tlu-cal-grid: #D4C0A4;
}

/* Navy — midnight + gold */
html.tlu-theme-dark.tlu-scheme-navy,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-navy {
  --tlu-page: #070B14; --tlu-surface: #0E1524; --tlu-surface-2: #162033; --tlu-surface-3: #1E2C44;
  --tlu-ink: #E8EEF8; --tlu-muted: #8A9BB8; --tlu-border: #243656; --tlu-border-subtle: #162033;
  --tlu-brand: #D4B06A; --tlu-brand-hover: #E4C47A; --tlu-brand-muted: #B89448;
  --tlu-brand-soft: rgba(212,176,106,.16); --tlu-link: #E8EEF8;
  --tlu-header-bg: #0E1524; --tlu-header-scrolled: #0E1524; --tlu-input-bg: #162033;
  --tlu-cal-grid: #243656;
}
html.tlu-theme-light.tlu-scheme-navy,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-navy {
  --tlu-page: #E8EEF6; --tlu-surface: #FFFFFF; --tlu-surface-2: #DCE6F2; --tlu-surface-3: #C8D6E8;
  --tlu-ink: #12182A; --tlu-muted: #4A5A78; --tlu-border: #B8C8DC; --tlu-border-subtle: #DCE6F2;
  --tlu-brand: #1E3A6E; --tlu-brand-hover: #152A54; --tlu-brand-muted: #3A5A8E;
  --tlu-brand-soft: rgba(30,58,110,.10); --tlu-link: #12182A;
  --tlu-header-bg: #FFFFFF; --tlu-header-scrolled: #FFFFFF; --tlu-input-bg: #FFFFFF;
  --tlu-cal-grid: #B8C8DC;
}

/* Orchid — mauve */
html.tlu-theme-dark.tlu-scheme-orchid,
html.tlu-theme-system.tlu-os-dark.tlu-scheme-orchid {
  --tlu-page: #120E16; --tlu-surface: #1C1822; --tlu-surface-2: #26202C; --tlu-surface-3: #322A3A;
  --tlu-ink: #F0E8F4; --tlu-muted: #B09AB8; --tlu-border: #3E3248; --tlu-border-subtle: #26202C;
  --tlu-brand: #C89AD4; --tlu-brand-hover: #D8AEE4; --tlu-brand-muted: #A878B4;
  --tlu-brand-soft: rgba(200,154,212,.16); --tlu-link: #F0E8F4;
  --tlu-header-bg: #1C1822; --tlu-header-scrolled: #1C1822; --tlu-input-bg: #26202C;
  --tlu-cal-grid: #3E3248;
}
html.tlu-theme-light.tlu-scheme-orchid,
html.tlu-theme-system:not(.tlu-os-dark).tlu-scheme-orchid {
  --tlu-page: #F4EEF4; --tlu-surface: #FFFCFE; --tlu-surface-2: #EDE4F0; --tlu-surface-3: #E0D4E6;
  --tlu-ink: #241828; --tlu-muted: #6A5470; --tlu-border: #D4C4DC; --tlu-border-subtle: #EDE4F0;
  --tlu-brand: #7A4A8A; --tlu-brand-hover: #5E3870; --tlu-brand-muted: #C89AD4;
  --tlu-brand-soft: rgba(122,74,138,.10); --tlu-link: #241828;
  --tlu-header-bg: #FFFCFE; --tlu-header-scrolled: #FFFCFE; --tlu-input-bg: #FFFCFE;
  --tlu-cal-grid: #D4C4DC;
}

/*
 * Accent overlays — brand only, stacked on any skin except highviz/print.
 * :not() raises specificity so this always wins over later tlu-scheme-* skins.
 */
html.tlu-accent-copper.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-copper.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #D4893A; --tlu-brand-hover: #E39A4C; --tlu-brand-muted: #B56E28; --tlu-brand-soft: rgba(212,137,58,.14); }
html.tlu-accent-copper.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-copper.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #9A4E12; --tlu-brand-hover: #7A3C0C; --tlu-brand-muted: #C47A3A; --tlu-brand-soft: rgba(154,78,18,.10); }
html.tlu-accent-steel.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-steel.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #8A9AA8; --tlu-brand-hover: #A8B6C2; --tlu-brand-muted: #6A7A88; --tlu-brand-soft: rgba(138,154,168,.16); }
html.tlu-accent-steel.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-steel.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #3D4A55; --tlu-brand-hover: #2A343C; --tlu-brand-muted: #5A6A78; --tlu-brand-soft: rgba(61,74,85,.10); }
html.tlu-accent-signal.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-signal.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #2BB7A8; --tlu-brand-hover: #3FCBBC; --tlu-brand-muted: #1E8F84; --tlu-brand-soft: rgba(43,183,168,.16); }
html.tlu-accent-signal.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-signal.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #0F766E; --tlu-brand-hover: #0B5C56; --tlu-brand-muted: #148F85; --tlu-brand-soft: rgba(15,118,110,.10); }
html.tlu-accent-hazard.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-hazard.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #E0A04A; --tlu-brand-hover: #F0B45C; --tlu-brand-muted: #C47A3A; --tlu-brand-soft: rgba(224,160,74,.16); }
html.tlu-accent-hazard.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-hazard.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #B45309; --tlu-brand-hover: #92400A; --tlu-brand-muted: #C47A3A; --tlu-brand-soft: rgba(180,83,9,.10); }
html.tlu-accent-abort.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-abort.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #E24B3A; --tlu-brand-hover: #F06A5A; --tlu-brand-muted: #B42318; --tlu-brand-soft: rgba(226,75,58,.16); }
html.tlu-accent-abort.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-abort.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #B42318; --tlu-brand-hover: #911C14; --tlu-brand-muted: #E24B3A; --tlu-brand-soft: rgba(180,35,24,.10); }
html.tlu-accent-iris.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-iris.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #8B7CFF; --tlu-brand-hover: #A498FF; --tlu-brand-muted: #6B5CD0; --tlu-brand-soft: rgba(139,124,255,.16); }
html.tlu-accent-iris.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-iris.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #5B4CC0; --tlu-brand-hover: #4638A0; --tlu-brand-muted: #8B7CFF; --tlu-brand-soft: rgba(91,76,192,.10); }
html.tlu-accent-blush.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-blush.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #E07A8A; --tlu-brand-hover: #F08A9A; --tlu-brand-muted: #C45A6A; --tlu-brand-soft: rgba(224,122,138,.16); }
html.tlu-accent-blush.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-blush.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #B44A5A; --tlu-brand-hover: #933848; --tlu-brand-muted: #E07A8A; --tlu-brand-soft: rgba(180,74,90,.10); }
html.tlu-accent-moss.tlu-theme-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-moss.tlu-theme-system.tlu-os-dark:not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #8AAA6A; --tlu-brand-hover: #9CBA7A; --tlu-brand-muted: #6A8A4A; --tlu-brand-soft: rgba(138,170,106,.16); }
html.tlu-accent-moss.tlu-theme-light:not(.tlu-scheme-highviz):not(.tlu-scheme-print),
html.tlu-accent-moss.tlu-theme-system:not(.tlu-os-dark):not(.tlu-scheme-highviz):not(.tlu-scheme-print) { --tlu-brand: #4A6B32; --tlu-brand-hover: #385824; --tlu-brand-muted: #8AAA6A; --tlu-brand-soft: rgba(74,107,50,.10); }

/* ─── Base ───────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
  overflow-x: hidden;
  overflow-x: clip;
  max-width: 100%;
}
body {
  font-family: 'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--tlu-ink);
  background-color: var(--tlu-page);
  background-attachment: fixed;
  min-height: 100vh;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  overscroll-behavior-x: none;
  background-image:
    linear-gradient(var(--tlu-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--tlu-grid-line) 1px, transparent 1px);
  background-size: 72px 72px, 72px 72px;
  transition: background-color 0.25s ease, color 0.2s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--tlu-ink);
  letter-spacing: -0.025em;
}

body.tlu-font-system, body.tlu-font-plex, body.tlu-font-inter, body.tlu-font-geist, body.tlu-font-jakarta, body.tlu-font-plus {
  font-family: 'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
body.tlu-font-serif  { font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif; }
body.tlu-font-mono   { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* Density (account → Preferences) */
body.tlu-density-compact {
  --tlu-space-scale: 0.85;
  font-size: 0.875rem;
}
body.tlu-density-compact .tlu-btn,
body.tlu-density-compact a.tlu-btn,
body.tlu-density-compact button.tlu-btn { padding: 0.4rem 0.9rem !important; font-size: 0.8rem !important; }
body.tlu-density-compact .tlu-input { padding: 0.4rem 0.7rem; font-size: 0.8125rem; }
body.tlu-density-compact .tlu-card { border-radius: 0.75rem; }
body.tlu-density-compact .p-6 { padding: 1rem !important; }
body.tlu-density-compact .p-5 { padding: 0.85rem !important; }
body.tlu-density-compact .p-4 { padding: 0.75rem !important; }
body.tlu-density-compact .gap-4 { gap: 0.75rem !important; }
body.tlu-density-compact .gap-3 { gap: 0.5rem !important; }
body.tlu-density-compact .tlu-cal-shell .fc { font-size: 0.8rem; }
body.tlu-density-compact .tlu-cal-shell .fc .fc-toolbar-title { font-size: 1rem; }
body.tlu-density-compact .tlu-cal-shell .fc-event { font-size: 0.7rem; }
body.tlu-density-compact .tlu-cal-shell .fc-daygrid-event { min-height: 1.25rem; padding: 2px 5px !important; }
body.tlu-density-roomy { --tlu-space-scale: 1.12; font-size: 1.02rem; }
body.tlu-density-roomy .tlu-cal-shell .fc { font-size: 0.95rem; }

html[data-tlu-radius="sharp"] { --tlu-radius: 0.125rem; --tlu-radius-sm: 0.125rem; --tlu-radius-lg: 0.25rem; }
html[data-tlu-radius="soft"] { --tlu-radius: 0.75rem; --tlu-radius-sm: 0.5rem; --tlu-radius-lg: 1rem; }

/* ─── Components: Card ───────────────────────────── */
.tlu-card {
  background: var(--tlu-surface);
  border: 1px solid var(--tlu-border);
  border-radius: var(--tlu-radius);
  box-shadow: var(--tlu-card-shadow);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease;
}
.tlu-card:hover { border-color: color-mix(in srgb, var(--tlu-brand) 30%, var(--tlu-border)); }

.tlu-card-interactive { cursor: pointer; }
.tlu-card-interactive:hover {
  transform: translateY(-2px);
  box-shadow: var(--tlu-card-shadow-hover);
  border-color: var(--tlu-brand);
}

/* ─── Components: Buttons ────────────────────────── */
.tlu-btn,
a.tlu-btn,
button.tlu-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  border-radius: 0.625rem !important;
  padding: 0.55rem 1.15rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
}
.tlu-btn:active, a.tlu-btn:active, button.tlu-btn:active { transform: scale(0.98) !important; }
.tlu-btn:disabled, button.tlu-btn:disabled, a.tlu-btn[disabled] { opacity: 0.55; cursor: not-allowed !important; transform: none !important; }

.tlu-btn-primary,
a.tlu-btn-primary,
button.tlu-btn-primary,
button[type="submit"].tlu-btn-primary {
  background: var(--tlu-brand) !important;
  background-color: var(--tlu-brand) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05), 0 4px 12px 0 var(--tlu-brand-glow) !important;
}
.tlu-btn-primary:hover,
a.tlu-btn-primary:hover,
button.tlu-btn-primary:hover {
  background: var(--tlu-brand-hover) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08), 0 8px 20px 0 var(--tlu-brand-glow) !important;
  transform: translateY(-1px) !important;
}

.tlu-btn-ghost,
a.tlu-btn-ghost,
button.tlu-btn-ghost {
  background: var(--tlu-surface) !important;
  color: var(--tlu-ink) !important;
  border: 1px solid var(--tlu-border) !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02) !important;
}
.tlu-btn-ghost:hover,
a.tlu-btn-ghost:hover,
button.tlu-btn-ghost:hover {
  background: var(--tlu-surface-2) !important;
  border-color: color-mix(in srgb, var(--tlu-brand) 35%, var(--tlu-border)) !important;
  color: var(--tlu-brand) !important;
}

.tlu-btn-soft {
  background: var(--tlu-brand-soft) !important;
  color: var(--tlu-brand) !important;
  border-color: transparent !important;
}
.tlu-btn-soft:hover { background: color-mix(in srgb, var(--tlu-brand) 20%, transparent) !important; }

/* ─── Components: Input ──────────────────────────── */
.tlu-input {
  width: 100%;
  border-radius: 0.625rem;
  border: 1px solid var(--tlu-border);
  background: var(--tlu-input-bg);
  padding: 0.55rem 0.85rem;
  font-size: 0.875rem;
  color: var(--tlu-ink);
  outline: none;
  transition: all 0.15s ease;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02);
}
.tlu-input:hover { border-color: color-mix(in srgb, var(--tlu-brand) 40%, var(--tlu-border)); }
.tlu-input:focus {
  border-color: var(--tlu-brand);
  box-shadow: 0 0 0 3px var(--tlu-brand-soft), 0 1px 2px 0 rgba(0, 0, 0, 0.02);
}

/* Icon + placeholder must not share the same left edge.
   .tlu-input padding wins over Tailwind pl-8; native WebKit search
   chrome also draws its own magnifier on type=search. */
.tlu-search {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.tlu-search > svg {
  position: absolute;
  left: 0.7rem;
  top: 50%;
  width: 0.875rem;
  height: 0.875rem;
  transform: translateY(-50%);
  color: var(--tlu-muted);
  pointer-events: none;
  z-index: 1;
}
.tlu-search .tlu-input,
.tlu-search input {
  padding-left: 2.2rem;
}
.tlu-search input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
}
.tlu-search input[type="search"]::-webkit-search-decoration,
.tlu-search input[type="search"]::-webkit-search-cancel-button,
.tlu-search input[type="search"]::-webkit-search-results-button,
.tlu-search input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

/* ─── Components: Header / Footer ────────────────── */
.tlu-header {
  --tlu-header-h: 2.75rem;
  background: var(--tlu-region-topbar-bg, var(--tlu-header-bg));
  border-bottom: 1px solid var(--tlu-region-topbar-border, var(--tlu-border));
  color: var(--tlu-region-topbar-ink, var(--tlu-ink));
  min-height: var(--tlu-header-h);
  width: 100%;
  max-width: 100%;
  overflow: visible;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background 0.16s ease, border-color 0.16s ease;
}
.tlu-command-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-height: var(--tlu-header-h, 2.75rem);
  height: auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0 0.75rem;
}
@media (min-width: 640px) {
  .tlu-command-bar { flex-wrap: nowrap; }
}
.tlu-cal-logo {
  height: 1.75rem;
  max-width: 7.5rem;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}
.tlu-brand-slot {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
}
.tlu-brand-host { display: none !important; }
html:not([data-tlu-brand]) .tlu-brand-host[data-tlu-brand-host="topbar"],
html[data-tlu-brand="topbar"] .tlu-brand-host[data-tlu-brand-host="topbar"],
html[data-tlu-brand="sidebar"] .tlu-brand-host[data-tlu-brand-host="sidebar"],
html[data-tlu-brand="command"] .tlu-brand-host[data-tlu-brand-host="command"],
html[data-tlu-brand="canvas"] .tlu-brand-host[data-tlu-brand-host="canvas"] {
  display: flex !important;
}
html[data-tlu-brand="off"] .tlu-brand-host { display: none !important; }
.tlu-brand-in-sidebar { margin-bottom: 0.5rem; }
.tlu-brand-in-command { order: -1; }
.tlu-brand-in-canvas { padding: 0.25rem 0.15rem; }
.tlu-notice-host { display: none !important; }
html:not([data-tlu-notice-topbar]):not([data-tlu-notice]) .tlu-notice-host[data-tlu-notice-host="topbar"],
html[data-tlu-notice-topbar="1"] .tlu-notice-host[data-tlu-notice-host="topbar"],
html[data-tlu-notice="topbar"] .tlu-notice-host[data-tlu-notice-host="topbar"],
html[data-tlu-notice-command="1"] .tlu-notice-host[data-tlu-notice-host="command"],
html[data-tlu-notice="command"] .tlu-notice-host[data-tlu-notice-host="command"],
html[data-tlu-notice-sidebar="1"] .tlu-notice-host[data-tlu-notice-host="sidebar"],
html[data-tlu-notice="sidebar"] .tlu-notice-host[data-tlu-notice-host="sidebar"],
html[data-tlu-notice-canvas="1"] .tlu-notice-host[data-tlu-notice-host="canvas"],
html[data-tlu-notice="canvas"] .tlu-notice-host[data-tlu-notice-host="canvas"] {
  display: flex !important;
}
.tlu-notice-host.is-empty { display: none !important; }
.tlu-header .tlu-notice-host[data-tlu-notice-host="topbar"] {
  flex: 1 1 0%;
  min-width: 0;
  max-width: none;
  align-items: center;
  align-self: stretch;
  overflow: hidden;
}
.tlu-notice-inner {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 1.5rem;
  margin: 0;
  box-sizing: border-box;
}
.tlu-notice-in-sidebar { margin-bottom: 0.5rem; }
.tlu-notice-in-command {
  flex: 1 1 0%;
  min-width: 0;
  max-width: none;
  order: 0;
  overflow: hidden;
}
.tlu-cmd-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
@media (min-width: 1024px) {
  .tlu-cmd-row { flex-wrap: nowrap; }
}
.tlu-cmd-name { flex: 1 1 auto; min-width: 0; }
html[data-tlu-notice-command="1"] .tlu-cmd-name,
html[data-tlu-notice="command"] .tlu-cmd-name {
  flex: 0 1 auto;
  max-width: 18rem;
}
html[data-tlu-notice-command="1"] .tlu-cmd-row > .tlu-notice-in-command,
html[data-tlu-notice="command"] .tlu-cmd-row > .tlu-notice-in-command {
  flex: 1 1 0%;
  min-width: 0;
}
html[data-tlu-notice-command="1"] .tlu-cmd-row > .tlu-view-cluster-local,
html[data-tlu-notice-command="1"] .tlu-cmd-row > .tlu-cmd-local-tools,
html[data-tlu-notice="command"] .tlu-cmd-row > .tlu-view-cluster-local,
html[data-tlu-notice="command"] .tlu-cmd-row > .tlu-cmd-local-tools {
  flex: 0 0 auto;
}
.tlu-notice-in-canvas { padding: 0.25rem 0.15rem; }
@media (max-width: 639.98px) {
  .tlu-header .tlu-brand-host[data-tlu-brand-host="topbar"] {
    flex: 0 0 auto;
    order: 19;
  }
  .tlu-header .tlu-notice-host[data-tlu-notice-host="topbar"] {
    flex: 1 1 100%;
    min-width: 0;
    min-height: 1.75rem;
    order: 20;
  }
  .tlu-notice-inner { width: 100% !important; min-width: 0; }
  .tlu-cal-logo { height: 1.35rem; max-width: 5.5rem; }
}
.tlu-marquee {
  overflow: hidden;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent, #000 0.6rem, #000 calc(100% - 0.6rem), transparent);
}
.tlu-marquee-track {
  display: flex;
  width: max-content;
  gap: var(--tlu-notice-gap, 48px);
  color: var(--tlu-ink);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  will-change: transform;
  animation: none;
}
.tlu-marquee-track.is-rolling {
  animation: tlu-marquee var(--tlu-notice-dur, 12s) linear infinite;
}
.tlu-marquee-track.is-static {
  animation: none !important;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
html[data-tlu-notice-size="sm"] .tlu-marquee-track { font-size: 0.65rem; }
html[data-tlu-notice-size="lg"] .tlu-marquee-track { font-size: 0.9rem; }
.tlu-marquee:hover .tlu-marquee-track,
.tlu-marquee:focus-within .tlu-marquee-track {
  animation-play-state: paused;
}
.tlu-marquee-item {
  color: inherit;
  text-decoration: none;
  flex-shrink: 0;
}
.tlu-marquee-item[hidden] { display: none !important; }
@keyframes tlu-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-1 * var(--tlu-notice-travel, 50%))); }
}
@media (prefers-reduced-motion: reduce) {
  .tlu-marquee-track {
    animation: none !important;
    width: auto;
    max-width: 100%;
  }
  .tlu-marquee {
    mask-image: none;
  }
  .tlu-marquee-track.is-static,
  .tlu-marquee-track {
    display: flex;
    overflow: hidden;
  }
}
.tlu-cmd-tools {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  margin-left: auto;
  flex: 0 0 auto;
}
html[data-tlu-notice-topbar="1"] .tlu-header .tlu-cmd-tools,
html[data-tlu-notice="topbar"] .tlu-header .tlu-cmd-tools {
  margin-left: 0;
}
.tlu-command-bar > .relative {
  flex-shrink: 0;
}
.tlu-bar-search input {
  width: 11rem;
  font-size: 0.75rem;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}
.tlu-swatch {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  border: 1px solid var(--tlu-border);
  border-radius: 0.125rem;
  flex-shrink: 0;
}
.tlu-swatch.is-on { outline: 2px solid var(--tlu-brand); outline-offset: 1px; }
.tlu-swatch-nightops { background: #0E1114; }
.tlu-swatch-starbase { background: #E39A4C; }
.tlu-swatch-highviz { background: #F0E14A; }
.tlu-swatch-print { background: #FFFEF8; }
.tlu-swatch-copper { background: #D4893A; }
.tlu-swatch-steel { background: #8A9AA8; }
.tlu-swatch-signal { background: #2BB7A8; }
.tlu-swatch-hazard { background: #E0A04A; }
.tlu-swatch-abort { background: #E24B3A; }
.tlu-swatch-harbor { background: linear-gradient(135deg, #121A21 50%, #2BB7A8 50%); }
.tlu-swatch-ember { background: linear-gradient(135deg, #1C1212 50%, #E06A4A 50%); }
.tlu-swatch-studio { background: linear-gradient(135deg, #FFFFFF 50%, #3D4ED0 50%); }
.tlu-swatch-forest { background: linear-gradient(135deg, #141C18 50%, #5BA86A 50%); }
.tlu-swatch-dune { background: linear-gradient(135deg, #221C14 50%, #D4A06A 50%); }
.tlu-swatch-navy { background: linear-gradient(135deg, #0E1524 50%, #D4B06A 50%); }
.tlu-swatch-orchid { background: linear-gradient(135deg, #1C1822 50%, #C89AD4 50%); }
.tlu-swatch-iris { background: #8B7CFF; }
.tlu-swatch-blush { background: #E07A8A; }
.tlu-swatch-moss { background: #8AAA6A; }
@media (max-width: 639.98px) {
  .tlu-bar-search { flex: 1 1 5.5rem; min-width: 0; max-width: 8rem; }
  .tlu-bar-search input { width: 100%; min-width: 0; }
  .tlu-header .tlu-hit { min-width: 2.25rem; }
  .tlu-cmd-tools { gap: 0; min-width: 0; }
}
.tlu-hit { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; }
.tlu-mark {
  width: 1.75rem; height: 1.75rem; border-radius: 0.25rem;
  background: var(--tlu-mark-bg, var(--tlu-brand));
  color: var(--tlu-mark-ink, #fff);
  font-weight: 700;
  box-shadow: 0 0 0 2px var(--tlu-mark-ring, #fff), 0 0 0 3px rgba(14, 17, 20, 0.35);
}
.tlu-header .tlu-mark svg { color: inherit; stroke: currentColor; }
.tlu-header.is-scrolled {
  background: var(--tlu-region-topbar-bg, var(--tlu-header-scrolled));
  border-bottom-color: var(--tlu-region-topbar-border, var(--tlu-border));
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.04);
}

.tlu-footer {
  background: var(--tlu-surface);
  border-top: 1px solid var(--tlu-border);
  margin-top: auto;
}

/* ─── FullCalendar ───────────────────────────────── */
.tlu-cal-shell .fc {
  --fc-border-color: var(--tlu-cal-grid);
  --fc-page-bg-color: transparent;
  --fc-neutral-bg-color: var(--tlu-surface-2);
  --fc-list-event-hover-bg-color: var(--tlu-surface-2);
  --fc-today-bg-color: var(--tlu-cal-today);
  font-family: inherit;
  font-size: 0.875rem;
  color: var(--tlu-ink);
}
.tlu-cal-shell .fc .fc-toolbar-title {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--tlu-ink);
}
.tlu-cal-shell .fc .fc-col-header-cell {
  background: var(--tlu-surface-2);
  padding: 6px 0;
  border-color: var(--tlu-border);
}
.tlu-cal-shell .fc .fc-col-header-cell-cushion {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tlu-muted);
}
.tlu-cal-shell .fc-daygrid-day-number {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--tlu-muted);
  padding: 4px 6px !important;
}
.tlu-cal-shell .fc-day-today .fc-daygrid-day-number { color: var(--tlu-brand); font-weight: 800; }
.tlu-cal-shell .fc-event {
  border-radius: 4px !important;
  padding: 2px 6px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  box-shadow: none;
  transition: filter 0.12s ease;
  overflow: hidden;
}
.tlu-cal-shell .fc-daygrid-event {
  display: block;
  width: calc(100% - 4px);
  max-width: 100%;
  min-height: 1.45rem;
  margin: 2px 2px 0 !important;
  padding: 3px 6px !important;
  line-height: 1.3;
  border: none !important;
  border-left: 3px solid color-mix(in srgb, #000 28%, transparent) !important;
  white-space: nowrap;
}
.tlu-cal-shell .fc-daygrid-dot-event .fc-daygrid-event-dot { display: none; }
.tlu-cal-shell .fc-timegrid-event {
  border: 1px solid color-mix(in srgb, #000 22%, transparent) !important;
}
.tlu-cal-shell .fc-timegrid-event .fc-event-main {
  padding: 3px 5px !important;
}
.tlu-cal-shell .fc-event:hover {
  filter: brightness(1.08);
}
.tlu-cal-shell .tlu-ev-block {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  color: inherit;
  pointer-events: none;
}
.tlu-cal-shell .tlu-ev-block .tlu-ev-time {
  flex: 0 0 auto;
  font-size: 0.68rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  opacity: 0.92;
  line-height: 1.2;
}
.tlu-cal-shell .tlu-ev-block .tlu-ev-title {
  font-weight: 700;
  font-size: 0.78rem;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tlu-cal-shell .tlu-ev-block .tlu-ev-meta {
  font-size: 0.65rem;
  font-weight: 500;
  opacity: 0.88;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2;
}
.tlu-cal-shell .fc-timegrid-event-short .tlu-ev-block .tlu-ev-meta {
  display: none;
}
.tlu-create-split {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.tlu-create-split .tlu-create-main {
  flex: 1;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  justify-content: center;
}
.tlu-create-split .tlu-create-chevron {
  width: 2.5rem;
  min-width: 2.5rem;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.28) !important;
  box-shadow: none !important;
}
.tlu-create-kinds { gap: 0.4rem; }
.tlu-create-kind {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  width: 100%;
  text-align: left;
  padding: 0.7rem 0.75rem;
  border-radius: 0.65rem;
  border: 1px solid var(--tlu-border);
  background: var(--tlu-surface-2);
  color: var(--tlu-ink);
  cursor: pointer;
}
.tlu-create-kind:hover, .tlu-create-kind:focus-visible {
  border-color: var(--tlu-brand);
  background: var(--tlu-brand-soft);
}
.tlu-create-kind-name { font-size: 0.8125rem; font-weight: 700; }
.tlu-create-kind-hint { font-size: 0.7rem; color: var(--tlu-muted); font-weight: 500; line-height: 1.3; }
.tlu-kind-badge {
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--tlu-brand);
  margin-bottom: 0.2rem;
}
.tlu-ev-done-text { text-decoration: line-through; opacity: 0.7; }
.tlu-ev-chip.is-done .tlu-ev-title,
.tlu-ev-block.is-done .tlu-ev-title { text-decoration: line-through; opacity: 0.78; }
.tlu-ev-mark { flex: 0 0 auto; font-size: 0.7rem; opacity: 0.9; }
.tlu-ev-check {
  flex: 0 0 auto;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 0.2rem;
  border: 1.5px solid currentColor;
  background: transparent;
  color: inherit;
  padding: 0;
  line-height: 1;
  font-size: 0.65rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  cursor: pointer;
}
.tlu-ev-check.is-on { background: color-mix(in srgb, currentColor 28%, transparent); }
.tlu-ev-check:disabled { cursor: default; opacity: 0.7; }
@media (pointer: coarse) {
  .tlu-create-split .tlu-create-chevron { min-width: 2.75rem; min-height: 2.75rem; }
  .tlu-create-kind { min-height: 2.75rem; }
  .tlu-ev-check { width: 1.15rem; height: 1.15rem; }
}

.tlu-ev-chip {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  max-width: 100%;
  min-height: 1.15rem;
  overflow: hidden;
  color: inherit;
  pointer-events: none;
}
.tlu-ev-time { flex: 0 0 auto; font-variant-numeric: tabular-nums; opacity: 0.92; }
.tlu-ev-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}

.tlu-event-view { display: flex; flex-direction: column; gap: 1rem; }
.tlu-event-view-title { font-size: 1.15rem; font-weight: 800; line-height: 1.3; color: var(--tlu-ink); }
.tlu-event-view-row { display: flex; flex-direction: column; gap: 0.2rem; }
.tlu-event-view-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--tlu-muted);
}
.tlu-event-view-value { font-size: 0.875rem; color: var(--tlu-ink); white-space: pre-wrap; word-break: break-word; }
.tlu-cal-shell .fc-button-primary {
  background: var(--tlu-surface) !important;
  color: var(--tlu-ink) !important;
  border: 1px solid var(--tlu-border) !important;
  border-radius: 0.25rem !important;
  padding: 0.4rem 0.8rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.15s ease !important;
  text-transform: none !important;
}
.tlu-cal-shell .fc-today-button {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.tlu-cal-shell .fc-button-primary:hover {
  background: var(--tlu-surface-2) !important;
  border-color: color-mix(in srgb, var(--tlu-brand) 40%, var(--tlu-border)) !important;
  color: var(--tlu-brand) !important;
}
.tlu-cal-shell .fc-button-primary:not(:disabled).fc-button-active,
.tlu-cal-shell .fc-button-primary:not(:disabled):active {
  background: var(--tlu-brand) !important;
  border-color: var(--tlu-brand) !important;
  color: #ffffff !important;
}

/* ─── Long-form prose (terms / privacy / faq) ────── */
.prose-tlu h2 {
  margin-top: 1.75rem;
  margin-bottom: 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--tlu-ink);
}
.prose-tlu p, .prose-tlu li {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--tlu-muted);
  margin-bottom: 0.65rem;
}
.prose-tlu ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 0.75rem; }
.prose-tlu a { color: var(--tlu-link); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* ─── Cookie bar ─────────────────────────────────── */
.tlu-cookie {
  position: fixed;
  z-index: 60;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem 1.15rem;
  border-radius: var(--tlu-radius);
  background: var(--tlu-surface);
  color: var(--tlu-ink);
  box-shadow: var(--tlu-pop-shadow);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.tlu-cookie a { color: var(--tlu-link); text-decoration: underline; text-underline-offset: 2px; }
.tlu-cookie-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.tlu-cookie .tlu-btn-primary {
  background: var(--tlu-brand) !important;
  color: var(--tlu-page) !important;
  box-shadow: none !important;
}
.tlu-cookie .tlu-btn-ghost {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #e2e8f0 !important;
}

/* ─── Theme shims: dark-mode Tailwind utility maps ─ */
html.tlu-theme-dark .tlu-card,
html.tlu-theme-system.tlu-os-dark .tlu-card,
html.tlu-theme-dark .bg-white,
html.tlu-theme-system.tlu-os-dark .bg-white { background-color: var(--tlu-surface) !important; color: var(--tlu-ink); }
html.tlu-theme-dark .bg-slate-50, html.tlu-theme-dark .bg-slate-100,
html.tlu-theme-system.tlu-os-dark .bg-slate-50, html.tlu-theme-system.tlu-os-dark .bg-slate-100,
html.tlu-theme-dark .bg-gray-50, html.tlu-theme-dark .bg-gray-100,
html.tlu-theme-system.tlu-os-dark .bg-gray-50, html.tlu-theme-system.tlu-os-dark .bg-gray-100 { background-color: var(--tlu-surface-2) !important; }
html.tlu-theme-dark .border-slate-200, html.tlu-theme-dark .border-slate-300,
html.tlu-theme-system.tlu-os-dark .border-slate-200, html.tlu-theme-system.tlu-os-dark .border-slate-300,
html.tlu-theme-dark .border-gray-200, html.tlu-theme-dark .border-gray-300,
html.tlu-theme-system.tlu-os-dark .border-gray-200, html.tlu-theme-system.tlu-os-dark .border-gray-300 { border-color: var(--tlu-border) !important; }
html.tlu-theme-dark .text-slate-900, html.tlu-theme-dark .text-slate-800,
html.tlu-theme-system.tlu-os-dark .text-slate-900, html.tlu-theme-system.tlu-os-dark .text-slate-800,
html.tlu-theme-dark .text-gray-900, html.tlu-theme-system.tlu-os-dark .text-gray-900 { color: var(--tlu-ink) !important; }
html.tlu-theme-dark .text-slate-700, html.tlu-theme-dark .text-slate-600, html.tlu-theme-dark .text-slate-500, html.tlu-theme-dark .text-slate-400,
html.tlu-theme-system.tlu-os-dark .text-slate-700, html.tlu-theme-system.tlu-os-dark .text-slate-600, html.tlu-theme-system.tlu-os-dark .text-slate-500, html.tlu-theme-system.tlu-os-dark .text-slate-400,
html.tlu-theme-dark .text-gray-600, html.tlu-theme-dark .text-gray-500,
html.tlu-theme-system.tlu-os-dark .text-gray-600, html.tlu-theme-system.tlu-os-dark .text-gray-500 { color: var(--tlu-muted) !important; }
html.tlu-theme-dark input:not([type="checkbox"]):not([type="radio"]),
html.tlu-theme-system.tlu-os-dark input:not([type="checkbox"]):not([type="radio"]),
html.tlu-theme-dark select, html.tlu-theme-system.tlu-os-dark select,
html.tlu-theme-dark textarea, html.tlu-theme-system.tlu-os-dark textarea {
  background-color: var(--tlu-input-bg) !important;
  border-color: var(--tlu-border) !important;
  color: var(--tlu-ink) !important;
}
html.tlu-theme-dark .hover\:bg-slate-50:hover,
html.tlu-theme-system.tlu-os-dark .hover\:bg-slate-50:hover,
html.tlu-theme-dark .hover\:bg-gray-50:hover,
html.tlu-theme-system.tlu-os-dark .hover\:bg-gray-50:hover { background-color: var(--tlu-surface-2) !important; }
html.tlu-theme-dark .tlu-btn-ghost,
html.tlu-theme-system.tlu-os-dark .tlu-btn-ghost {
  background: var(--tlu-surface-2) !important;
  color: var(--tlu-ink) !important;
  border-color: var(--tlu-border) !important;
}

/* Legacy indigo utility shim → brand tokens (views not yet migrated) */
.bg-indigo-600, .bg-indigo-500, .hover\:bg-indigo-500:hover, .hover\:bg-indigo-600:hover { background-color: var(--tlu-brand) !important; color: #fff !important; }
.text-indigo-600, .text-indigo-700, .hover\:text-indigo-600:hover { color: var(--tlu-brand) !important; }
.border-indigo-600, .border-indigo-300 { border-color: var(--tlu-brand) !important; }
.bg-indigo-50, .bg-indigo-50\/40, .bg-indigo-50\/50, .bg-indigo-100 { background-color: var(--tlu-brand-soft) !important; }
.ring-indigo-200, .ring-indigo-100, .focus\:ring-indigo-200:focus { --tw-ring-color: color-mix(in srgb, var(--tlu-brand) 40%, transparent) !important; }
.focus\:border-indigo-500:focus { border-color: var(--tlu-brand-muted) !important; }

/* ─── Utilities ──────────────────────────────────── */
[x-cloak] { display: none !important; }

/* A11y: always-visible keyboard focus ring (inputs keep their own ring) */
:focus-visible {
  outline: 2px solid var(--tlu-brand);
  outline-offset: 2px;
  border-radius: 4px;
}
.tlu-input:focus-visible,
.tlu-input:focus { outline: none; }

/* iOS Safari: inputs < 16px trigger auto-zoom on focus — bump on mobile */
@media (max-width: 639.98px) {
  .tlu-input,
  select.tlu-input,
  textarea.tlu-input {
    font-size: 1rem !important;
  }
}

/* Motion safety: kill all ambient motion on request */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── Contact wizard: topic select cards ─────────────────────────
   Selected state lives here, not in Tailwind arbitrary classes —
   the static tw.css build does not contain ring-[var(...)] etc. */
.tlu-topic-btn { cursor: pointer; text-align: left; }
.tlu-topic-btn:hover { border-color: var(--tlu-brand-muted); }
.tlu-topic-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--tlu-brand), 0 0 0 5px var(--tlu-brand-soft);
}
.tlu-topic-btn.is-selected {
  border-color: var(--tlu-brand);
  box-shadow: 0 0 0 2px var(--tlu-brand), 0 0 0 5px var(--tlu-brand-soft);
  background: var(--tlu-brand-soft);
}
.tlu-topic-btn.is-selected .tlu-topic-check { visibility: visible; }
.tlu-topic-check { visibility: hidden; }

.tlu-shell-main { position: relative; isolation: isolate; }
.tlu-content-width { width: min(100%, 1320px); }
.tlu-desktop-nav { display: flex; justify-content: flex-end; margin-inline: 0; flex-wrap: wrap; }
.tlu-dashboard-header > div:first-child { display: grid; gap: .4rem; }
.tlu-dashboard-header > div:first-child .flex { margin-bottom: 0; }
.tlu-dashboard-header h1 { line-height: 1.05; }
.tlu-dashboard-directory { margin-top: 1rem; }
@media (max-width: 767.98px) { .tlu-directory-toolbar { position: static; } }
.tlu-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid color-mix(in srgb, var(--tlu-border) 72%, transparent); }
.tlu-eyebrow { color: var(--tlu-muted); font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.11em; line-height: 1.2; text-transform: uppercase; }
.tlu-surface { background: var(--tlu-surface); border: 1px solid var(--tlu-border); border-radius: var(--tlu-radius); box-shadow: var(--tlu-card-shadow); }
.tlu-surface-raised { background: var(--tlu-surface); border: 1px solid var(--tlu-border); border-radius: var(--tlu-radius-lg); box-shadow: var(--tlu-pop-shadow); }
.tlu-surface-inset { background: var(--tlu-surface-2); border: 1px solid color-mix(in srgb, var(--tlu-border) 82%, transparent); border-radius: var(--tlu-radius-sm); }
.tlu-divider { border-color: color-mix(in srgb, var(--tlu-border) 72%, transparent) !important; }
.tlu-menu { background: var(--tlu-region-menu-bg, var(--tlu-surface)); border: 1px solid var(--tlu-region-menu-border, var(--tlu-border)); border-radius: var(--tlu-radius); box-shadow: var(--tlu-pop-shadow); color: var(--tlu-region-menu-ink, var(--tlu-ink)); }
.tlu-menu-item { min-height: 2.75rem; display: flex; align-items: center; gap: 0.625rem; border-radius: var(--tlu-radius-sm); color: var(--tlu-ink); transition: background-color 0.16s ease, color 0.16s ease; }
.tlu-menu-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5rem;
  min-height: 0 !important;
  padding: 0 0.55rem;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  border-radius: 0.25rem;
  border: 1px solid color-mix(in srgb, var(--tlu-brand) 45%, var(--tlu-border));
  background: var(--tlu-brand);
  color: #fff;
  cursor: pointer;
}
.tlu-menu-apply:hover { filter: brightness(1.08); }
.tlu-menu-apply-ghost {
  background: transparent;
  color: var(--tlu-ink);
  border-color: var(--tlu-border);
}
.tlu-menu-apply-ghost:hover { filter: none; background: var(--tlu-surface-2); }
.tlu-menu-item:hover, .tlu-menu-item:focus-visible { background: var(--tlu-surface-2); color: var(--tlu-link); }
.tlu-tab-rail { scrollbar-width: thin; scrollbar-color: var(--tlu-border) transparent; }
.tlu-tab-rail::-webkit-scrollbar { height: 4px; }
.tlu-tab-rail::-webkit-scrollbar-thumb { background: var(--tlu-border); border-radius: 999px; }
.tlu-status { display: inline-flex; align-items: center; gap: 0.375rem; border-radius: 999px; padding: 0.25rem 0.625rem; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.625rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; text-transform: uppercase; }
.tlu-status::before { width: 0.375rem; height: 0.375rem; border-radius: 999px; background: currentColor; content: ''; }
.tlu-status-success { background: color-mix(in srgb, #10b981 12%, transparent); color: #059669; }
.tlu-status-warning { background: color-mix(in srgb, #f59e0b 14%, transparent); color: #b45309; }
.tlu-status-danger { background: color-mix(in srgb, #ef4444 12%, transparent); color: #dc2626; }
.tlu-status-neutral { background: var(--tlu-surface-2); color: var(--tlu-muted); }
.tlu-alert { display: flex; align-items: flex-start; gap: 0.625rem; border: 1px solid; border-radius: var(--tlu-radius-sm); padding: 0.75rem 0.875rem; font-size: 0.8125rem; font-weight: 600; }
.tlu-alert-success { border-color: color-mix(in srgb, #10b981 24%, var(--tlu-border)); background: color-mix(in srgb, #10b981 10%, transparent); color: #047857; }
.tlu-alert-danger { border-color: color-mix(in srgb, #ef4444 24%, var(--tlu-border)); background: color-mix(in srgb, #ef4444 10%, transparent); color: #b91c1c; }
.tlu-focusable:focus-visible { outline: 2px solid var(--tlu-brand); outline-offset: 3px; }
.tlu-scroll-shadow { overflow-x: auto; mask-image: linear-gradient(to right, transparent 0, black 1rem, black calc(100% - 1rem), transparent 100%); }
.tlu-safe-bottom { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }

.bg-brand { background-color: var(--tlu-brand) !important; }
.text-brand { color: var(--tlu-link) !important; }
.border-brand { border-color: var(--tlu-brand) !important; }
.bg-brand\/5 { background-color: color-mix(in srgb, var(--tlu-brand) 5%, transparent) !important; }
.bg-brand\/10 { background-color: color-mix(in srgb, var(--tlu-brand) 10%, transparent) !important; }
.bg-brand\/15 { background-color: color-mix(in srgb, var(--tlu-brand) 15%, transparent) !important; }
.border-brand\/20 { border-color: color-mix(in srgb, var(--tlu-brand) 20%, transparent) !important; }
.border-brand\/30 { border-color: color-mix(in srgb, var(--tlu-brand) 30%, transparent) !important; }
.ring-brand\/5 { --tw-ring-color: color-mix(in srgb, var(--tlu-brand) 5%, transparent) !important; }
.ring-brand\/20 { --tw-ring-color: color-mix(in srgb, var(--tlu-brand) 20%, transparent) !important; }
.shadow-brand\/25 { --tw-shadow-color: var(--tlu-brand-glow) !important; }
.hover\\:bg-brand\\/5:hover { background-color: color-mix(in srgb, var(--tlu-brand) 5%, transparent) !important; }
.hover\\:bg-brand\\/10:hover { background-color: color-mix(in srgb, var(--tlu-brand) 10%, transparent) !important; }
.hover\\:border-brand\\/40:hover { border-color: color-mix(in srgb, var(--tlu-brand) 40%, var(--tlu-border)) !important; }
.hover\\:text-brand:hover { color: var(--tlu-link) !important; }
.focus\\:ring-brand:focus { --tw-ring-color: var(--tlu-brand-soft) !important; }

@media (max-width: 767.98px) {
  .tlu-page-header { align-items: stretch; flex-direction: column; gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .tlu-menu-item, .tlu-btn, .tlu-card { transition-duration: 0.01ms !important; }
}

/* Premium surface compatibility for legacy view utilities */
.border-slate-50, .border-slate-100, .border-slate-200, .border-slate-300 { border-color: var(--tlu-border) !important; }
.bg-white { background-color: var(--tlu-surface) !important; }
.bg-slate-50, .bg-slate-100 { background-color: var(--tlu-surface-2) !important; }
.text-slate-900, .text-slate-800, .text-slate-700, .text-slate-600 { color: var(--tlu-ink) !important; }
.text-slate-500, .text-slate-400 { color: var(--tlu-muted) !important; }
.text-red-600 { color: #dc2626 !important; }
.hover\\:bg-slate-50:hover { background-color: var(--tlu-surface-2) !important; }

/* Homepage composition and motion */
.tlu-home-hero { position: relative; isolation: isolate; }
.tlu-home-hero::before, .tlu-home-hero::after { display: none; content: none; }
.tlu-home-builder { animation: tlu-page-in 0.55s 0.1s cubic-bezier(0.16, 1, 0.3, 1) both; }
.tlu-home-features { animation: tlu-page-in 0.55s 0.2s cubic-bezier(0.16, 1, 0.3, 1) both; }
.tlu-home-hero h1 { max-width: 11ch; font-size: clamp(3rem, 7vw, 6.8rem); line-height: 0.93; letter-spacing: -0.07em; }
.tlu-home-hero h1 span { color: var(--tlu-ink); text-shadow: none; }
.tlu-home-hero > div > div:first-child > div:first-child { border-color: color-mix(in srgb, var(--tlu-brand) 32%, var(--tlu-border)); background: color-mix(in srgb, var(--tlu-brand) 8%, var(--tlu-surface)); box-shadow: 0 0 2rem -1rem var(--tlu-brand-glow); }
.tlu-home-hero .tlu-card, .tlu-home-hero .tlu-surface-raised { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease; }
.tlu-home-hero .tlu-card:hover, .tlu-home-hero .tlu-surface-raised:hover { transform: none; box-shadow: var(--tlu-card-shadow); }
.tlu-home-features > div:last-child > .tlu-card { position: relative; overflow: hidden; border-color: color-mix(in srgb, var(--tlu-brand) 18%, var(--tlu-border)); }
.tlu-home-features > div:last-child > .tlu-card::after { position: absolute; right: -2rem; bottom: -3rem; width: 8rem; height: 8rem; border: 1px solid color-mix(in srgb, var(--tlu-brand) 22%, transparent); border-radius: 50%; content: ''; }
@keyframes tlu-page-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes tlu-orbit { to { transform: rotate(360deg); } }
@keyframes tlu-pulse { 0%, 100% { opacity: .45; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.35); } }

/* Reference-inspired homepage product proof canvas */
.tlu-proof-frame { position: relative; background: #0d121c; border-color: #252e3e; box-shadow: 0 30px 80px -35px rgba(0, 0, 0, .95), 0 0 50px -35px var(--tlu-brand-glow); }
.tlu-proof-timeline { background: #090d14; }
.tlu-proof-event { position: relative; display: flex; width: min(78%, 30rem); min-height: 2.5rem; align-items: center; gap: .75rem; border-radius: 999px; padding: .45rem .55rem .45rem .65rem; color: #fff; font-size: .75rem; font-weight: 700; box-shadow: 0 0 28px -8px currentColor; transform-origin: left center; animation: tlu-event-float 5s ease-in-out infinite; }
.tlu-proof-event b { width: .8rem; height: .8rem; flex: 0 0 auto; border: 3px solid currentColor; border-radius: 50%; background: #090d14; }
.tlu-proof-event span { flex: 1; }
.tlu-proof-event em { border-radius: 999px; background: rgba(255,255,255,.92); padding: .25rem .55rem; color: #171a21; font-size: .65rem; font-style: normal; }
.tlu-proof-orange { margin-left: 3%; background: linear-gradient(90deg, #ff8a3d, #a94a29); color: #ff8a3d; }
.tlu-proof-purple { margin-left: 27%; background: linear-gradient(90deg, #8A9AA8, #3D4A55); color: #8A9AA8; animation-delay: -.9s; }
.tlu-proof-lime { margin-left: 8%; background: linear-gradient(90deg, #b6e33b, #28755a); color: #b6e33b; animation-delay: -1.8s; }
.tlu-proof-cyan { margin-left: 40%; background: linear-gradient(90deg, #4fd1c5, #236867); color: #4fd1c5; animation-delay: -2.7s; }
.tlu-proof-note { position: absolute; right: 2rem; bottom: 2rem; display: grid; max-width: 11rem; gap: .35rem; border: 1px solid #2b3444; border-radius: .75rem; background: rgba(18,22,30,.9); padding: .75rem; box-shadow: 0 18px 35px -20px #000; }
.tlu-proof-note strong { color: #f7f8fb; font-size: .75rem; line-height: 1.35; }
@keyframes tlu-event-float { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
@media (max-width: 639.98px) { .tlu-proof-event { width: 94%; margin-left: 0; } .tlu-proof-note { position: static; margin-top: 1.5rem; max-width: none; } }

/* Dashboard command-center hierarchy */
.tlu-shell-main #dash-create { scroll-margin-top: 6rem; }
.tlu-dashboard-header { position: relative; overflow: hidden; border-bottom-color: var(--tlu-border); }
.tlu-dashboard-header::after { display: none; }
.tlu-dashboard-header h1 { font-size: clamp(1.75rem, 4vw, 3rem); letter-spacing: -0.06em; }
.tlu-dashboard-metrics .tlu-card { background: color-mix(in srgb, var(--tlu-surface) 92%, var(--tlu-brand)); border-color: var(--tlu-border); }
.tlu-dashboard-metrics .tlu-card:hover { transform: translateY(-3px); box-shadow: var(--tlu-card-shadow-hover); }
.tlu-dashboard-metrics .tlu-card:nth-child(2) { background: color-mix(in srgb, #10b981 6%, var(--tlu-surface)); }
.tlu-dashboard-metrics .tlu-card:nth-child(3) { background: color-mix(in srgb, #f59e0b 5%, var(--tlu-surface)); }
.tlu-dashboard-directory { margin-top: 1rem; }
.tlu-directory-toolbar { position: sticky; top: 2.75rem; z-index: 20; padding: 0.75rem 0; background: var(--tlu-page); }
.tlu-directory-toolbar h2 { font-size: 1.2rem; letter-spacing: -0.04em; }
.tlu-shell-main [x-data="calDirectory()"] > .tlu-card { border-radius: var(--tlu-radius-lg); background: color-mix(in srgb, var(--tlu-surface) 96%, var(--tlu-brand)); border-color: var(--tlu-border); }
.tlu-shell-main [x-data="calDirectory()"] .group:hover { background-color: color-mix(in srgb, var(--tlu-brand) 8%, var(--tlu-surface-2)); }
.tlu-dashboard-directory .tlu-card article { min-height: 12rem; }

/* Calendar operating surface */
.tlu-cal-shell { --tlu-calendar-gap: 0.75rem; }
.tlu-cal-shell .tlu-cal-layout { gap: var(--tlu-calendar-gap); }
.tlu-cal-shell .tlu-cal-sidebar, .tlu-cal-shell .tlu-cal-main { border-radius: var(--tlu-radius-lg); }
.tlu-cal-shell .tlu-cal-sidebar {
  box-shadow: var(--tlu-card-shadow);
  background: var(--tlu-region-sidebar-bg, color-mix(in srgb, var(--tlu-surface) 94%, var(--tlu-brand)));
  border-color: var(--tlu-region-sidebar-border, var(--tlu-border));
  color: var(--tlu-region-sidebar-ink, var(--tlu-ink));
}
.tlu-calendar-command { transition: background-color 0.2s ease; }
.tlu-calendar-command > div {
  box-shadow: none;
  background: var(--tlu-region-command-bg, var(--tlu-surface));
  border-color: var(--tlu-region-command-border, var(--tlu-border)) !important;
  color: var(--tlu-region-command-ink, var(--tlu-ink));
  border-radius: var(--tlu-radius) !important;
}
.tlu-calendar-canvas {
  box-shadow: var(--tlu-card-shadow);
  background: var(--tlu-region-canvas-bg, color-mix(in srgb, var(--tlu-surface) 96%, var(--tlu-brand)));
  border-color: var(--tlu-region-canvas-border, var(--tlu-border)) !important;
  color: var(--tlu-region-canvas-ink, var(--tlu-ink));
}
.tlu-cal-shell .fc .fc-toolbar { gap: 0.75rem; padding: 0.25rem 0 0.875rem; margin-bottom: 0.75rem; border-bottom: 1px solid color-mix(in srgb, var(--tlu-border) 70%, transparent); }
.tlu-cal-shell .fc .fc-toolbar-title { font-size: clamp(1rem, 1.5vw, 1.3rem); color: var(--tlu-ink); }
.tlu-cal-shell .fc .fc-day-today { background: color-mix(in srgb, var(--tlu-brand) 9%, transparent) !important; }
.tlu-cal-shell .fc .fc-daygrid-day:hover { background: color-mix(in srgb, var(--tlu-brand) 6%, transparent); }
.tlu-cal-shell .fc .fc-daygrid-event { box-shadow: none; }
.tlu-cal-shell .tlu-cal-sidebar .tlu-side-sec + .tlu-side-sec { border-color: color-mix(in srgb, var(--tlu-border) 70%, transparent); }
.tlu-cal-shell [data-focus-trap] { border-radius: var(--tlu-radius-lg); }
.tlu-cal-shell .tlu-collapse-btn { min-width: 2.75rem; min-height: 2.75rem; }
.tlu-cal-shell .tlu-side-sec:first-child .tlu-btn-primary { box-shadow: none; }
.tlu-cal-shell .tlu-layer-row:hover { box-shadow: inset 2px 0 0 var(--tlu-brand); }
.tlu-layer-vis {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.25rem; min-height: 2.25rem;
  border: 0; background: transparent; color: var(--tlu-ink);
  border-radius: 0.4rem; cursor: pointer; padding: 0;
  -webkit-tap-highlight-color: transparent;
}
.tlu-layer-vis svg { color: var(--tlu-brand); }
.tlu-layer-main {
  min-height: 2.25rem; border: 0; background: transparent; cursor: pointer;
  padding: 0 0.15rem; -webkit-tap-highlight-color: transparent;
}
.tlu-layer-solo {
  flex-shrink: 0;
  font-size: 9px; font-family: ui-monospace, monospace; font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--tlu-muted); background: transparent; border: 0;
  min-height: 2.25rem; padding: 0 0.35rem; cursor: pointer;
}
.tlu-layer-solo:hover { color: var(--tlu-ink); }
.tlu-layer-edit {
  flex-shrink: 0;
  font-size: 11px; font-weight: 700; line-height: 1;
  letter-spacing: 0.01em;
  color: var(--tlu-brand);
  background: color-mix(in srgb, var(--tlu-brand) 16%, var(--tlu-surface));
  border: 1px solid color-mix(in srgb, var(--tlu-brand) 45%, var(--tlu-border));
  border-radius: 0.35rem;
  min-height: 2rem; min-width: 2.75rem;
  padding: 0.28rem 0.5rem;
  cursor: pointer;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.tlu-layer-edit:hover {
  color: #fff;
  background: var(--tlu-brand);
  border-color: var(--tlu-brand);
}
.tlu-layer-add-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.75rem; min-height: 1.75rem;
  border-radius: 0.35rem;
  border: 1px solid color-mix(in srgb, var(--tlu-brand) 45%, var(--tlu-border));
  background: var(--tlu-brand-soft);
  color: var(--tlu-brand);
  font-size: 1rem; font-weight: 700; line-height: 1;
  cursor: pointer;
}
.tlu-layer-pane {
  position: fixed; inset: 0; z-index: 60;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}
.tlu-layer-pane-scrim {
  position: absolute; inset: 0;
  background: rgba(15, 18, 22, 0.45);
  backdrop-filter: blur(2px);
}
.tlu-layer-pane-card {
  position: relative;
  width: min(22rem, 100%);
  max-height: min(88dvh, 36rem);
  overflow: auto;
  background: var(--tlu-surface);
  color: var(--tlu-ink);
  border: 1px solid var(--tlu-border);
  border-radius: 0.85rem;
  box-shadow: 0 18px 40px -16px rgba(0,0,0,.45);
}
.tlu-layer-pane-head {
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid var(--tlu-border);
}
.tlu-layer-pane-body { padding: 0.85rem 0.9rem 1rem; display: flex; flex-direction: column; gap: 0.7rem; }
.tlu-layer-pane-label {
  display: block; font-size: 10px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--tlu-muted); margin-bottom: 0.25rem;
}
.tlu-layer-pane-split { height: 1px; background: var(--tlu-border); margin: 0.15rem 0; }
.tlu-layer-color {
  width: 2.5rem; height: 2.25rem; padding: 0; border-radius: 0.4rem;
  border: 1px solid var(--tlu-border); background: var(--tlu-surface-2); cursor: pointer;
}
@media (pointer: coarse) {
  .tlu-layer-edit, .tlu-layer-vis, .tlu-layer-solo, .tlu-layer-main, .tlu-layer-add-btn {
    min-height: 2.75rem;
  }
  .tlu-layer-edit { min-width: 3.25rem; font-size: 12px; padding: 0.4rem 0.65rem; }
  .tlu-layer-pane-body .tlu-input, .tlu-layer-pane-body .tlu-btn { min-height: 2.75rem; }
}
@media (max-width: 639.98px) {
  .tlu-layer-pane { align-items: flex-end; padding: 0; }
  .tlu-layer-pane-card {
    width: 100%;
    max-height: 92dvh;
    border-radius: 1rem 1rem 0 0;
  }
}

@media (max-width: 639.98px) {
  .tlu-directory-toolbar { position: static; }
  .tlu-dashboard-metrics .tlu-card { min-height: 0; }
  .tlu-calendar-command { top: 2.75rem; }
  .tlu-calendar-command > div { border-radius: var(--tlu-radius); }
  .tlu-cal-shell .fc .fc-toolbar { flex-wrap: wrap; }
  .tlu-cal-shell .fc .fc-toolbar-title { order: -1; width: 100%; }
  .tlu-cal-shell .fc-button-primary {
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0.35rem 0.55rem !important;
  }
  .tlu-cal-shell .fc-daygrid-day-frame { overflow: hidden; }
  .tlu-cal-shell .fc-daygrid-event-harness { max-width: 100%; }
  .tlu-cal-shell .fc-daygrid-event {
    max-width: 100%;
    overflow: hidden;
    min-height: 1.2rem;
    font-size: 0.62rem !important;
    padding: 2px 4px !important;
    line-height: 1.2 !important;
    margin: 1px 1px 0 !important;
  }
  .tlu-cal-shell .tlu-ev-chip { gap: 0.2rem; min-height: 1rem; }
  .tlu-cal-shell .tlu-ev-block .tlu-ev-meta { display: none; }
  .tlu-cal-shell .tlu-ev-block .tlu-ev-title { font-size: 0.7rem; }
  .tlu-cal-shell .fc-event-title,
  .tlu-cal-shell .fc-event-time {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.tlu-sidebar-scrim { display: none; }
@media (max-width: 1023.98px) {
  .tlu-sidebar-scrim {
    display: block;
    position: fixed;
    top: var(--tlu-header-h, 2.75rem);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 45;
    background: rgba(0, 0, 0, 0.45);
  }
  .tlu-cal-sidebar { z-index: 50; }
}

.tlu-fab {
  display: none;
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 40;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
  border: none;
  background: var(--tlu-brand);
  color: #fff;
  box-shadow: 0 10px 28px -10px var(--tlu-brand-glow);
  cursor: pointer;
}
@media (max-width: 1023.98px) {
  .tlu-fab { display: inline-flex; align-items: center; justify-content: center; }
}
.tlu-fab:hover { filter: brightness(1.08); }

.tlu-inspector-footer .tlu-btn {
  min-height: 2rem !important;
  padding: 0.28rem 0.65rem !important;
  font-size: 0.7rem !important;
  border-radius: 0.4rem !important;
}

/* Event viewer / editor / create: sit under the top bar, keep Save visible. */
.tlu-inspector {
  position: fixed;
  top: var(--tlu-header-h, 2.75rem);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 50;
}
.tlu-inspector-panel {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: 100%;
  max-width: 36rem;
  height: auto;
  max-height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.tlu-inspector-head {
  flex: 0 0 auto;
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
}
.tlu-inspector-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
.tlu-inspector-footer {
  flex: 0 0 auto;
}

@media (orientation: portrait) and (max-width: 639.98px) {
  .tlu-inspector-panel {
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: min(92dvh, 100%) !important;
    max-height: 92dvh !important;
    border-radius: 1rem 1rem 0 0 !important;
  }
  .tlu-inspector-head { padding: 0.65rem 1rem !important; }
  .tlu-inspector-body { padding: 0.75rem 1rem !important; }
  .tlu-inspector-footer { padding: 0.5rem 1rem !important; }
}

@media (orientation: landscape) and (max-height: 540px) {
  .tlu-inspector-panel {
    top: 0.4rem !important;
    bottom: 0.4rem !important;
    right: 0.4rem !important;
    width: min(34rem, calc(100vw - 0.8rem)) !important;
    max-width: none !important;
    border-radius: 0.75rem !important;
    border: 1px solid var(--tlu-border) !important;
  }
  .tlu-inspector-head { padding: 0.4rem 0.75rem !important; }
  .tlu-inspector-body { padding: 0.55rem 0.75rem !important; gap: 0.65rem; }
  .tlu-inspector-footer { padding: 0.35rem 0.75rem !important; }
  .tlu-inspector-actions {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .tlu-inspector-footer .tlu-btn {
    min-height: 1.7rem !important;
    padding: 0.18rem 0.5rem !important;
    font-size: 0.65rem !important;
    flex: 0 0 auto;
  }
  .tlu-inspector-body .tlu-input { padding-top: 0.3rem; padding-bottom: 0.3rem; }
  .tlu-inspector-body section { padding-top: 0.5rem !important; }
}

@media (pointer: coarse) {
  .tlu-inspector-footer .tlu-btn { min-height: 2rem !important; }
}

@media (max-width: 1023.98px) {
  .tlu-cal-shell .fc .fc-daygrid-body,
  .tlu-cal-shell .fc .fc-daygrid-day,
  .tlu-cal-shell .fc .fc-scrollgrid,
  .tlu-cal-shell .fc .fc-daygrid-day-frame {
    touch-action: pan-y;
  }
  .tlu-manage-rail, .tlu-account-rail { position: static; }
  .tlu-manage-rail nav, .tlu-account-rail nav { scrollbar-width: thin; }
  .tlu-cal-shell .tlu-cal-main { min-height: 0; }
} 

/* Manage/account rail and tables */
.tlu-manage-rail, .tlu-account-rail { position: sticky; top: 3.5rem; }
.tlu-manage-rail nav a, .tlu-account-rail nav a { min-height: 2.5rem; display: flex; align-items: center; white-space: nowrap; }
.tlu-manage-layout > div, .tlu-account-layout > div { min-width: 0; }
.tlu-shell-main table thead { background: var(--tlu-surface-2); }
.tlu-shell-main table tbody tr { transition: background-color 0.16s ease; }
.tlu-shell-main table tbody tr:hover { background: color-mix(in srgb, var(--tlu-brand) 8%, var(--tlu-surface-2)); }

@media (pointer: coarse) {
  .tlu-btn, .tlu-collapse-btn, .tlu-menu-item, .tlu-manage-rail nav a, .tlu-account-rail nav a { min-height: 2.75rem; }
  .tlu-topic-btn { min-height: 4.5rem; }
}

#tlu-cmdk[hidden] { display: none !important; }
#tlu-cmdk { position: fixed; inset: 0; z-index: 80; }
.tlu-cmdk-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.tlu-cmdk-box { position: relative; margin: 12vh auto 0; width: min(32rem, calc(100% - 2rem)); background: var(--tlu-surface); border: 1px solid var(--tlu-border); border-radius: var(--tlu-radius); padding: 0.75rem; box-shadow: var(--tlu-pop-shadow); }
.tlu-cmdk-list { margin-top: 0.5rem; max-height: 16rem; overflow: auto; }
.tlu-cmdk-list a { display: block; padding: 0.5rem 0.625rem; font-size: 0.8125rem; color: var(--tlu-ink); }
.tlu-cmdk-list a:hover { background: var(--tlu-surface-2); }

@media (prefers-reduced-motion: reduce) {
  .tlu-home-hero, .tlu-home-builder, .tlu-home-features, .tlu-home-hero::before, .tlu-home-hero::after { animation: none; }
  .tlu-home-hero .tlu-card, .tlu-home-hero .tlu-surface-raised { transition-duration: 0.01ms !important; }
  .tlu-calendar-command, .tlu-menu-item, .tlu-card, .tlu-btn { transition-duration: 0.01ms !important; }
  .tlu-proof-event { animation: none; }
}

/* ─── Custom UI: regions, layout slots, builder ─── */
.tlu-cal-sidebar {
  background: var(--tlu-region-sidebar-bg, var(--tlu-surface));
  border-color: var(--tlu-region-sidebar-border, var(--tlu-border));
  color: var(--tlu-region-sidebar-ink, var(--tlu-ink));
}
.tlu-cal-main {
  background: var(--tlu-region-canvas-bg, transparent);
  color: var(--tlu-region-canvas-ink, var(--tlu-ink));
}
.tlu-calendar-command {
  color: var(--tlu-region-command-ink, var(--tlu-ink));
}
.tlu-cal-shell .fc .fc-col-header,
.tlu-cal-shell .fc th.fc-col-header-cell {
  background: var(--tlu-region-daybar-bg, transparent);
  border-color: var(--tlu-region-daybar-border, var(--tlu-cal-grid));
}
.tlu-cal-shell .fc .fc-col-header-cell-cushion {
  color: var(--tlu-region-daybar-ink, var(--tlu-muted));
}
.tlu-inspector-panel {
  background: var(--tlu-region-inspector-bg, var(--tlu-surface));
  border-color: var(--tlu-region-inspector-border, var(--tlu-border));
  color: var(--tlu-region-inspector-ink, var(--tlu-ink));
}

/* When a region has custom fill/text/line, retarget skin tokens so
   buttons, labels and Tailwind text-[var(--tlu-ink)] follow it. */
html[data-tlu-reg-topbar-paint="1"] .tlu-header {
  --tlu-ink: var(--tlu-region-topbar-ink);
  --tlu-border: var(--tlu-region-topbar-border);
  --tlu-surface: var(--tlu-region-topbar-bg);
  --tlu-surface-2: color-mix(in srgb, var(--tlu-region-topbar-bg, var(--tlu-surface)) 78%, var(--tlu-region-topbar-ink, var(--tlu-ink)));
  --tlu-muted: color-mix(in srgb, var(--tlu-region-topbar-ink, var(--tlu-ink)) 62%, var(--tlu-region-topbar-bg, var(--tlu-surface)));
  --tlu-input-bg: var(--tlu-region-topbar-bg, var(--tlu-input-bg));
}
html[data-tlu-reg-sidebar-paint="1"] .tlu-cal-sidebar {
  --tlu-ink: var(--tlu-region-sidebar-ink);
  --tlu-border: var(--tlu-region-sidebar-border);
  --tlu-surface: var(--tlu-region-sidebar-bg);
  --tlu-surface-2: color-mix(in srgb, var(--tlu-region-sidebar-bg, var(--tlu-surface)) 78%, var(--tlu-region-sidebar-ink, var(--tlu-ink)));
  --tlu-muted: color-mix(in srgb, var(--tlu-region-sidebar-ink, var(--tlu-ink)) 62%, var(--tlu-region-sidebar-bg, var(--tlu-surface)));
  --tlu-input-bg: var(--tlu-region-sidebar-bg, var(--tlu-input-bg));
}
html[data-tlu-reg-command-paint="1"] .tlu-calendar-command {
  --tlu-ink: var(--tlu-region-command-ink);
  --tlu-border: var(--tlu-region-command-border);
  --tlu-surface: var(--tlu-region-command-bg);
  --tlu-surface-2: color-mix(in srgb, var(--tlu-region-command-bg, var(--tlu-surface)) 78%, var(--tlu-region-command-ink, var(--tlu-ink)));
  --tlu-muted: color-mix(in srgb, var(--tlu-region-command-ink, var(--tlu-ink)) 62%, var(--tlu-region-command-bg, var(--tlu-surface)));
}
html[data-tlu-reg-canvas-paint="1"] .tlu-cal-main {
  --tlu-ink: var(--tlu-region-canvas-ink);
  --tlu-border: var(--tlu-region-canvas-border);
  --tlu-surface: var(--tlu-region-canvas-bg);
  --tlu-muted: color-mix(in srgb, var(--tlu-region-canvas-ink, var(--tlu-ink)) 62%, var(--tlu-region-canvas-bg, var(--tlu-surface)));
}
html[data-tlu-reg-inspector-paint="1"] .tlu-inspector-panel {
  --tlu-ink: var(--tlu-region-inspector-ink);
  --tlu-border: var(--tlu-region-inspector-border);
  --tlu-surface: var(--tlu-region-inspector-bg);
  --tlu-muted: color-mix(in srgb, var(--tlu-region-inspector-ink, var(--tlu-ink)) 62%, var(--tlu-region-inspector-bg, var(--tlu-surface)));
}
html[data-tlu-reg-menu-paint="1"] .tlu-menu {
  --tlu-ink: var(--tlu-region-menu-ink);
  --tlu-border: var(--tlu-region-menu-border);
  --tlu-surface: var(--tlu-region-menu-bg);
}

@media (min-width: 1024px) {
  .tlu-cal-shell[data-tlu-sidebar="right"] .tlu-cal-layout { flex-direction: row-reverse; }
  .tlu-cal-shell[data-tlu-sidebar="right"] .tlu-cal-sidebar.is-collapsed { transform: translateX(12px); }
  .tlu-cal-shell[data-tlu-sidebar="hidden"] .tlu-cal-sidebar { display: none; }
  .tlu-cal-shell[data-tlu-sidebar-w="240"] .tlu-cal-sidebar { width: 240px; }
  .tlu-cal-shell[data-tlu-sidebar-w="288"] .tlu-cal-sidebar { width: 288px; }
  .tlu-cal-shell[data-tlu-sidebar-w="320"] .tlu-cal-sidebar { width: 320px; }
  .tlu-cal-shell .tlu-cal-sidebar.is-collapsed,
  .tlu-cal-shell[data-tlu-sidebar-w="240"] .tlu-cal-sidebar.is-collapsed,
  .tlu-cal-shell[data-tlu-sidebar-w="288"] .tlu-cal-sidebar.is-collapsed,
  .tlu-cal-shell[data-tlu-sidebar-w="320"] .tlu-cal-sidebar.is-collapsed {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-width: 0 !important;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: none;
  }
  .tlu-cal-layout:has(.tlu-cal-sidebar.is-collapsed) { gap: 0; }
  .tlu-sidebar-close { display: none !important; }
  .tlu-cal-shell[data-tlu-inspector="modal"] .tlu-inspector-panel,
  html[data-tlu-inspector="modal"] .tlu-inspector-panel {
    inset: auto !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(36rem, calc(100vw - 2rem));
    max-height: min(42rem, calc(100% - 1.5rem));
    border: 1px solid var(--tlu-region-inspector-border, var(--tlu-border));
    border-radius: var(--tlu-radius);
  }
}
.tlu-cal-shell[data-tlu-mini-cal="0"] .tlu-side-sec:has(#mini-calendar) { display: none; }
.tlu-cal-shell[data-tlu-layer-search="0"] .tlu-layer-filter { display: none; }
html[data-tlu-cluster="command"] #tlu-hud-cluster { display: none !important; }
html[data-tlu-cluster="command"] .tlu-view-cluster-local,
.tlu-cal-shell[data-tlu-cluster="command"] .tlu-view-cluster-local { display: flex !important; }

.tlu-palette-menu {
  width: 16.75rem;
  max-height: min(28rem, calc(100vh - 4rem));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.tlu-palette-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0.2rem 0 0.15rem; }
.tlu-palette-foot {
  flex: 0 0 auto;
  border-top: 1px solid var(--tlu-border);
  background: var(--tlu-surface);
  padding: 0.4rem 0.65rem 0.5rem;
}
.tlu-palette-label {
  padding: 0.2rem 0.75rem 0.15rem;
  font-family: ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--tlu-muted);
}
.tlu-palette-actions { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: 0.35rem; }
.tlu-luma-row { display: flex; gap: 0.25rem; padding: 0.15rem 0.75rem 0.35rem; }
.tlu-luma-row button {
  flex: 1;
  min-height: 1.6rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid var(--tlu-border);
  background: var(--tlu-surface-2);
  color: var(--tlu-muted);
  border-radius: 0.25rem;
  cursor: pointer;
}
.tlu-luma-row button.is-on { background: var(--tlu-brand); color: #fff; border-color: var(--tlu-brand); }
.tlu-tone-row { padding: 0.05rem 0.75rem 0.4rem; }
.tlu-tone-row label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--tlu-muted);
  margin-bottom: 0.15rem;
}
.tlu-tone-row input[type=range],
.tlu-tone-range {
  width: 100%;
  accent-color: var(--tlu-brand);
  height: 1.35rem;
}
.tlu-tone-hint {
  margin: 0.25rem 0 0;
  font-size: 10px;
  line-height: 1.35;
  color: var(--tlu-muted);
}
.tlu-skin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.25rem; padding: 0 0.75rem 0.5rem; }
.tlu-skin-grid button { justify-content: flex-start; min-height: 2rem; }
.tlu-skin-swatches, .tlu-accent-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.28rem;
  padding: 0.1rem 0.75rem 0.4rem;
  align-items: center;
  justify-items: center;
}
.tlu-skin-swatches .tlu-swatch, .tlu-accent-row .tlu-swatch {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.2rem;
  cursor: pointer;
}
.tlu-tone-radios {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.2rem 0.45rem;
  padding: 0.05rem 0.75rem 0.3rem;
}
.tlu-tone-radios label {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--tlu-ink);
  min-height: 1.45rem;
  cursor: pointer;
}
.tlu-tone-radios input { accent-color: var(--tlu-brand); margin: 0; }

@media (max-width: 639.98px) {
  .tlu-palette-menu {
    position: fixed !important;
    left: 0.5rem;
    right: 0.5rem;
    bottom: max(0.5rem, env(safe-area-inset-bottom));
    top: auto;
    width: auto;
    max-height: min(72dvh, 30rem);
    margin: 0 !important;
  }
  .tlu-skin-swatches .tlu-swatch,
  .tlu-accent-row .tlu-swatch {
    width: 1.85rem;
    height: 1.85rem;
  }
  .tlu-tone-radios label { min-height: 2.5rem; font-size: 11px; }
  .tlu-tone-row input[type=range],
  .tlu-tone-range { min-height: 2.5rem; }
  .tlu-luma-row button { min-height: 2.5rem; }
  .tlu-palette-foot .tlu-menu-apply,
  .tlu-palette-foot .tlu-menu-item { min-height: 2.5rem; }
}
@media (pointer: coarse) {
  .tlu-cal-shell .fc .fc-scroller { touch-action: pan-x pan-y; }
  .tlu-ui-builder-body { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .tlu-tone-row input[type=range]::-webkit-slider-thumb { width: 1.25rem; height: 1.25rem; }
}

.tlu-ui-builder {
  position: fixed;
  top: var(--tlu-header-h, 2.75rem);
  right: 0;
  bottom: 0;
  z-index: 55;
  width: min(22rem, 100vw);
  background: var(--tlu-surface);
  border-left: 1px solid var(--tlu-border);
  box-shadow: var(--tlu-pop-shadow);
  display: none;
  flex-direction: column;
  pointer-events: auto;
}
.tlu-ui-builder.is-open { display: flex; }
.tlu-ui-builder-head, .tlu-ui-builder-foot {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid var(--tlu-border);
  flex-shrink: 0;
}
.tlu-ui-builder-foot { border-bottom: 0; border-top: 1px solid var(--tlu-border); justify-content: flex-end; flex-wrap: wrap; }
.tlu-ui-builder-tabs { display: flex; gap: 0.15rem; padding: 0.35rem 0.75rem; border-bottom: 1px solid var(--tlu-border); }
.tlu-ui-builder-tabs button {
  flex: 1;
  min-height: 1.75rem;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--tlu-muted);
  background: transparent;
  border: 0;
  cursor: pointer;
  border-radius: 0.25rem;
}
.tlu-ui-builder-tabs button.is-on { background: var(--tlu-surface-2); color: var(--tlu-ink); }
.tlu-ui-builder-body { flex: 1; overflow-y: auto; padding: 0.85rem; display: flex; flex-direction: column; gap: 0.85rem; }
.tlu-ui-field label { display: block; font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tlu-muted); margin-bottom: 0.3rem; }
.tlu-ui-color { display: flex; align-items: center; gap: 0.4rem; }
.tlu-ui-color input[type="color"] {
  width: 2rem; height: 1.6rem; padding: 0; border: 1px solid var(--tlu-border);
  background: var(--tlu-surface-2); cursor: pointer; border-radius: 0.25rem;
}
.tlu-ui-builder-note { font-size: 10px; color: var(--tlu-muted); line-height: 1.4; }
.tlu-ui-chip {
  font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  padding: 0.3rem 0.5rem; border: 1px solid var(--tlu-border); border-radius: 0.25rem;
  background: var(--tlu-surface-2); color: var(--tlu-muted); cursor: pointer;
}
.tlu-ui-chip.is-on { background: var(--tlu-brand); color: #fff; border-color: var(--tlu-brand); }
body.tlu-builder-open .tlu-cal-shell { padding-right: min(22rem, 100vw); }

.tlu-cal-sidebar, .tlu-cal-main, .tlu-calendar-command { position: relative; }
.tlu-ui-drag-handle {
  position: absolute; top: 0.35rem; right: 0.35rem; z-index: 8;
  width: 1.5rem; height: 1.5rem; border-radius: 0.25rem;
  border: 1px solid var(--tlu-border); background: var(--tlu-surface);
  color: var(--tlu-muted); font-size: 11px; line-height: 1; cursor: grab;
  display: none; align-items: center; justify-content: center;
}
.tlu-ui-drag-handle-dock { top: 0.35rem; right: 0.35rem; left: auto; }
.tlu-ui-drag-handle-block {
  top: 0.35rem; left: 0.35rem; right: auto;
  letter-spacing: -0.15em;
  font-size: 12px;
  cursor: grab;
}
body.tlu-builder-open .tlu-ui-drag-handle { display: inline-flex; }
body.tlu-builder-open .tlu-cal-sidebar [data-tlu-block] {
  position: relative;
  padding-left: 2.1rem;
}
.tlu-notice-slot-table {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.tlu-notice-slot-card {
  border: 1px solid var(--tlu-border);
  border-radius: 0.4rem;
  background: var(--tlu-surface);
  overflow: hidden;
}
.tlu-notice-slot-head {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.6rem;
  cursor: pointer;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}
.tlu-notice-slot-head input {
  margin-top: 0.15rem;
  flex-shrink: 0;
}
.tlu-notice-slot-title {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.tlu-notice-slot-title strong {
  font-size: 11px;
  font-weight: 700;
  color: var(--tlu-ink);
}
.tlu-notice-slot-title span {
  font-size: 10px;
  font-weight: 500;
  color: var(--tlu-muted);
  line-height: 1.3;
}
.tlu-notice-slot-body {
  border-top: 1px solid var(--tlu-border);
  padding: 0.45rem 0.5rem 0.55rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  background: var(--tlu-surface-2);
}
.tlu-notice-slot-card.is-off .tlu-notice-slot-body { display: none; }
.tlu-notice-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid var(--tlu-border);
  border-radius: 0.35rem;
  padding: 0.35rem 0.4rem;
  background: var(--tlu-surface);
}
.tlu-notice-row label {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--tlu-ink);
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  cursor: pointer;
}
.tlu-notice-row .tlu-notice-num {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-weight: 800;
  color: var(--tlu-muted);
  flex-shrink: 0;
}
.tlu-notice-row .tlu-notice-body {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tlu-notice-ord {
  display: inline-flex;
  width: 1.4rem;
  height: 1.4rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tlu-border);
  background: var(--tlu-surface);
  color: var(--tlu-muted);
  border-radius: 0.25rem;
  font-size: 10px;
  cursor: pointer;
}
.tlu-ui-block-ph {
  min-height: 2.5rem;
  border: 2px dashed var(--tlu-brand);
  border-radius: 0.5rem;
  background: var(--tlu-brand-soft);
  pointer-events: none;
}
.tlu-ui-ghost {
  position: fixed;
  z-index: 90;
  pointer-events: none;
  opacity: 0.94;
  box-shadow: var(--tlu-pop-shadow);
  margin: 0 !important;
}
body.tlu-ui-dragging { cursor: grabbing; }
.tlu-ui-draggable.is-dragging { outline: 2px dashed var(--tlu-brand); opacity: 0.85; }
.tlu-ui-selected { outline: 2px solid var(--tlu-brand); outline-offset: 1px; }
.tlu-ui-dropzone {
  display: none; position: fixed; top: 20%; bottom: 20%; width: 4.5rem; z-index: 70;
  align-items: center; justify-content: center; writing-mode: vertical-rl;
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--tlu-muted); border: 2px dashed var(--tlu-border); background: color-mix(in srgb, var(--tlu-surface) 85%, transparent);
  pointer-events: none;
}
.tlu-ui-dropzone.is-live { display: flex; pointer-events: auto; }
.tlu-ui-dropzone[data-drop-side="left"] { left: 0.5rem; }
.tlu-ui-dropzone[data-drop-side="right"] { right: min(22.5rem, calc(100vw - 5rem)); }
.tlu-ui-dropzone.is-hot { border-color: var(--tlu-brand); color: var(--tlu-ink); background: var(--tlu-brand-soft); }
body.tlu-ui-dragging { cursor: grabbing; user-select: none; }

html[data-tlu-reg-topbar-transparent="1"] .tlu-header,
html[data-tlu-reg-topbar-transparent="1"] .tlu-header.is-scrolled { background: transparent; }
html[data-tlu-reg-sidebar-transparent="1"] .tlu-cal-sidebar,
html[data-tlu-reg-sidebar-transparent="1"] .tlu-cal-shell .tlu-cal-sidebar { background: transparent; }
html[data-tlu-reg-canvas-transparent="1"] .tlu-cal-main,
html[data-tlu-reg-canvas-transparent="1"] .tlu-calendar-canvas { background: transparent; }
html[data-tlu-reg-command-transparent="1"] .tlu-calendar-command > div { background: transparent; }
html[data-tlu-reg-inspector-transparent="1"] .tlu-inspector-panel { background: transparent; }
html[data-tlu-reg-menu-transparent="1"] .tlu-menu { background: transparent; }
html[data-tlu-reg-topbar-outline="1"] .tlu-header { outline: 2px solid var(--tlu-region-topbar-border, var(--tlu-brand)); }
html[data-tlu-reg-sidebar-outline="1"] .tlu-cal-sidebar { outline: 2px solid var(--tlu-region-sidebar-border, var(--tlu-brand)); }
html[data-tlu-reg-command-outline="1"] .tlu-calendar-command > div { outline: 2px solid var(--tlu-region-command-border, var(--tlu-brand)); }
html[data-tlu-reg-canvas-outline="1"] .tlu-cal-main { outline: 2px solid var(--tlu-region-canvas-border, var(--tlu-brand)); }
html[data-tlu-reg-daybar-outline="1"] .tlu-cal-shell .fc-col-header { outline: 2px solid var(--tlu-region-daybar-border, var(--tlu-brand)); }
html[data-tlu-reg-inspector-outline="1"] .tlu-inspector-panel { outline: 2px solid var(--tlu-region-inspector-border, var(--tlu-brand)); }
html[data-tlu-reg-menu-outline="1"] .tlu-menu { outline: 2px solid var(--tlu-region-menu-border, var(--tlu-brand)); }
html[data-tlu-reg-topbar-shadow="soft"] .tlu-header { box-shadow: 0 8px 24px -12px rgba(0,0,0,.45); }
html[data-tlu-reg-topbar-shadow="strong"] .tlu-header { box-shadow: 0 18px 40px -16px rgba(0,0,0,.7); }
html[data-tlu-reg-sidebar-shadow="soft"] .tlu-cal-sidebar { box-shadow: 0 8px 24px -12px rgba(0,0,0,.45); }
html[data-tlu-reg-sidebar-shadow="strong"] .tlu-cal-sidebar { box-shadow: 0 18px 40px -16px rgba(0,0,0,.7); }
html[data-tlu-reg-command-shadow="soft"] .tlu-calendar-command > div { box-shadow: 0 8px 24px -12px rgba(0,0,0,.45); }
html[data-tlu-reg-command-shadow="strong"] .tlu-calendar-command > div { box-shadow: 0 18px 40px -16px rgba(0,0,0,.7); }
html[data-tlu-reg-canvas-shadow="soft"] .tlu-cal-main { box-shadow: 0 8px 24px -12px rgba(0,0,0,.45); }
html[data-tlu-reg-canvas-shadow="strong"] .tlu-cal-main { box-shadow: 0 18px 40px -16px rgba(0,0,0,.7); }
html[data-tlu-reg-inspector-shadow="soft"] .tlu-inspector-panel { box-shadow: 0 8px 24px -12px rgba(0,0,0,.45); }
html[data-tlu-reg-inspector-shadow="strong"] .tlu-inspector-panel { box-shadow: 0 18px 40px -16px rgba(0,0,0,.7); }
.tlu-header { opacity: var(--tlu-region-topbar-opacity, 1); }
.tlu-cal-sidebar:not(.is-collapsed) { opacity: var(--tlu-region-sidebar-opacity, 1); }
.tlu-calendar-command { opacity: var(--tlu-region-command-opacity, 1); }
.tlu-cal-main { opacity: var(--tlu-region-canvas-opacity, 1); }
.tlu-inspector-panel { opacity: var(--tlu-region-inspector-opacity, 1); }
.tlu-ui-copy-row { display: flex; flex-wrap: wrap; gap: 0.25rem; }

@media (max-width: 1023.98px) {
  .tlu-ui-builder { width: 100%; }
  body.tlu-builder-open .tlu-cal-shell { padding-right: 0; }
  .tlu-ui-drag-handle, .tlu-ui-dropzone { display: none !important; }
}

.tlu-looks-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .tlu-looks-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
.tlu-looks-col { min-width: 0; }
.tlu-looks-card {
  border: 1px solid var(--tlu-border);
  border-radius: var(--tlu-radius, 0.375rem);
  padding: 0.85rem 1rem;
  background: var(--tlu-surface-2);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
body.tlu-builder-open .tlu-account-layout { padding-right: min(22rem, 100vw); }
@media (max-width: 1023.98px) {
  body.tlu-builder-open .tlu-account-layout { padding-right: 0; }
}

/* Homepage Custom UI demo */
.tlu-home-demo-body { margin: 0; background: var(--tlu-page); color: var(--tlu-ink); }
.tlu-home-demo-shell { min-height: 100vh; display: flex; flex-direction: column; }
.tlu-home-demo-topbar { position: relative; }
.tlu-home-demo-cal { display: grid; grid-template-columns: 9.5rem 1fr; min-height: 22rem; flex: 1; }
.tlu-home-demo-side {
  background: var(--tlu-region-sidebar-bg, var(--tlu-surface));
  color: var(--tlu-region-sidebar-ink, var(--tlu-ink));
  border-right: 1px solid var(--tlu-region-sidebar-border, var(--tlu-border));
  padding: 1rem;
}
.tlu-home-demo-canvas {
  background: var(--tlu-region-canvas-bg, color-mix(in srgb, var(--tlu-surface) 96%, var(--tlu-brand)));
  color: var(--tlu-region-canvas-ink, var(--tlu-ink));
  padding: 1rem 1.25rem;
  position: relative;
}
.tlu-home-demo-days {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: .25rem;
  border-bottom: 1px solid var(--tlu-region-daybar-border, var(--tlu-cal-grid));
  padding-bottom: .5rem; text-align: center;
  font-family: ui-monospace, monospace; font-size: 9px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--tlu-region-daybar-ink, var(--tlu-muted));
}
.tlu-home-demo-events { margin-top: 1.25rem; display: flex; flex-direction: column; gap: .85rem; }
.tlu-home-demo-events .tlu-proof-event { width: var(--w, 60%); }
.tlu-home-demo {
  border: 1px solid var(--tlu-border);
  border-radius: var(--tlu-radius-lg, .5rem);
}
.tlu-home-demo-toolbar {
  display: flex; flex-direction: column; gap: .65rem;
  padding: .85rem 1rem; border-bottom: 1px solid var(--tlu-border);
  background: var(--tlu-surface);
}
.tlu-home-demo-skins { display: flex; flex-wrap: wrap; gap: .35rem; }
.tlu-home-demo-chip {
  display: inline-flex; align-items: center; gap: .35rem;
  border: 1px solid var(--tlu-border); border-radius: var(--tlu-radius-sm);
  background: var(--tlu-surface-2); color: var(--tlu-ink);
  font-size: 11px; font-weight: 600; padding: .3rem .55rem; cursor: pointer;
}
.tlu-home-demo-chip.is-on, .tlu-home-demo-toolbar .is-on {
  border-color: color-mix(in srgb, var(--tlu-brand) 55%, var(--tlu-border));
  background: color-mix(in srgb, var(--tlu-brand) 12%, var(--tlu-surface));
}
.tlu-home-demo-frame {
  display: block; width: 100%; height: 22rem; border: 0;
  background: var(--tlu-page);
}
.tlu-home-demo-custom {
  padding: .85rem 1rem 1rem; border-top: 1px solid var(--tlu-border);
  background: var(--tlu-surface);
}
@media (max-width: 639.98px) {
  .tlu-home-demo-cal { grid-template-columns: 1fr; }
  .tlu-home-demo-side { display: none; }
  .tlu-home-demo-frame { height: 16rem; }
} 

