@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=Geist+Mono:wght@400;500&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,400&display=swap";:root{--font-sans: "Geist", "Inter Tight", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-serif: "Newsreader", "Source Serif Pro", Georgia, serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg: oklch(98.6% .004 70);--bg-elev: oklch(99.4% .003 70);--bg-sunk: oklch(96.4% .005 70);--surface: oklch(100% 0 0);--line: oklch(91.5% .005 70);--line-soft: oklch(94.5% .004 70);--line-strong: oklch(86% .006 70);--ink: oklch(20% .01 70);--ink-2: oklch(38% .01 70);--ink-3: oklch(54% .008 70);--ink-4: oklch(68% .006 70);--ink-mute: oklch(78% .005 70);--accent: oklch(52% .13 265);--accent-soft: oklch(94% .03 265);--accent-ink: oklch(38% .13 265);--accent-line: oklch(82% .06 265);--signal-red: oklch(54% .16 25);--signal-amber: oklch(70% .13 70);--signal-green: oklch(58% .1 150);--r-1: 4px;--r-2: 6px;--r-3: 10px;--r-4: 14px;--r-5: 20px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 56px;--shadow-1: 0 1px 2px oklch(20% .01 70 / .04), 0 1px 1px oklch(20% .01 70 / .03);--shadow-2: 0 6px 20px oklch(20% .01 70 / .06), 0 1px 2px oklch(20% .01 70 / .04);--shadow-3: 0 18px 50px oklch(20% .01 70 / .1), 0 2px 6px oklch(20% .01 70 / .05);--row: 40px}[data-theme=dark]{--bg: oklch(17% .006 70);--bg-elev: oklch(20% .006 70);--bg-sunk: oklch(14% .005 70);--surface: oklch(22% .006 70);--line: oklch(28% .007 70);--line-soft: oklch(24% .006 70);--line-strong: oklch(34% .008 70);--ink: oklch(96% .004 70);--ink-2: oklch(82% .005 70);--ink-3: oklch(66% .006 70);--ink-4: oklch(52% .007 70);--ink-mute: oklch(42% .007 70);--accent: oklch(72% .13 265);--accent-soft: oklch(28% .05 265);--accent-ink: oklch(82% .1 265);--accent-line: oklch(38% .07 265);--signal-red: oklch(70% .15 25);--signal-amber: oklch(78% .13 70);--signal-green: oklch(72% .1 150);--shadow-1: 0 1px 2px oklch(0% 0 0 / .4), 0 1px 1px oklch(0% 0 0 / .3);--shadow-2: 0 6px 20px oklch(0% 0 0 / .5), 0 1px 2px oklch(0% 0 0 / .3);--shadow-3: 0 18px 50px oklch(0% 0 0 / .6), 0 2px 6px oklch(0% 0 0 / .4)}[data-accent=indigo]{--accent: oklch(52% .13 265);--accent-soft: oklch(94% .03 265);--accent-ink: oklch(38% .13 265);--accent-line: oklch(82% .06 265)}[data-accent=ochre]{--accent: oklch(58% .13 70);--accent-soft: oklch(94% .04 80);--accent-ink: oklch(42% .12 65);--accent-line: oklch(82% .07 75)}[data-accent=moss]{--accent: oklch(48% .09 150);--accent-soft: oklch(94% .03 150);--accent-ink: oklch(36% .09 150);--accent-line: oklch(82% .05 150)}[data-accent=plum]{--accent: oklch(46% .12 340);--accent-soft: oklch(94% .03 340);--accent-ink: oklch(34% .12 340);--accent-line: oklch(82% .06 340)}[data-theme=dark][data-accent=indigo]{--accent: oklch(74% .13 265);--accent-soft: oklch(28% .05 265);--accent-ink: oklch(84% .1 265);--accent-line: oklch(38% .07 265)}[data-theme=dark][data-accent=ochre]{--accent: oklch(78% .13 70);--accent-soft: oklch(28% .05 75);--accent-ink: oklch(86% .11 70);--accent-line: oklch(38% .07 75)}[data-theme=dark][data-accent=moss]{--accent: oklch(72% .1 150);--accent-soft: oklch(26% .04 150);--accent-ink: oklch(82% .09 150);--accent-line: oklch(36% .05 150)}[data-theme=dark][data-accent=plum]{--accent: oklch(72% .13 340);--accent-soft: oklch(28% .05 340);--accent-ink: oklch(84% .11 340);--accent-line: oklch(38% .07 340)}[data-density=compact]{--row: 32px}[data-density=medium]{--row: 40px}[data-density=spacious]{--row: 48px}html{--lumo-font-family: var(--font-sans);--lumo-font-size: 14px;--lumo-line-height-m: 1.5;--lumo-size-xs: 24px;--lumo-size-s: 28px;--lumo-size-m: 32px;--lumo-size-l: 40px;--lumo-size-xl: 48px;--lumo-space-xs: var(--s-1);--lumo-space-s: var(--s-2);--lumo-space-m: var(--s-4);--lumo-space-l: var(--s-6);--lumo-space-xl: var(--s-8);--lumo-border-radius-s: var(--r-1);--lumo-border-radius-m: var(--r-2);--lumo-border-radius-l: var(--r-3);--lumo-header-text-color: var(--ink);--lumo-body-text-color: var(--ink);--lumo-secondary-text-color: var(--ink-3);--lumo-tertiary-text-color: var(--ink-4);--lumo-disabled-text-color: var(--ink-mute);--lumo-base-color: var(--surface);--lumo-tint-5pct: color-mix(in oklch, var(--surface) 95%, var(--ink));--lumo-tint-10pct: color-mix(in oklch, var(--surface) 90%, var(--ink));--lumo-tint-20pct: color-mix(in oklch, var(--surface) 80%, var(--ink));--lumo-shade-5pct: var(--bg-elev);--lumo-shade-10pct: var(--bg-sunk);--lumo-shade-20pct: var(--line-soft);--lumo-shade-30pct: var(--line);--lumo-shade-40pct: var(--line-strong);--lumo-shade-50pct: var(--ink-mute);--lumo-contrast-5pct: var(--bg-elev);--lumo-contrast-10pct: var(--bg-sunk);--lumo-contrast-20pct: var(--line-soft);--lumo-contrast-30pct: var(--line);--lumo-contrast-40pct: var(--line-strong);--lumo-contrast-50pct: var(--ink-mute);--lumo-contrast-60pct: var(--ink-4);--lumo-contrast-70pct: var(--ink-3);--lumo-contrast-80pct: var(--ink-2);--lumo-contrast-90pct: var(--ink);--lumo-primary-text-color: var(--accent-ink);--lumo-primary-color: var(--accent);--lumo-primary-color-50pct: color-mix(in oklch, var(--accent) 50%, transparent);--lumo-primary-color-10pct: var(--accent-soft);--lumo-primary-contrast-color: white;--lumo-error-text-color: var(--signal-red);--lumo-error-color: var(--signal-red);--lumo-error-color-50pct: color-mix(in oklch, var(--signal-red) 50%, transparent);--lumo-error-color-10pct: color-mix(in oklch, var(--signal-red) 14%, transparent);--lumo-success-text-color: var(--signal-green);--lumo-success-color: var(--signal-green);--lumo-success-color-50pct: color-mix(in oklch, var(--signal-green) 50%, transparent);--lumo-success-color-10pct: color-mix(in oklch, var(--signal-green) 14%, transparent);--lumo-warning-text-color: var(--signal-amber);--lumo-warning-color: var(--signal-amber);--lumo-warning-color-10pct: color-mix(in oklch, var(--signal-amber) 14%, transparent);--lumo-box-shadow-xs: var(--shadow-1);--lumo-box-shadow-s: var(--shadow-1);--lumo-box-shadow-m: var(--shadow-2);--lumo-box-shadow-l: var(--shadow-3);--lumo-box-shadow-xl: var(--shadow-3);--lumo-clickable-cursor: pointer}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--accent-ink)}vaadin-app-layout::part(drawer){background:var(--bg-sunk);border-right:1px solid var(--line-soft)}vaadin-app-layout::part(navbar){background:var(--bg);border-bottom:1px solid var(--line-soft);height:52px}vaadin-side-nav-item{--vaadin-side-nav-item-background: transparent;--vaadin-side-nav-item-color: var(--ink-2);--vaadin-side-nav-item-font-weight: 400;font-size:13.5px;border-radius:var(--r-2)}vaadin-side-nav-item[active]{--vaadin-side-nav-item-background: var(--surface);--vaadin-side-nav-item-color: var(--ink);box-shadow:var(--shadow-1);position:relative}vaadin-side-nav-item[active]:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:2px;border-radius:0 2px 2px 0;background:var(--accent)}vaadin-button{font-weight:500;letter-spacing:0}vaadin-button[theme~=primary]{background:var(--ink);color:var(--bg)}vaadin-button[theme~=primary]:hover{background:oklch(from var(--ink) calc(l + .05) c h)}vaadin-button[theme~=primary][theme~=accent]{background:var(--accent);color:#fff}vaadin-button[theme~=tertiary]{color:var(--ink-2)}vaadin-button[theme~=tertiary]:hover{background:var(--bg-elev);color:var(--ink)}vaadin-grid{--vaadin-grid-cell-padding: 10px 14px;font-size:13px}vaadin-grid::part(header-cell){background:var(--bg-sunk);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}vaadin-grid::part(row):hover{background:var(--bg-elev)}vaadin-card,.demerzel-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-3);box-shadow:var(--shadow-1)}vaadin-dialog-overlay::part(overlay){border-radius:var(--r-4);box-shadow:var(--shadow-3);border:1px solid var(--line-soft)}vaadin-text-field,vaadin-text-area,vaadin-combo-box,vaadin-date-picker,vaadin-time-picker,vaadin-number-field,vaadin-select,vaadin-email-field,vaadin-password-field{--vaadin-input-field-border-radius: var(--r-2);--vaadin-input-field-background: var(--surface);--vaadin-input-field-border-color: var(--line)}vaadin-tabs{border-bottom:1px solid var(--line-soft)}vaadin-tab{font-weight:500;font-size:13px;color:var(--ink-3)}vaadin-tab[selected]{color:var(--ink)}vaadin-notification-card{background:var(--ink);color:var(--bg);border-radius:var(--r-3);font-size:13px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em}.mono{font-family:var(--font-mono);font-feature-settings:"tnum","zero"}.tnum{font-variant-numeric:tabular-nums}.page-title{font-family:var(--font-serif);font-size:32px;font-weight:400;letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin:0}.page-sub{color:var(--ink-3);font-size:14px;margin-top:6px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--bg-elev);color:var(--ink-2);border:1px solid var(--line-soft);font-variant-numeric:tabular-nums}.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3)}.chip.green .dot{background:var(--signal-green)}.chip.amber .dot{background:var(--signal-amber)}.chip.red .dot{background:var(--signal-red)}.chip.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.chip.accent .dot{background:var(--accent)}.kbd{font-family:var(--font-mono);font-size:10.5px;background:var(--bg-elev);border:1px solid var(--line);border-bottom-width:2px;padding:1px 5px;border-radius:4px;color:var(--ink-3)}.placeholder{background:repeating-linear-gradient(135deg,var(--bg-sunk) 0 8px,var(--bg-elev) 8px 16px);border:1px solid var(--line-soft);border-radius:var(--r-3);color:var(--ink-4);font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;display:grid;place-items:center}
