/* SHARED RESPONSIVE CONTRACT — the only viewport breakpoints.
   Desktop: > 1040px — full or collapsed side rail, docked secondary panel.
   Tablet: 721px–1040px — full or collapsed side rail, list + detail, right slide-over.
   Phone: <= 720px — bottom tabs, one pane, bottom sheets.
   Standard queries: @media (max-width: 1040px), @media (max-width: 720px).
   Min-width 721px / 1041px only express the corresponding complementary ranges.
*/
/* Local & Licensed design tokens. Override the four base colours, never page colours. */
:root,body{
  --ll-brand:#0B66E4;--ll-brand-2:#1E88F5;--ll-brand-3:#0A4FC2;--ll-urgent:#E3262B;--ll-on-brand:#fff;--ll-on-hero:var(--ll-on-brand);--ll-white:#fff;--ll-black:#000;
  --ll-blue-900:#0A3A8C;--ll-blue-700:var(--ll-brand-3);--ll-blue-600:var(--ll-brand);--ll-blue-500:var(--ll-brand-2);
  --ll-blue-100:color-mix(in srgb,var(--ll-brand) 12%,var(--ll-surface));--ll-blue-50:color-mix(in srgb,var(--ll-brand) 6%,var(--ll-surface));
  --ll-cyan-400:#22B8F0;--ll-indigo-500:#4F46E5;--ll-red-600:var(--ll-urgent);--ll-red-100:color-mix(in srgb,var(--ll-urgent) 12%,var(--ll-surface));
  --ll-amber-500:#F2A516;--ll-amber-ink:#986500;--ll-amber-100:#FFF4DB;--ll-green-600:#18A957;--ll-green-ink:#08783B;--ll-green-100:#E3F6EA;--ll-purple-500:#7C3AED;--ll-purple-100:#F1EAFE;--ll-teal:#087B73;--ll-teal-tint:#DDF5F2;
  --ll-bg:#EEF3F9;--ll-surface:#fff;--ll-surface-2:#F6F9FC;--ll-surface-3:#EEF2F7;--ll-border:#DCE6F2;--ll-border-strong:#C7D5E6;
  --ll-text:#0F1B2D;--ll-text-2:#4A5B70;--ll-text-3:#60738A;--ll-tooltip:#0F1B2D;--ll-overlay:rgba(10,30,60,.45);
  --ll-brand-ink:var(--ll-brand);--ll-link:var(--ll-brand-ink);--ll-hero-shade:60%;--ll-gradient-angle:135deg;--ll-hero:linear-gradient(var(--ll-gradient-angle),var(--ll-brand-2) 0%,var(--ll-brand) 55%,var(--ll-brand-3) 100%);
  --ll-tile-blue:linear-gradient(var(--ll-gradient-angle),color-mix(in srgb,var(--ll-brand-2) 60%,var(--ll-cyan-400)) 0%,var(--ll-brand) 100%);
  --ll-tile-indigo:linear-gradient(var(--ll-gradient-angle),color-mix(in srgb,var(--ll-brand) 50%,var(--ll-indigo-500)) 0%,var(--ll-brand-2) 100%);
  --ll-r-xs:6px;--ll-r-sm:10px;--ll-r-md:14px;--ll-r-lg:20px;--ll-r-xl:28px;--ll-r-pill:999px;
  --ll-shadow-sm:0 1px 2px rgba(16,64,140,.06);--ll-shadow-md:0 6px 20px rgba(16,64,140,.08),0 1px 2px rgba(16,64,140,.06);--ll-shadow-lg:0 18px 48px rgba(16,64,140,.14);
  --ll-glow-blue:0 6px 16px color-mix(in srgb,var(--ll-brand-2) 35%,transparent);--ll-focus:0 0 0 3px color-mix(in srgb,var(--ll-brand-2) 35%,transparent);
  --ll-s1:4px;--ll-s2:8px;--ll-s3:12px;--ll-s4:16px;--ll-s5:20px;--ll-s6:24px;--ll-s8:32px;
  --ll-font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--ll-mono:'JetBrains Mono',ui-monospace,monospace;
  --ll-fs-xs:11px;--ll-fs-sm:12px;--ll-fs-md:13px;--ll-fs-lg:15px;--ll-fs-xl:18px;--ll-fs-2xl:22px;--ll-fs-3xl:28px;--ll-motion:160ms cubic-bezier(.2,.8,.2,1);
}
/* On-body aliases resolve after theme / dark / custom variables, rather than inheriting resolved light values. */
:root,body,body.dark-mode{
  --bg:var(--ll-bg);--bg2:var(--ll-surface);--bg3:var(--ll-surface-3);--panel:var(--ll-surface);--panel-bg:var(--ll-bg);--bg-card:var(--ll-surface);
  --border:var(--ll-border);--border2:var(--ll-border-strong);--txt:var(--ll-text);--txt2:var(--ll-text-2);--txt3:var(--ll-text-3);
  --acc:var(--ll-brand);--acc2:var(--ll-blue-100);--acc3:var(--ll-border-strong);--red:var(--ll-red-600);--red2:var(--ll-red-100);
  --orange:var(--ll-amber-ink);--orange2:var(--ll-amber-100);--green:var(--ll-green-ink);--green2:var(--ll-green-100);--blue:var(--ll-blue-600);--blue2:var(--ll-blue-100);--purple:var(--ll-purple-500);--purple2:var(--ll-purple-100);--teal:var(--ll-teal);--teal2:var(--ll-teal-tint);
  --ai:var(--ll-purple-500);--ai2:var(--ll-purple-100);--ai-border:color-mix(in srgb,var(--ll-purple-500) 30%,transparent);--ai-border-active:var(--ll-purple-500);
  --r:var(--ll-r-sm);--rsm:var(--ll-r-xs);--shadow:var(--ll-shadow-md);--shadow-sm:var(--ll-shadow-sm);--bevel-dark:transparent;--bevel-light:transparent;
}
body.dark-mode{
  color-scheme:dark;--ll-link:color-mix(in srgb,var(--ll-brand) 30%,var(--ll-text));--ll-bg:#0B1220;--ll-surface:#121A2B;--ll-surface-2:#16203A;--ll-surface-3:#1B2640;--ll-border:#24304A;--ll-border-strong:#3A4B69;
  --ll-text:#EAF0FA;--ll-text-2:#B5C2D6;--ll-text-3:#9AABC2;--ll-blue-100:color-mix(in srgb,var(--ll-brand) 18%,var(--ll-surface));--ll-blue-50:color-mix(in srgb,var(--ll-brand) 9%,var(--ll-surface));
  --ll-red-100:color-mix(in srgb,var(--ll-urgent) 18%,var(--ll-surface));--ll-amber-100:color-mix(in srgb,var(--ll-amber-500) 16%,var(--ll-surface));--ll-green-100:color-mix(in srgb,var(--ll-green-600) 16%,var(--ll-surface));--ll-purple-100:color-mix(in srgb,var(--ll-purple-500) 18%,var(--ll-surface));--ll-teal-tint:color-mix(in srgb,var(--ll-teal) 16%,var(--ll-surface));
  --ll-green-ink:#64D795;--ll-amber-ink:#F2BD57;--ll-teal:#64C7BD;--ll-shadow-sm:0 1px 2px rgba(0,0,0,.25);--ll-shadow-md:0 6px 20px rgba(0,0,0,.35);--ll-shadow-lg:0 18px 48px rgba(0,0,0,.5);
}
body.theme-ll{--ll-brand:#0B66E4;--ll-brand-2:#1E88F5;--ll-brand-3:#0A4FC2;--ll-urgent:#E3262B;--ll-on-brand:#fff}
body.theme-ocean{--ll-brand:#0E9BB8;--ll-brand-2:#39B9D3;--ll-brand-3:#0A6F86;--ll-urgent:#E3262B;--ll-on-brand:#0F1B2D}
body.theme-solar{--ll-brand:#E8A100;--ll-brand-2:#FFBD2D;--ll-brand-3:#C27C00;--ll-urgent:#E3262B;--ll-on-brand:#0F1B2D}
body.theme-sage{--ll-brand:#387744;--ll-brand-2:#70AB76;--ll-brand-3:#245C30;--ll-urgent:#E3262B;--ll-on-brand:#fff}
body.theme-lavender,body.theme-midnight{--ll-brand:#7545C0;--ll-brand-2:#A68AE0;--ll-brand-3:#55308F;--ll-urgent:#E3262B;--ll-on-brand:#fff}
body.theme-coral{--ll-brand:#BF483A;--ll-brand-2:#ED8777;--ll-brand-3:#983528;--ll-urgent:#E3262B;--ll-on-brand:#fff}
body.theme-rose{--ll-brand:#B93160;--ll-brand-2:#E6779A;--ll-brand-3:#8D2046;--ll-urgent:#E3262B;--ll-on-brand:#fff}
body.theme-monochrome{--ll-brand:#414B5B;--ll-brand-2:#727E90;--ll-brand-3:#26303F;--ll-urgent:#414B5B;--ll-on-brand:#fff}
body[class*="theme-"]{--acc:var(--ll-brand);--acc2:var(--ll-blue-100)}
body[data-ll-gradient-style="solid"]{--ll-hero:linear-gradient(var(--ll-brand),var(--ll-brand));--ll-tile-blue:var(--ll-hero);--ll-tile-indigo:var(--ll-hero)}
body[data-ll-gradient-style="subtle"]{--ll-hero:linear-gradient(var(--ll-blue-100),var(--ll-blue-100));--ll-tile-blue:var(--ll-hero);--ll-tile-indigo:var(--ll-hero);--ll-on-hero:var(--ll-link)}

/* Preset samples stay stable while the active theme changes. */
.theme-swatch-ll{--ll-swatch:linear-gradient(135deg,#1E88F5,#0B66E4)}
.theme-swatch-ocean{--ll-swatch:linear-gradient(135deg,#39B9D3,#0E9BB8)}
.theme-swatch-solar{--ll-swatch:linear-gradient(135deg,#FFBD2D,#E8A100)}
.theme-swatch-sage{--ll-swatch:linear-gradient(135deg,#70AB76,#387744)}
.theme-swatch-lavender{--ll-swatch:linear-gradient(135deg,#A68AE0,#7545C0)}
.theme-swatch-coral{--ll-swatch:linear-gradient(135deg,#ED8777,#BF483A)}
.theme-swatch-rose{--ll-swatch:linear-gradient(135deg,#E6779A,#B93160)}
.theme-swatch-monochrome{--ll-swatch:linear-gradient(135deg,#727E90,#414B5B)}
:root,body{--ll-red-ink:var(--ll-red-600);--ll-purple-ink:var(--ll-purple-500)}
body.dark-mode{--ll-red-ink:#FF8A8E;--ll-purple-ink:#BEA1FA;--red:var(--ll-red-ink);--purple:var(--ll-purple-ink);--blue:var(--ll-link)}

:root{--ll-tabbar-height:64px;--ll-app-header-height:64px;--ll-safe-bottom:env(safe-area-inset-bottom,0px);--ll-gutter:clamp(12px,calc(40vw - 144px),16px);--ll-pane-motion:280ms cubic-bezier(.2,.8,.2,1)}
