:root {
    --sidebar-width: 260px;
    --header-height: 55px;
    --ku-app-height: 100vh;

    --ku-bg: #ffffff;
    --ku-surface: #ffffff;
    --ku-surface-muted: #f8fafc;
    --ku-surface-alt: #f1f5f9;

    --ku-text: #111827;
    --ku-text-secondary: #374151;
    --ku-text-muted: #6b7280;

    --ku-border: #e2e8f0;
    --ku-border-strong: #d1d5db;

    --ku-primary: #0d6efd;
    --ku-primary-hover: #2563eb;
    --ku-primary-soft: #3b82f6;

    --ku-danger: #dc2626;
    --ku-success: #059669;
    --ku-warning: #f59e0b;
    --ku-info: #29b6d8;

    --ku-brand-red: #F63D68;
    --ku-brand-cyan: #29b6d8;

    --ku-red: var(--ku-brand-red);
    --ku-red-dark: #c0174a;
    --ku-cyan: var(--ku-brand-cyan);
    --ku-cyan-dark: #1fa0bf;

    --primary-color: var(--ku-brand-red);
    --border-color: var(--ku-border-strong);

    --ku-subtle-primary-bg: rgba(41, 182, 216, 0.08);
    --ku-subtle-primary-border: rgba(41, 182, 216, 0.5);
    --ku-focus-ring: rgba(13, 110, 253, 0.25);

    --ku-control-bg: var(--ku-surface);
    --ku-control-bg-hover: var(--ku-surface-alt);
    --ku-control-bg-active: #e7f1ff;
    --ku-control-text: var(--ku-text);
    --ku-control-muted: var(--ku-text-muted);
    --ku-control-border: var(--ku-border-strong);
    --ku-control-icon: #374151;

    --ku-button-primary-bg: var(--ku-primary-soft);
    --ku-button-primary-bg-hover: var(--ku-primary);
    --ku-button-primary-border: var(--ku-primary-soft);
    --ku-button-primary-border-hover: var(--ku-primary);
    --ku-button-primary-text: #ffffff;
    --ku-button-primary-text-hover: #102033;

    --ku-doc-action-bg: #eff6ff;
    --ku-doc-action-bg-hover: #dbeafe;
    --ku-doc-action-border: #bfdbfe;
    --ku-doc-action-border-hover: #93c5fd;
    --ku-doc-action-text: var(--ku-primary-hover);

    --ku-popup-bg: var(--ku-surface);
    --ku-popup-border: var(--ku-border-strong);
    --ku-popup-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);

    --ku-reports-menu-bg: #ffffff;
    --ku-reports-menu-hover-bg: #f1f5f9;
    --ku-reports-menu-active-bg: #e5edf7;
    --ku-reports-menu-text: var(--ku-text);
    --ku-reports-menu-border: var(--ku-border);
    --ku-reports-menu-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);

    --ku-grid-header-bg: var(--ku-surface-muted);
    --ku-grid-row-bg: var(--ku-surface);
    --ku-grid-alt-row-bg: AliceBlue;
    --ku-grid-hover-bg: var(--ku-surface-alt);
    --ku-grid-pager-bg: var(--ku-surface-muted);
    --ku-grid-current-bg: var(--ku-brand-red);
    --ku-grid-current-text: var(--ku-surface);
    --ku-grid-command-from: #2f73e6;
    --ku-grid-command-to: #4f8df0;
    --ku-grid-command-text: #ffffff;
    --ku-grid-command-border: #6ea8fe;
    --ku-grid-group-bg: #f8fafc;
    --ku-grid-group-hover-bg: #eef5ff;
    --ku-grid-group-text: var(--ku-text);
    --ku-grid-group-border: var(--ku-border-strong);
    --ku-grid-group-toggle-bg: #ffffff;
    --ku-grid-group-toggle-text: var(--ku-primary);
    --ku-grid-sort-bg: #ffffff;
    --ku-grid-sort-border: #cbd5e1;
    --ku-grid-sort-icon: var(--ku-primary);

    --ku-tab-bg: transparent;
    --ku-tab-hover-bg: #f3f4f6;
    --ku-tab-active-bg: #f9fafb;
    --ku-tab-border: var(--ku-border);
    --ku-tab-active-border: var(--ku-border-strong);
    --ku-tab-text: var(--ku-primary);
    --ku-tab-active-text: var(--ku-brand-red);

    --ku-calendar-bg: var(--ku-surface);
    --ku-calendar-cell-bg: transparent;
    --ku-calendar-cell-hover-bg: var(--ku-surface-alt);
    --ku-calendar-cell-selected-bg: #337ab7;
    --ku-calendar-cell-selected-text: var(--ku-surface);
    --ku-calendar-today-border: var(--ku-brand-cyan);

    --ku-scheduler-bg: var(--ku-surface);
    --ku-scheduler-header-bg: #f3f4f6;
    --ku-scheduler-cell-bg: #ffffff;
    --ku-scheduler-alt-cell-bg: #f8fafc;
    --ku-scheduler-border: var(--ku-border);
    --ku-scheduler-text: var(--ku-text);

    --ku-weekly-header-bg: #f0f4f8;
    --ku-weekly-header-border: #3a7bd5;
    --ku-weekly-header-text: #2c3e50;
    --ku-weekly-link: #3a7bd5;
    --ku-weekly-readonly-bg: #d3d3d3;
    --ku-weekly-readonly-text: #333333;
    --ku-weekly-under-bg: #faebd7;
    --ku-weekly-under-text: #333333;
    --ku-weekly-over-bg: #ff4500;
    --ku-weekly-over-text: #ffffff;

    --ku-loading-overlay-bg: rgba(255, 255, 255, 0.66);
    --ku-loading-panel-bg: rgba(255, 255, 255, 0.9);
    --ku-loading-text: var(--ku-text);
    --ku-loading-accent: var(--ku-primary);
}

