/* Kuryos Design System 2026 — camada visual global, sem alterar regras de negócio. */
:root {
  --k-bg: #f5f5f7;
  --k-bg-elevated: rgba(255, 255, 255, 0.82);
  --k-surface: #ffffff;
  --k-surface-2: #f2f2f7;
  --k-surface-3: #e9e9ef;
  --k-text: #1d1d1f;
  --k-text-2: #6e6e73;
  --k-text-3: #8e8e93;
  --k-border: rgba(60, 60, 67, 0.16);
  --k-border-strong: rgba(60, 60, 67, 0.25);
  --k-blue: #0071e3;
  --k-blue-hover: #0077ed;
  --k-blue-soft: rgba(0, 113, 227, 0.1);
  --k-green: #248a3d;
  --k-orange: #c93400;
  --k-red: #d70015;
  --k-purple: #8944ab;
  --k-radius-xs: 8px;
  --k-radius-sm: 12px;
  --k-radius-md: 16px;
  --k-radius-lg: 22px;
  --k-radius-xl: 28px;
  --k-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.03), 0 8px 24px rgba(0, 0, 0, 0.05);
  --k-shadow-2: 0 18px 48px rgba(0, 0, 0, 0.1);
  --k-blur: saturate(180%) blur(24px);
  --background: 240 20% 98%;
  --foreground: 240 3% 12%;
  --card: 0 0% 100%;
  --card-foreground: 240 3% 12%;
  --popover: 0 0% 100%;
  --popover-foreground: 240 3% 12%;
  --primary: 210 100% 45%;
  --primary-foreground: 0 0% 100%;
  --secondary: 240 14% 95%;
  --secondary-foreground: 240 3% 16%;
  --muted: 240 14% 95%;
  --muted-foreground: 240 3% 43%;
  --accent: 210 100% 45%;
  --accent-foreground: 0 0% 100%;
  --border: 240 5% 84%;
  --input: 240 5% 82%;
  --ring: 210 100% 45%;
  --radius: 0.75rem;
  --bg: var(--k-bg);
  --panel: var(--k-surface);
  --ink: var(--k-text);
  --ink-soft: var(--k-text-2);
  --ink-mute: var(--k-text-3);
  --line: var(--k-border);
  --accent-deep: #004f9f;
  --sidebar-bg: rgba(251, 251, 253, 0.82);
  --shadow: var(--k-shadow-1);
}

:root[data-theme="dark"],
:root.dark {
  color-scheme: dark;
  --k-bg: #000000;
  --k-bg-elevated: rgba(28, 28, 30, 0.82);
  --k-surface: #1c1c1e;
  --k-surface-2: #2c2c2e;
  --k-surface-3: #3a3a3c;
  --k-text: #f5f5f7;
  --k-text-2: #aeaeb2;
  --k-text-3: #8e8e93;
  --k-border: rgba(255, 255, 255, 0.12);
  --k-border-strong: rgba(255, 255, 255, 0.2);
  --k-blue: #0a84ff;
  --k-blue-hover: #409cff;
  --k-blue-soft: rgba(10, 132, 255, 0.16);
  --k-green: #30d158;
  --k-orange: #ff9f0a;
  --k-red: #ff453a;
  --k-purple: #bf5af2;
  --k-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.35), 0 14px 36px rgba(0, 0, 0, 0.28);
  --k-shadow-2: 0 24px 64px rgba(0, 0, 0, 0.48);
  --background: 0 0% 0%;
  --foreground: 240 11% 96%;
  --card: 240 4% 11%;
  --card-foreground: 240 11% 96%;
  --popover: 240 4% 11%;
  --popover-foreground: 240 11% 96%;
  --primary: 211 100% 52%;
  --primary-foreground: 0 0% 100%;
  --secondary: 240 4% 17%;
  --secondary-foreground: 240 11% 96%;
  --muted: 240 4% 17%;
  --muted-foreground: 240 5% 69%;
  --accent: 211 100% 52%;
  --accent-foreground: 0 0% 100%;
  --border: 240 4% 23%;
  --input: 240 4% 25%;
  --ring: 211 100% 52%;
  --bg: var(--k-bg);
  --panel: var(--k-surface);
  --ink: var(--k-text);
  --ink-soft: var(--k-text-2);
  --ink-mute: var(--k-text-3);
  --line: var(--k-border);
  --accent: var(--k-blue);
  --accent-deep: #64a8ff;
  --sidebar-bg: rgba(24, 24, 27, 0.84);
  --shadow: var(--k-shadow-1);
}

html {
  background: var(--k-bg);
  color-scheme: light;
  accent-color: var(--k-blue);
  scroll-behavior: smooth;
}

html[data-theme="dark"], html.dark { color-scheme: dark; }

