/* Nocan tokens (scoped to .nocan) */
.nocan{
  /* Stage palette (pale, equal brightness; no red) */
  --st-reg: #7FA6C6;    /* Registration */
  --st-shoot: #7FBBC7;  /* Shooting */
  --st-sort: #7FC7AE;   /* Sorting */
  --st-basic: #9BCB85;  /* Base edit */
  --st-pick: #D8CF84;   /* Selection */
  --st-retouch: #C6A2D2;/* Retouch */
  --st-layout: #B28EDB; /* Layout */
  --st-verify: #B4A8D1; /* Verification */
  --st-print: #A8A8B6;  /* Print */
  --st-mail: #8FA3B8;   /* Mailing */
  --st-dodelki: #93A0C8; /* Dodelki */
  --st-completed: #8EA0A8; /* Completed */

  /* Stage colors (internal names) */
  --nocan-stage-registration: var(--st-reg);
  --nocan-stage-shooting: var(--st-shoot);
  --nocan-stage-sorting: var(--st-sort);
  --nocan-stage-base-edit: var(--st-basic);
  --nocan-stage-selection: var(--st-pick);
  --nocan-stage-retouch: var(--st-retouch);
  --nocan-stage-layout: var(--st-layout);
  --nocan-stage-verification: var(--st-verify);
  --nocan-stage-print: var(--st-print);
  --nocan-stage-mailing: var(--st-mail);
  --nocan-stage-dodelki: var(--st-dodelki);
  --nocan-stage-completed: var(--st-completed);

  /* Surfaces */
  --nocan-bg: #f8fafc;
  --nocan-surface: #ffffff;
  --nocan-surface-2: #f1f5f9;
  --nocan-surface-3: #e2e8f0;
  --nocan-surface-4: #e5e7eb;
  --nocan-surface-overlay: rgba(248, 250, 252, 0.9);
  --nocan-surface-hover: rgba(15, 23, 42, 0.04);
  --nocan-surface-active: rgba(15, 23, 42, 0.06);

  /* Borders & shadows */
  --nocan-border: rgba(15, 23, 42, 0.08);
  --nocan-border-strong: rgba(15, 23, 42, 0.16);
  --nocan-shadow-card: 0 10px 28px rgba(15, 23, 42, 0.12);
  --nocan-shadow-dot: 0 0 0 3px rgba(15, 23, 42, 0.06);

  /* Text */
  --nocan-text: rgba(15, 23, 42, 0.92);
  --nocan-muted: rgba(15, 23, 42, 0.6);

  /* Accents */
  --nocan-focus-ring: rgba(37, 99, 235, 0.12);
  --nocan-focus-border: rgba(37, 99, 235, 0.32);

  /* Badges */
  --nocan-badge-danger-bg: rgba(239, 68, 68, 0.12);
  --nocan-badge-danger-text: #991b1b;
  --nocan-badge-warning-bg: rgba(245, 158, 11, 0.14);
  --nocan-badge-warning-text: #92400e;
  --nocan-badge-success-bg: rgba(34, 197, 94, 0.14);
  --nocan-badge-success-text: #166534;
  --nocan-badge-secondary-bg: rgba(100, 116, 139, 0.12);
  --nocan-badge-secondary-text: #334155;
  --nocan-badge-emphasis-bg: rgba(15, 23, 42, 0.08);
  --nocan-badge-emphasis-text: rgba(15, 23, 42, 0.86);
  --nocan-badge-subtle-bg: rgba(15, 23, 42, 0.06);
  --nocan-badge-subtle-text: rgba(15, 23, 42, 0.82);

  /* Stage (neutral, same for all stages) */
  --nocan-stage-bg: rgba(15, 23, 42, 0.08);
  --nocan-stage-text: rgba(15, 23, 42, 0.78);

  /* Deadline timer (semantic; not tied to stage) */
  --nocan-deadline-ok-bg: rgba(13, 148, 136, 0.14);
  --nocan-deadline-ok-text: #0f766e;
  --nocan-deadline-near-bg: rgba(202, 138, 4, 0.14);
  --nocan-deadline-near-text: #92400e;
  --nocan-deadline-overdue-bg: rgba(190, 18, 60, 0.16);
  --nocan-deadline-overdue-text: #9f1239;

  /* Issues */
  --nocan-issue-bg: rgba(190, 18, 60, 0.16);
  --nocan-issue-text: #9f1239;
  --nocan-issue-bar-bg: rgba(190, 18, 60, 0.4);

  /* Stage tabs counters */
  --nocan-count-total-bg: rgba(15, 23, 42, 0.07);
  --nocan-count-total-text: rgba(15, 23, 42, 0.78);
  --nocan-count-attention-bg: rgba(190, 18, 60, 0.16);
  --nocan-count-attention-text: #9f1239;

  /* Components */
  --nocan-btn-outline-border: rgba(15, 23, 42, 0.22);
  --nocan-modal-backdrop: rgba(15, 23, 42, 0.35);
  --nocan-repeat-bg: rgba(245, 158, 11, 0.14);

  /* Surface helpers (remove hardcoded rgba in /nocan css) */
  --nocan-surface-soft-1: rgba(15, 23, 42, 0.03);
  --nocan-surface-soft-2: rgba(15, 23, 42, 0.04);
  --nocan-surface-soft-3: rgba(15, 23, 42, 0.08);
  --nocan-surface-soft-4: rgba(15, 23, 42, 0.12);
  --nocan-surface-soft-5: rgba(15, 23, 42, 0.18);

  --nocan-border-subtle: rgba(15, 23, 42, 0.08);
  --nocan-border-subtle-strong: rgba(15, 23, 42, 0.16);

  --nocan-scrollbar-color: rgba(15, 23, 42, 0.35);
  --nocan-scrollbar-thumb: rgba(15, 23, 42, 0.2);
  --nocan-scrollbar-thumb-hover: rgba(15, 23, 42, 0.28);

  --nocan-overlay-strong: rgba(248, 250, 252, 0.92);
  --nocan-overlay-soft: rgba(248, 250, 252, 0.75);
  --nocan-overlay-soft-strong: rgba(248, 250, 252, 0.85);

  --nocan-focus-border-strong: rgba(37, 99, 235, 0.4);
  --nocan-attention-bg: rgba(239, 68, 68, 0.12);
  --nocan-comments-bg: rgba(59, 130, 246, 0.12);
  --nocan-triage-outline: rgba(15, 23, 42, 0.22);
  --nocan-deadline-stripe-minor: rgba(202, 138, 4, 0.72);
  --nocan-deadline-stripe-medium: rgba(245, 124, 0, 0.72);
  --nocan-deadline-stripe-critical: rgba(220, 53, 69, 0.70);
  --nocan-day-risk-overdue: rgba(220, 53, 69, 0.70);
  --nocan-day-risk-at-risk: rgba(245, 124, 0, 0.75);
  --nocan-day-risk-tight: rgba(234, 179, 8, 0.85);
  --nocan-day-risk-paused: rgba(14, 116, 144, 0.65);

  --nocan-shadow-soft: 0 2px 6px rgba(15, 23, 42, 0.08);
  --nocan-shadow-soft-2: 0 2px 8px rgba(15, 23, 42, 0.12);
  --nocan-shadow-soft-3: 0 1px 4px rgba(15, 23, 42, 0.16);
  --nocan-shadow-soft-4: 0 2px 6px rgba(15, 23, 42, 0.12);
  --nocan-shadow-card-hover: 0 6px 20px rgba(15, 23, 42, 0.18);

  --nocan-border-contrast: rgba(15, 23, 42, 0.18);
  --nocan-border-contrast-soft: rgba(15, 23, 42, 0.12);

  --nocan-warning-outline: rgba(245, 158, 11, 0.5);
  --nocan-warning-outline-strong: rgba(245, 158, 11, 0.85);
  --nocan-warning-soft-bg: #fff7ed;
  --nocan-warning-surface-soft: color-mix(in srgb, var(--nocan-badge-warning-bg) 12%, var(--nocan-surface) 88%);
  --nocan-warning-surface-soft-strong: color-mix(in srgb, var(--nocan-badge-warning-bg) 16%, var(--nocan-surface) 84%);
  --nocan-warning-surface-soft-hover: color-mix(in srgb, var(--nocan-badge-warning-bg) 14%, var(--nocan-surface) 86%);
  --nocan-warning-border-soft: color-mix(in srgb, var(--nocan-badge-warning-bg) 35%, var(--nocan-border) 65%);
  --nocan-warning-border: color-mix(in srgb, var(--nocan-badge-warning-bg) 42%, var(--nocan-border) 58%);
  --nocan-warning-border-strong: color-mix(in srgb, var(--nocan-badge-warning-bg) 55%, var(--nocan-border) 45%);
  --nocan-warning-border-faint: color-mix(in srgb, var(--nocan-badge-warning-bg) 30%, transparent 70%);
  --nocan-warning-ring-soft: 0 0 0 1px color-mix(in srgb, var(--nocan-badge-warning-bg) 45%, transparent 55%);
  --nocan-warning-ring-strong: 0 0 0 1px color-mix(in srgb, var(--nocan-badge-warning-bg) 48%, transparent 52%);
  --nocan-warning-gradient-top: color-mix(in srgb, var(--nocan-badge-warning-bg) 14%, var(--nocan-surface) 86%);
  --nocan-warning-gradient-bottom: color-mix(in srgb, var(--nocan-badge-warning-bg) 8%, var(--nocan-surface) 92%);
  --nocan-warning-gradient-admin-top: color-mix(in srgb, var(--nocan-badge-warning-bg) 11%, var(--nocan-surface) 89%);
  --nocan-warning-gradient-admin-bottom: color-mix(in srgb, var(--nocan-badge-warning-bg) 4%, var(--nocan-surface) 96%);
  --nocan-warning-dot-ring: 0 0 0 var(--nocan-risk-stripe-width) color-mix(in srgb, var(--nocan-badge-warning-bg) 18%, transparent 82%);
  --nocan-warning-chip-bg: var(--nocan-warning-surface-soft-strong);
  --nocan-warning-chip-border: var(--nocan-warning-border-faint);
  --nocan-warning-chip-text: var(--nocan-badge-warning-text);
  --nocan-focus-surface-soft: color-mix(in srgb, var(--nocan-focus-ring) 58%, transparent 42%);
  --nocan-focus-surface-hover: color-mix(in srgb, var(--nocan-surface-hover) 65%, transparent 35%);
  --nocan-focus-border-soft: color-mix(in srgb, var(--nocan-focus-border) 55%, var(--nocan-border) 45%);

  --nocan-text-strong: #0f172a;
  --nocan-muted-strong: rgba(15, 23, 42, 0.65);
  --nocan-muted-placeholder: rgba(71, 85, 105, 0.7);

  /* Kanban palette */
  --nocan-kanban-page-bg: #f8fafc;
  --nocan-kanban-col-bg: #ffffff;
  --nocan-kanban-card-bg: #ffffff;
  --nocan-kanban-card-hover-bg: #f1f5f9;
  --nocan-kanban-text-primary: #0f172a;
  --nocan-kanban-text-secondary: #475569;
  --nocan-kanban-text-muted: #64748b;
  --nocan-kanban-text-disabled: #94a3b8;
  --nocan-kanban-badge-text: #1e293b;
  --nocan-kanban-attention: #ef4444;
  --nocan-kanban-comments: #2563eb;
  --nocan-danger-strong: #b91c1c;

  /* Compatibility with shared orders modifier styles */
  --fx-extra-accent: var(--nocan-stage-layout);
  --fx-extra-bg: var(--nocan-surface-soft-1);
  --fx-extra-border: var(--nocan-stage-layout);

  /* Layout scales */
  --nocan-space-0: 0;
  --nocan-space-1: 0.125rem;
  --nocan-space-2: 0.25rem;
  --nocan-space-3: 0.375rem;
  --nocan-space-4: 0.5rem;
  --nocan-space-5: 0.625rem;
  --nocan-space-6: 0.75rem;
  --nocan-space-7: 0.875rem;
  --nocan-space-8: 1rem;
  --nocan-space-9: 1.25rem;

  --nocan-radius-0: 0;
  --nocan-radius-1: 0.25rem;
  --nocan-radius-2: 0.375rem;
  --nocan-radius-3: 0.5rem;
  --nocan-radius-4: 0.625rem;
  --nocan-radius-5: 0.75rem;
  --nocan-radius-pill: 999px;

  --nocan-border-width-1: 1px;
  --nocan-border-width-strong: 4px;

  --nocan-sidebar-width: 220px;
  --nocan-sidebar-width-collapsed: 72px;
  --nocan-sidebar-offcanvas-width: min(380px, 86vw);
  --nocan-sidebar-offcanvas-width-mobile: min(340px, 88vw);
  --nocan-inbox-offcanvas-width: min(680px, 94vw);
  --nocan-inbox-offcanvas-width-mobile: 100vw;

  --nocan-control-height-sm: 36px;
  --nocan-control-height-md: 44px;
  --nocan-icon-size-sm: 18px;
  --nocan-signal-size-sm: 5px;
  --nocan-signal-size-md: 7px;
  --nocan-popup-width-sm: 160px;
  --nocan-popup-width-md: 220px;
  --nocan-dialog-width-md: 520px;
  --nocan-stage-process-rail-width: 32rem;
  --nocan-input-width-fluid: 90%;
  --nocan-bulkbar-width: min(720px, calc(100vw - 24px));
  --nocan-offcanvas-width-lg: min(720px, 94vw);
  --nocan-avatar-size-md: 34px;
  --nocan-avatar-size-lg: 48px;
  --nocan-avatar-size-sm: 18px;
  --nocan-thumb-size-sm: 88px;
  --nocan-thumb-size-md: 160px;
  --nocan-day-main-width: 880px;
  --nocan-day-sidebar-width: 360px;
  --nocan-sticky-offset-sm: 12px;
  --nocan-sticky-offset-md: 16px;
  --nocan-sticky-viewport-gap: 32px;
  --nocan-signal-size-lg: 10px;
  --nocan-focus-card-padding-end: 5.5rem;
  --nocan-focus-action-size: 32px;
  --nocan-focus-backdrop-blur: 2px;
  --nocan-risk-stripe-width: 4px;
  --nocan-stage-bar-width: 3px;
  --nocan-input-radius: 0.875rem;
  --nocan-mobile-stage-dot-size: 8px;
  --nocan-icon-button-size: 22px;
  --nocan-icon-font-size-md: 16px;
  --nocan-popover-min-width: 260px;
  --nocan-popover-radius: 12px;
  --nocan-inline-editor-min-width: min(100%, 18rem);
  --nocan-inline-loader-size: 1rem;
  --nocan-chip-height-md: 2rem;
  --nocan-listbox-option-padding-y: 0.375rem;
  --nocan-listbox-option-padding-x: 0.5rem;
  --nocan-floating-surface: var(--nocan-surface);
  --nocan-floating-surface-strong: var(--nocan-surface-3);
  --nocan-floating-border: var(--nocan-border);
  --nocan-floating-border-strong: var(--nocan-border-strong);
  --nocan-floating-shadow: var(--nocan-shadow-soft);
  --nocan-floating-shadow-raised: var(--nocan-shadow-raised-md);
  --nocan-chip-gap-sm: 0.25rem;
  --nocan-chip-gap-md: 0.45rem;
  --nocan-inline-gap-sm: 0.4rem;
  --nocan-shooting-line-padding-left: 8px;
  --nocan-shooting-line-padding-right: 4px;
  --nocan-shooting-line-padding-y: 1px;
  --nocan-shooting-line-accent-width: 3px;
  --nocan-font-size-sm-plus: 0.95rem;
  --nocan-kbd-font-size: 0.85em;
  --nocan-highlight-ring-size: 0.25rem;
  --nocan-line-height-tight: 1.2;
  --nocan-line-height-snug: 1.25;
  --nocan-table-col-a-width: 22%;
  --nocan-table-col-b-width: 32%;
  --nocan-table-col-c-width: 32%;
  --nocan-table-col-d-width: 14%;
  --nocan-text-subtle: #6c757d;
  --nocan-warning-soft-bg-2: rgba(255, 214, 10, 0.12);
  --nocan-warning-soft-border: rgba(255, 214, 10, 0.35);
  --nocan-warning-soft-bg-3: rgba(255, 214, 10, 0.10);
  --nocan-warning-soft-border-2: rgba(255, 214, 10, 0.30);
  --nocan-paused-badge-bg: rgba(124, 149, 176, 0.28);
  --nocan-paused-badge-border: rgba(124, 149, 176, 0.44);
  --nocan-paused-badge-text: #d7e4f3;
  --nocan-focus-badge-bg: rgba(255, 193, 7, 0.45);
  --nocan-focus-badge-border: rgba(255, 193, 7, 0.35);
  --nocan-focus-badge-text: #111;
  --nocan-focus-remove-bg: rgba(0, 0, 0, 0.06);
  --nocan-focus-remove-text: rgba(0, 0, 0, 0.55);
  --nocan-focus-remove-hover-bg: rgba(220, 53, 69, 0.12);
  --nocan-focus-remove-hover-text: rgba(220, 53, 69, 0.95);
  --nocan-day-stage-badge-bg: rgba(100, 116, 139, 0.16);
  --nocan-day-stage-badge-border: rgba(100, 116, 139, 0.24);
  --nocan-day-stage-badge-text: rgba(30, 41, 59, 0.86);
  --nocan-icon-size-xs: 0.68rem;
  --nocan-icon-size-sm-plus: 0.88rem;
  --nocan-counter-min-width-lg: 22px;
  --nocan-badge-ready-min-width: 20px;
  --nocan-choice-unread-header-bg: rgba(255, 243, 205, 0.96);
  --nocan-choice-unread-header-bg-active: rgba(255, 236, 179, 0.98);
  --nocan-choice-unread-border-accent: rgba(214, 160, 0, 0.88);
  --nocan-choice-unread-shadow: rgba(214, 160, 0, 0.18);
  --choice-warning-border-soft: rgba(240, 138, 52, 0.36);
  --choice-warning-border-strong: rgba(240, 138, 52, 0.66);
  --choice-warning-border-mid: rgba(240, 138, 52, 0.42);
  --choice-preview-shadow: 0 20px 44px rgba(0, 0, 0, 0.32);
  --choice-turn-card-radius: 14px;
  --choice-turn-card-padding: 1.25rem;
  --choice-turn-comment-radius: 12px;
  --choice-turn-comment-padding: 0.75rem;
  --choice-turn-comment-body-radius: 10px;
  --choice-turn-comment-body-padding-y: 0.85rem;
  --choice-turn-comment-body-padding-x: 1rem;
  --choice-turn-header-spacing: 0.5rem;
  --choice-turn-header-gap: 0.35rem;
  --choice-turn-side-gap: 0.5rem;
  --choice-turn-title-size: 0.75rem;
  --choice-turn-timestamp-size: 0.72rem;
  --choice-turn-body-size: 0.875rem;
  --choice-turn-letter-spacing: 0.06em;
  --choice-preview-focus-ring: 0 0 0 var(--nocan-focus-outline-width) color-mix(in srgb, var(--nocan-badge-warning-bg) 30%, transparent 70%);
  --nocan-badge-issue-font-size: 0.82rem;
  --nocan-font-size-chip: 0.8125rem;
  --nocan-font-size-card-title: 0.9375rem;
  --nocan-tab-font-size-mobile: 0.95rem;
  --nocan-tab-stage-font-size-mobile: 0.9rem;
  --nocan-registration-warning-icon-size: 0.95rem;
  --nocan-board-breach-inset: inset var(--nocan-focus-outline-width) 0 0 0 var(--nocan-badge-danger-bg);
  --nocan-stage-toggle-min-width: 96px;
  --nocan-stage-toggle-min-width-mobile: 86px;
  --nocan-stage-cluster-overlap: -1px;
  --nocan-chip-hover-lift: -1px;
  --nocan-chip-height-sm: 32px;
  --nocan-chip-height-md: 36px;
  --nocan-chip-padding-x-sm: 0.75rem;
  --nocan-chip-padding-x-md: 0.875rem;
  --nocan-chip-radius: var(--nocan-radius-pill);
  --nocan-focus-outline-width: 2px;
  --nocan-font-size-mini: 0.86rem;
  --nocan-font-size-sm: 0.875rem;
  --nocan-font-size-xs: 0.78rem;
  --nocan-font-size-2xs: 0.76rem;
  --nocan-font-size-3xs: 0.72rem;
  --nocan-font-size-4xs: 0.6875rem;
  --nocan-font-size-label-xs: 0.75rem;
  --nocan-font-size-label-sm: 0.8125rem;
  --nocan-font-size-label-md: 0.875rem;
  --nocan-font-size-body-md: 0.95rem;
  --nocan-font-size-counter: 0.64rem;
  --nocan-letter-spacing-tight: 0.1px;
  --nocan-letter-spacing-base: 0.2px;
  --nocan-letter-spacing-wide: 0.04em;
  --nocan-letter-spacing-wider: 0.03em;
  --nocan-badge-padding-y: 0.34rem;
  --nocan-badge-padding-x: 0.55rem;
  --nocan-badge-padding-y-sm: 0.18rem;
  --nocan-badge-padding-x-sm: 0.45rem;
  --nocan-badge-padding-y-xs: 0.14rem;
  --nocan-badge-padding-x-xs: 0.34rem;
  --nocan-badge-padding-y-issue: 0.26rem;
  --nocan-badge-padding-x-issue: 0.46rem;
  --nocan-ready-badge-padding-y: 0.12rem;
  --nocan-ready-badge-padding-x: 0.38rem;
  --nocan-mobile-tab-padding-y: 0.3rem;
  --nocan-mobile-tab-padding-x: 0.56rem;
  --nocan-mobile-counter-padding-y: 0.2rem;
  --nocan-mobile-counter-padding-x: 0.42rem;
  --nocan-mobile-dot-gap: 0.35rem;
  --nocan-counter-min-width-sm: 1.2rem;
  --nocan-counter-min-width-md: 1.45rem;
  --nocan-chip-padding-y-xs: 0.125rem;
  --nocan-chip-padding-y-sm: 0.1875rem;
  --nocan-chip-padding-y-md: 0.375rem;
  --nocan-chip-padding-x-xs: 0.5rem;
  --nocan-chip-padding-x-sm-plus: 0.5625rem;
  --nocan-chip-padding-x-lg: 0.75rem;
  --nocan-chip-gap-xs: 0.125rem;
  --nocan-chip-gap-lg: 0.5rem;
  --nocan-list-gap-xs: 0.25rem;
  --nocan-list-gap-sm: 0.375rem;
  --nocan-list-gap-md: 0.5rem;
  --nocan-list-gap-lg: 0.75rem;
  --nocan-list-max-height-md: 20rem;
  --nocan-control-min-height-md: 2.75rem;
  --nocan-control-max-height-lg: 18.75rem;
  --nocan-outline-width-2: 2px;
  --nocan-shadow-warning-ring: 0 0 0 1px var(--nocan-badge-warning-bg);
  --nocan-shadow-primary-ring: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.18);
  --nocan-shadow-raised-soft: 0 10px 22px rgba(15, 23, 42, 0.04);
  --nocan-shadow-raised-md: 0 10px 20px rgba(15, 23, 42, 0.05);
  --nocan-shadow-hover-soft: 0 6px 18px rgba(15, 23, 42, 0.04);
  --nocan-shadow-checkbox: 0 1px 2px rgba(0, 0, 0, 0.06);
  --nocan-menu-offset-y: 2.25rem;
  --nocan-stage-days-min-width: 1.75rem;
  --nocan-layer-local: 1;
  --nocan-layer-raised: 2;
  --nocan-layer-menu: 1000;
  --nocan-tooltip-z: 20;
  --nocan-overlay-z: 1080;
  --nocan-modal-z: 2000;
  --nocan-admin-chip-warning-text: #6b5500;
  --nocan-stage-days-neutral-text: #111;
  --nocan-danger-soft-bg: rgba(220, 53, 69, 0.1);
  --nocan-danger-soft-border: rgba(220, 53, 69, 0.18);
  --nocan-discussion-filter-width: 30rem;
  --nocan-panel-list-max-height: 20rem;
  --nocan-font-size-brand: 0.95rem;
  --nocan-font-size-section-title: 0.72rem;
  --nocan-font-size-link: 0.9rem;
  --nocan-font-size-legend: 0.67rem;
  --nocan-font-size-title-md: 1.05rem;
  --nocan-nav-tab-padding-y: 0.45rem;
  --nocan-focus-ring-size: 0.25rem;
  --nocan-badge-min-width-xs: 18px;
  --nocan-icon-square-sm: 1rem;
  --nocan-title-max-ch-mobile: 26ch;
  --nocan-inline-icon-shift-sm: -0.04em;
  --nocan-inline-icon-shift-md: -0.06em;
  --nocan-inline-icon-shift-lg: -0.08em;
  --nocan-layer-sticky: 1020;
  --nocan-tab-stage-max-ch-mobile: 7ch;
  --nocan-inbox-unread-mentions-text: var(--bs-danger-text-emphasis, #f08a8a);

  --nocan-transition-fast: 0.12s ease-in-out;
  --nocan-transition-base: 0.12s ease;
  --nocan-transition-soft: 0.15s ease;

  /* Calendar */
  --nocan-calendar-layout-offset: 120px;
  --nocan-calendar-gap-grid: 1px;
  --nocan-calendar-gap-sm: 4px;
  --nocan-calendar-gap-md: 6px;
  --nocan-calendar-gap-lg: 8px;
  --nocan-calendar-cell-min-height: 120px;
  --nocan-calendar-mobile-cell-min-height: 52px;
  --nocan-calendar-mobile-event-min-height: 44px;
  --nocan-calendar-menu-min-width: 320px;
  --nocan-calendar-menu-max-height: 520px;
  --nocan-calendar-toolbar-width: 400px;
  --nocan-calendar-toolbar-min-width: 260px;
  --nocan-calendar-mobile-menu-min-width: min(92vw, 340px);
  --nocan-calendar-participant-width: 170px;
  --nocan-calendar-photographer-max-width: 88px;
  --nocan-calendar-avatar-size: 18px;
  --nocan-calendar-color-dot-size: 10px;
  --nocan-calendar-mobile-dot-size: 6px;
  --nocan-calendar-mobile-color-bar-width: 4px;
  --nocan-calendar-cell-accent-width: 2px;
  --nocan-calendar-event-border-width: 3px;
  --nocan-calendar-font-size-xs: 9px;
  --nocan-calendar-font-size-sm: 10px;
  --nocan-calendar-font-size-base: 11px;
  --nocan-calendar-font-size-md: 12px;
  --nocan-calendar-font-size-lg: 14px;
  --nocan-calendar-badge-radius: 10px;
  --nocan-calendar-event-radius: 4px;
  --nocan-calendar-offcanvas-width-mobile: 100vw;

  /* Nocanban */
  --nocanban-sticky-blur: 6px;
  --nocanban-board-gap: 12px;
  --nocanban-board-padding-bottom: 12px;
  --nocanban-page-padding-bottom: 28px;
  --nocanban-scrollbar-padding-y: 6px;
  --nocanban-scrollbar-padding-x: 10px;
  --nocanban-scrollbar-height: 12px;
  --nocanban-scrollbar-thumb-min-width: 44px;
  --nocanban-scroll-controls-top: calc(50vh - 18px);
  --nocanban-scroll-controls-margin-bottom: -44px;
  --nocanban-scroll-controls-padding-x: 6px;
  --nocanban-scroll-btn-size: 36px;
  --nocanban-column-width: 340px;
  --nocanban-column-radius: 10px;
  --nocanban-column-padding: 10px;
  --nocanban-column-header-gap: 10px;
  --nocanban-column-header-radius-bottom: 8px;
  --nocanban-link-padding-x: 4px;
  --nocanban-dot-size: 10px;
  --nocanban-count-min-width: 28px;
  --nocanban-count-padding-y: 2px;
  --nocanban-count-padding-x: 8px;
  --nocanban-body-gap: 14px;
  --nocanban-card-menu-offset: 8px;
  --nocanban-card-menu-padding-y: 2px;
  --nocanban-card-menu-padding-x: 6px;
  --nocanban-card-padding-y: 10px;
  --nocanban-card-padding-x: 12px;
  --nocanban-card-outline-width: 2px;
  --nocanban-indicator-gap: 8px;
  --nocanban-indicator-padding-y: 2px;
  --nocanban-indicator-padding-x: 6px;
  --nocanban-font-size-col-name: 0.95rem;
  --nocanban-font-size-count: 0.85rem;
  --nocanban-font-size-card-title: 0.98rem;
  --nocanban-font-size-card-subtitle: 0.88rem;
  --nocanban-font-size-indicator: 0.85rem;
  --nocanban-icon-emphasis-size: 0.95em;
  --nocanban-layer-hscrollbar: 1030;
  --nocanban-layer-scroll-controls: 20;
  --nocanban-layer-column-header: 2;
}