html[data-theme="dark-soft"] {
    --ku-app-height: 100vh;

    --ku-bg: #151c28;
    --ku-surface: #1d2735;
    --ku-surface-muted: #253244;
    --ku-surface-alt: #2d3b50;

    --ku-text: #dce5f2;
    --ku-text-secondary: #bdc9da;
    --ku-text-muted: #91a1b7;

    --ku-border: #3a4a60;
    --ku-border-strong: #52647a;

    --ku-primary: #79b8ff;
    --ku-primary-hover: #9cccff;
    --ku-primary-soft: #3b82f6;

    --ku-danger: #ff8a8a;
    --ku-success: #72d6a4;
    --ku-warning: #f6c76f;
    --ku-info: #78d4ee;

    --ku-brand-red: #ff7f9f;
    --ku-brand-cyan: #69d2e7;

    --ku-red: var(--ku-brand-red);
    --ku-red-dark: #ff5f83;
    --ku-cyan: var(--ku-brand-cyan);
    --ku-cyan-dark: #35b9d0;

    --ku-subtle-primary-bg: rgba(121, 184, 255, 0.16);
    --ku-subtle-primary-border: rgba(121, 184, 255, 0.42);
    --ku-focus-ring: rgba(121, 184, 255, 0.24);

    --ku-control-bg: #202b3a;
    --ku-control-bg-hover: #2a384b;
    --ku-control-bg-active: #334962;
    --ku-control-text: var(--ku-text);
    --ku-control-muted: var(--ku-text-muted);
    --ku-control-border: #607187;
    --ku-control-icon: #aec0d5;

    --ku-button-primary-bg: #4f8fe8;
    --ku-button-primary-bg-hover: #6aa8ff;
    --ku-button-primary-border: #6aa8ff;
    --ku-button-primary-border-hover: #8cc5ff;
    --ku-button-primary-text: #f4f9ff;
    --ku-button-primary-text-hover: #102033;

    --ku-doc-action-bg: #243a56;
    --ku-doc-action-bg-hover: #2f4b6d;
    --ku-doc-action-border: #6b8fb4;
    --ku-doc-action-border-hover: #8cc5ff;
    --ku-doc-action-text: #9cccff;

    --ku-popup-bg: #253244;
    --ku-popup-border: #64758b;
    --ku-popup-shadow: 0 18px 36px rgba(4, 10, 20, 0.42);

    --ku-reports-menu-bg: #243144;
    --ku-reports-menu-hover-bg: #2e3d53;
    --ku-reports-menu-active-bg: #344760;
    --ku-reports-menu-text: var(--ku-text);
    --ku-reports-menu-border: #4f6076;
    --ku-reports-menu-shadow: 0 18px 36px rgba(4, 10, 20, 0.46);

    --ku-grid-header-bg: #263449;
    --ku-grid-row-bg: #1f2a39;
    --ku-grid-alt-row-bg: #263449;
    --ku-grid-hover-bg: #304158;
    --ku-grid-pager-bg: #263449;
    --ku-grid-current-bg: var(--ku-brand-red);
    --ku-grid-current-text: #1b2230;
    --ku-grid-command-from: #29496b;
    --ku-grid-command-to: #326f9e;
    --ku-grid-command-text: #edf6ff;
    --ku-grid-command-border: #5f87ad;
    --ku-grid-group-bg: #202c3c;
    --ku-grid-group-hover-bg: #2a3a50;
    --ku-grid-group-text: #edf6ff;
    --ku-grid-group-border: #8ca0b8;
    --ku-grid-group-toggle-bg: #263449;
    --ku-grid-group-toggle-text: #8cc5ff;
    --ku-grid-sort-bg: #314359;
    --ku-grid-sort-border: #7890aa;
    --ku-grid-sort-icon: #b9dcff;

    --ku-tab-bg: transparent;
    --ku-tab-hover-bg: #263449;
    --ku-tab-active-bg: #2a394d;
    --ku-tab-border: #52647a;
    --ku-tab-active-border: #91a4bb;
    --ku-tab-text: #8cc5ff;
    --ku-tab-active-text: var(--ku-brand-red);

    --ku-calendar-bg: #253244;
    --ku-calendar-cell-bg: transparent;
    --ku-calendar-cell-hover-bg: #334962;
    --ku-calendar-cell-selected-bg: #4b89c2;
    --ku-calendar-cell-selected-text: #f3f8ff;
    --ku-calendar-today-border: var(--ku-brand-cyan);

    --ku-scheduler-bg: #1d2735;
    --ku-scheduler-header-bg: #263449;
    --ku-scheduler-cell-bg: #1f2a39;
    --ku-scheduler-alt-cell-bg: #253244;
    --ku-scheduler-border: #44556b;
    --ku-scheduler-text: var(--ku-text);

    --ku-weekly-header-bg: #202c3c;
    --ku-weekly-header-border: #6ca7e8;
    --ku-weekly-header-text: var(--ku-text);
    --ku-weekly-link: #8cc5ff;
    --ku-weekly-readonly-bg: #3a4656;
    --ku-weekly-readonly-text: #dce5f2;
    --ku-weekly-under-bg: #4a3928;
    --ku-weekly-under-text: #f6d7a7;
    --ku-weekly-over-bg: #8f3a26;
    --ku-weekly-over-text: #fff4ed;

    --ku-loading-overlay-bg: rgba(21, 28, 40, 0.72);
    --ku-loading-panel-bg: rgba(37, 50, 68, 0.92);
    --ku-loading-text: var(--ku-text);
    --ku-loading-accent: var(--ku-primary-hover);
}