body,
body.kuryos-theme {
  color: var(--k-text);
  background:
    radial-gradient(circle at 8% -12%, color-mix(in srgb, var(--k-blue) 9%, transparent), transparent 34rem),
    radial-gradient(circle at 92% 0, color-mix(in srgb, var(--k-purple) 5%, transparent), transparent 28rem),
    var(--k-bg);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI Variable Text", "Segoe UI", sans-serif;
  font-feature-settings: "kern" 1, "ss01" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { color: #fff; background: color-mix(in srgb, var(--k-blue) 82%, transparent); }

:where(a, button, input, select, textarea, [role="button"], [role="combobox"]) {
  -webkit-tap-highlight-color: transparent;
}

:where(a, button, input, select, textarea, [role="button"], [role="combobox"]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--k-blue) 34%, transparent) !important;
  outline-offset: 2px;
}

:where(h1, .kt-h1) {
  color: var(--k-text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
}

:where(h2, h3, h4, h5, h6) {
  color: var(--k-text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", sans-serif !important;
  letter-spacing: -0.018em !important;
}

:where(.muted, .subtitle, .hint, .text-muted-foreground) { color: var(--k-text-2) !important; }

/* Navegação lateral */
body.has-sidebar { padding-left: 248px; }

.kt-sidebar {
  width: 248px !important;
  padding: 18px 12px 14px !important;
  gap: 14px !important;
  background: var(--sidebar-bg) !important;
  border-right: 1px solid var(--k-border) !important;
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.18), 10px 0 40px rgba(0, 0, 0, 0.035);
  backdrop-filter: var(--k-blur) !important;
  -webkit-backdrop-filter: var(--k-blur) !important;
}

.kt-brand { min-height: 46px; padding: 2px 10px 10px !important; }
.kt-brand-logo { height: 25px !important; }
.kt-nav-group { gap: 3px !important; }
.kt-nav-cap {
  min-height: 30px;
  padding: 6px 11px 4px !important;
  border-radius: var(--k-radius-xs) !important;
  color: var(--k-text-3) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: .075em !important;
}
.kt-nav-link {
  min-height: 38px;
  padding: 8px 11px !important;
  border-radius: 11px !important;
  color: var(--k-text-2) !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  transition: color .18s ease, background-color .18s ease, transform .18s ease !important;
}
.kt-nav-link:not(.active):hover {
  color: var(--k-text) !important;
  background: color-mix(in srgb, var(--k-text) 6%, transparent) !important;
  transform: translateX(1px);
}
.kt-nav-link.active {
  color: #fff !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--k-blue) 92%, #fff), var(--k-blue)) !important;
  box-shadow: 0 5px 16px color-mix(in srgb, var(--k-blue) 27%, transparent) !important;
}
.kt-sidebar-foot {
  padding: 12px 8px 2px !important;
  border-top-color: var(--k-border) !important;
}
.kt-avatar { background: linear-gradient(145deg, var(--k-purple), var(--k-blue)) !important; }
#kt-theme-toggle {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--k-border) !important;
  border-radius: 50% !important;
  color: var(--k-text-2) !important;
  background: var(--k-bg-elevated) !important;
  transition: transform .18s ease, color .18s ease, background-color .18s ease !important;
}
#kt-theme-toggle:hover { color: var(--k-blue) !important; transform: scale(1.06); }
#kt-theme-toggle svg { width: 17px; height: 17px; }

/* Conteúdo e superfícies */
:where(.kt-main, .page-enter, [data-app-main="true"] > main) { max-width: 1680px; margin-inline: auto; }

:where(.kt-card, .card, .panel, .box, .widget, #root .bg-card) {
  border: 1px solid var(--k-border) !important;
  border-radius: var(--k-radius-md) !important;
  background: color-mix(in srgb, var(--k-surface) 94%, transparent) !important;
  box-shadow: var(--k-shadow-1) !important;
}

#root .rounded-lg, #root .rounded-xl, #root .rounded-2xl, #root .rounded-3xl {
  border-radius: var(--k-radius-md) !important;
}

:where(.toolbar, .kt-toolbar, .filters, .filter-bar, [data-testid$="-bar"]) {
  border-radius: var(--k-radius-md);
}

/* Controles */
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, [role="combobox"]) {
  border: 1px solid var(--k-border-strong) !important;
  border-radius: var(--k-radius-sm) !important;
  color: var(--k-text) !important;
  background: color-mix(in srgb, var(--k-surface) 88%, transparent) !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.025) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
:where(input, textarea)::placeholder { color: var(--k-text-3) !important; opacity: .92; }
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, [role="combobox"]):focus {
  border-color: var(--k-blue) !important;
  box-shadow: 0 0 0 4px var(--k-blue-soft) !important;
}

:where(button, .btn, [role="button"]) {
  border-radius: var(--k-radius-sm);
  font-weight: 590;
  transition: transform .14s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}
