/* Kaahs — Enterprise SaaS design system (Linear / Notion / Asana Premium) */

:root {
    --kaahs-radius-sm: 8px;
    --kaahs-radius-md: 12px;
    --kaahs-radius-lg: 16px;
    --kaahs-radius-xl: 20px;
    --kaahs-radius-pill: 9999px;

  /* Borderless depth — shadow only */
    --kaahs-shadow-float: 0 4px 24px rgb(15 23 42 / 0.04);
    --kaahs-shadow-hover: 0 8px 32px rgb(15 23 42 / 0.07);
    --kaahs-shadow-subtle: 0 1px 3px rgb(15 23 42 / 0.03);

    --kaahs-ink: #111827;
    --kaahs-ink-secondary: #6b7280;
    --kaahs-ink-muted: #9ca3af;
    --kaahs-ink-faint: #d1d5db;

    --kaahs-canvas: #f7f8fa;
    --kaahs-surface: #ffffff;
    --kaahs-surface-raised: #ffffff;
    --kaahs-surface-sunken: #f1f2f5;

    --kaahs-space-page: 2rem;
    --kaahs-space-section: 1.75rem;
    --kaahs-space-card: 1.25rem;
}

html[data-theme="dark"] {
    --kaahs-ink: #e8edf4;
    --kaahs-ink-secondary: #a8b4c4;
    --kaahs-ink-muted: #7b8a9e;
    --kaahs-ink-faint: #556070;
    --kaahs-canvas: #0c0e12;
    --kaahs-surface: #13161c;
    --kaahs-surface-raised: #181c24;
    --kaahs-surface-sunken: #101318;
    --kaahs-accent: #c8d4e4;
    --kaahs-accent-muted: #8b99ad;
    --kaahs-shadow-float: 0 4px 24px rgb(0 0 0 / 0.32);
    --kaahs-shadow-hover: 0 8px 32px rgb(0 0 0 / 0.4);
    --kaahs-shadow-subtle: 0 1px 2px rgb(0 0 0 / 0.22);
}

/* Unified accent — replace indigo/purple UI chrome */
.kaahs-themed a.text-indigo-600,
.kaahs-themed .text-indigo-600 { color: var(--kaahs-ink) !important; }
.kaahs-themed .hover\:text-indigo-600:hover,
.kaahs-themed .hover\:text-indigo-800:hover,
.kaahs-themed .hover\:text-indigo-900:hover { color: var(--kaahs-ink-secondary) !important; }
.kaahs-themed .focus\:ring-indigo-500\/20:focus,
.kaahs-themed .focus\:ring-indigo-500\/25:focus,
.kaahs-themed .focus\:ring-indigo-500\/15:focus { --tw-ring-color: rgb(100 116 139 / 0.2) !important; }
.kaahs-themed .focus\:border-indigo-400:focus,
.kaahs-themed .focus\:border-indigo-500:focus,
.kaahs-themed .focus\:border-indigo-300:focus { border-color: #94a3b8 !important; }
.kaahs-themed .bg-indigo-50,
.kaahs-themed .bg-indigo-50\/50,
.kaahs-themed .bg-indigo-50\/60,
.kaahs-themed .bg-indigo-50\/80 { background-color: var(--kaahs-surface-sunken) !important; }
.kaahs-themed .border-indigo-100,
.kaahs-themed .border-indigo-200 { border-color: rgb(148 163 184 / 0.22) !important; }
.kaahs-themed .text-indigo-500,
.kaahs-themed .text-indigo-700,
.kaahs-themed .text-indigo-800 { color: var(--kaahs-ink-secondary) !important; }
.kaahs-themed .bg-indigo-600,
.kaahs-themed .hover\:bg-indigo-700:hover { background-color: #1e293b !important; }
.kaahs-themed .th-sort:hover,
.kaahs-themed .th-sort.th-sort-active { color: var(--kaahs-ink) !important; background-color: var(--kaahs-surface-sunken) !important; }

/* Canvas — flat neutral, no colorful gradients */
body.kaahs-themed,
body.dash-canvas {
    background-color: var(--kaahs-canvas);
    background-image: none;
    color: var(--kaahs-ink);
}

/* Floating surface — no borders */
.kaahs-surface {
    background: var(--kaahs-surface);
    border: none;
    border-radius: var(--kaahs-radius-xl);
    box-shadow: var(--kaahs-shadow-float);
}

/* Typography scale */
.kaahs-display {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--kaahs-ink);
    line-height: 1.2;
}
.kaahs-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--kaahs-ink-muted);
}
.kaahs-metric {
    font-size: 1.375rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--kaahs-ink);
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}
.kaahs-body {
    font-size: 13px;
    font-weight: 500;
    color: var(--kaahs-ink-secondary);
    line-height: 1.5;
}

/* Form controls — minimal, borderless feel */
.owner-filter-select,
.kaahs-select {
    background: var(--kaahs-surface-sunken) !important;
    border: none !important;
    border-radius: var(--kaahs-radius-pill) !important;
    box-shadow: none !important;
    color: var(--kaahs-ink) !important;
    font-weight: 600 !important;
    padding: 0.5rem 2rem 0.5rem 1rem !important;
}
.owner-filter-select:focus,
.kaahs-select:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgb(17 24 39 / 0.08) !important;
}
html[data-theme="dark"] .owner-filter-select:focus,
html[data-theme="dark"] .kaahs-select:focus {
    box-shadow: 0 0 0 2px rgb(255 255 255 / 0.08) !important;
}

/* Table shells */
.table-shell {
    background: var(--kaahs-surface) !important;
    border: none !important;
    border-radius: var(--kaahs-radius-xl) !important;
    box-shadow: var(--kaahs-shadow-float) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Status pills — monochrome base, color only when critical */
.tier-badge,
.deadline-badge,
.buffer-risk,
.owner-unassigned {
    border: none !important;
    border-radius: var(--kaahs-radius-pill) !important;
    background: var(--kaahs-surface-sunken) !important;
    color: var(--kaahs-ink-secondary) !important;
    font-weight: 600 !important;
}
.deadline-overdue,
.buffer-risk-high,
.owner-unassigned {
    background: #fef2f2 !important;
    color: #b91c1c !important;
}
.deadline-soon,
.buffer-risk-medium {
    background: #fffbeb !important;
    color: #b45309 !important;
}
html[data-theme="dark"] .deadline-overdue,
html[data-theme="dark"] .buffer-risk-high {
    background: rgb(127 29 29 / 0.3) !important;
    color: #fca5a5 !important;
}

/* Scrollbar — nearly invisible */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-thumb {
    background: rgb(209 213 219 / 0.6);
    border-radius: var(--kaahs-radius-pill);
}
html[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: rgb(55 65 81 / 0.6);
}

/* Remove glass blur from sidebar */
#sidebar-projects {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