:where(button, .btn, [role="button"]):not(:disabled):active { transform: scale(.975); }
:where(.btn-primary, .primary, button.bg-primary, #root button[class*="bg-primary"]) {
  color: #fff !important;
  background: var(--k-blue) !important;
  border-color: var(--k-blue) !important;
  box-shadow: 0 5px 14px color-mix(in srgb, var(--k-blue) 22%, transparent) !important;
}
:where(.btn-primary, .primary, button.bg-primary, #root button[class*="bg-primary"]):hover {
  background: var(--k-blue-hover) !important;
}

/* Tabelas */
:where(.table-wrap, .table-container, [data-testid$="-table-wrap"]) {
  overflow: auto;
  border: 1px solid var(--k-border);
  border-radius: var(--k-radius-md);
  background: var(--k-surface);
  box-shadow: var(--k-shadow-1);
}
table { border-color: var(--k-border) !important; }
thead { background: color-mix(in srgb, var(--k-surface-2) 84%, transparent); }
th {
  color: var(--k-text-2) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase;
}
tbody tr { transition: background-color .15s ease; }
tbody tr:hover { background: color-mix(in srgb, var(--k-blue) 4.5%, transparent) !important; }
td, th { border-color: var(--k-border) !important; }

/* Kanban */
.kanban-board { gap: 14px !important; }
.kanban-column {
  overflow: hidden;
  border: 1px solid var(--k-border) !important;
  border-radius: var(--k-radius-lg) !important;
  background: color-mix(in srgb, var(--k-surface-2) 76%, transparent) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 35%, transparent) !important;
}
.kanban-column .bg-card {
  border-radius: var(--k-radius-md) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .035), 0 8px 20px rgba(0, 0, 0, .045) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.kanban-column .bg-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--k-blue) 35%, var(--k-border)) !important;
  box-shadow: var(--k-shadow-2) !important;
}

/* Modais, gavetas, menus e notificações */
body > .fixed.inset-0.bg-black\/55,
body > .fixed.inset-0.bg-black\/50 { backdrop-filter: blur(12px) saturate(120%); }
[role="dialog"] {
  border: 1px solid var(--k-border) !important;
  border-radius: var(--k-radius-lg) !important;
  background: color-mix(in srgb, var(--k-surface) 88%, transparent) !important;
  box-shadow: var(--k-shadow-2) !important;
  backdrop-filter: var(--k-blur) !important;
  -webkit-backdrop-filter: var(--k-blur) !important;
}
[data-radix-popper-content-wrapper] > * {
  border-color: var(--k-border) !important;
  border-radius: var(--k-radius-sm) !important;
  background: color-mix(in srgb, var(--k-surface) 90%, transparent) !important;
  box-shadow: var(--k-shadow-2) !important;
  backdrop-filter: var(--k-blur) !important;
}
[data-sonner-toast] {
  border-color: var(--k-border) !important;
  border-radius: var(--k-radius-sm) !important;
  background: var(--k-bg-elevated) !important;
  color: var(--k-text) !important;
  box-shadow: var(--k-shadow-2) !important;
  backdrop-filter: var(--k-blur) !important;
}

/* Chips e ícones */
:where(.badge, .chip, .tag, [class*="rounded-full"]) { letter-spacing: -.005em; }
.kuryos-inline-icon {
  display: inline-flex;
  width: 1.08em;
  height: 1.08em;
  align-items: center;
  justify-content: center;
  flex: none;
  color: currentColor;
  vertical-align: -.16em;
}
.kuryos-inline-icon + .kuryos-inline-icon { margin-left: .15em; }
.kuryos-inline-icon svg { display: block; width: 100%; height: 100%; stroke-width: 1.9; }
.kuryos-emoji-hidden { font-family: inherit !important; }

/* Scrollbars discretas */
* { scrollbar-color: color-mix(in srgb, var(--k-text) 22%, transparent) transparent; scrollbar-width: thin; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--k-text) 19%, transparent); border: 2px solid transparent; border-radius: 999px; background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--k-text) 32%, transparent); border: 2px solid transparent; background-clip: padding-box; }

@media (max-width: 980px) {
  body.has-sidebar { padding-left: 0; }
  .kt-sidebar { width: min(310px, 88vw) !important; }
  .kt-hamburger {
    border: 1px solid var(--k-border) !important;
    border-radius: var(--k-radius-sm) !important;
    background: var(--k-bg-elevated) !important;
    box-shadow: var(--k-shadow-1) !important;
    backdrop-filter: var(--k-blur) !important;
  }
}

@media (max-width: 640px) {
  :where(.kt-main, .page-enter) { padding-inline: 14px !important; }
  :where(.kt-card, .card, .panel, .box, .widget, #root .bg-card) { border-radius: 14px !important; }
  [role="dialog"] { border-radius: 20px 20px 14px 14px !important; }
  th { font-size: 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  body { background: #fff !important; color: #000 !important; }
  .kt-sidebar, .kt-hamburger, #kt-theme-toggle { display: none !important; }
  body.has-sidebar { padding-left: 0 !important; }
  :where(.kt-card, .card, .panel, .box, .widget, #root .bg-card) { box-shadow: none !important; background: #fff !important; }
}
