/* Teamwork Theme System */

:root,
[data-theme="light"] {
  /* Backgrounds */
  --bg-body: #f5f5f5;
  --bg-card: #ffffff;
  --bg-header: #ffffff;
  --bg-sidebar: #ffffff;
  --bg-input: #f0f0f0;
  --bg-hover: rgba(0, 0, 0, 0.05);
  --bg-active: rgba(0, 0, 0, 0.1);

  /* Text */
  --text-primary: #1a1a1a;
  --text-secondary: #4a4a4a;
  --text-muted: #888888;
  --text-inverse: #ffffff;
  --text-link: #3b82f6;

  /* Borders */
  --border-default: #e0e0e0;
  --border-hover: #c0c0c0;
  --border-focus: #3b82f6;

  /* Accents */
  --accent-primary: #3b82f6;
  --accent-primary-hover: #2563eb;
  --accent-primary-bg: rgba(59, 130, 246, 0.1);
  --accent-secondary: #8b5cf6;
  --accent-secondary-bg: rgba(139, 92, 246, 0.1);

  /* Status */
  --success: #10b981;
  --success-bg: rgba(16, 185, 129, 0.1);
  --warning: #f59e0b;
  --warning-bg: rgba(245, 158, 11, 0.1);
  --error: #ef4444;
  --error-bg: rgba(239, 68, 68, 0.1);
  --info: #3b82f6;
  --info-bg: rgba(59, 130, 246, 0.1);

  /* Priority */
  --priority-low: #10b981;
  --priority-medium: #3b82f6;
  --priority-high: #f59e0b;
  --priority-urgent: #ef4444;

  /* Status colors */
  --status-todo: #6b7280;
  --status-in-progress: #3b82f6;
  --status-review: #8b5cf6;
  --status-done: #10b981;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);

  /* Overlay */
  --overlay: rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] {
  /* Backgrounds - Catppuccin Mocha */
  --bg-body: #1e1e2e;
  --bg-card: #313244;
  --bg-header: #181825;
  --bg-sidebar: #181825;
  --bg-input: #45475a;
  --bg-hover: rgba(255, 255, 255, 0.05);
  --bg-active: rgba(255, 255, 255, 0.1);

  /* Text */
  --text-primary: #cdd6f4;
  --text-secondary: #a6adc8;
  --text-muted: #6c7086;
  --text-inverse: #1e1e2e;
  --text-link: #89b4fa;

  /* Borders */
  --border-default: #45475a;
  --border-hover: #585b70;
  --border-focus: #89b4fa;

  /* Accents */
  --accent-primary: #89b4fa;
  --accent-primary-hover: #b4befe;
  --accent-primary-bg: rgba(137, 180, 250, 0.15);
  --accent-secondary: #cba6f7;
  --accent-secondary-bg: rgba(203, 166, 247, 0.15);

  /* Status */
  --success: #a6e3a1;
  --success-bg: rgba(166, 227, 161, 0.15);
  --warning: #f9e2af;
  --warning-bg: rgba(249, 226, 175, 0.15);
  --error: #f38ba8;
  --error-bg: rgba(243, 139, 168, 0.15);
  --info: #89b4fa;
  --info-bg: rgba(137, 180, 250, 0.15);

  /* Priority */
  --priority-low: #a6e3a1;
  --priority-medium: #89b4fa;
  --priority-high: #f9e2af;
  --priority-urgent: #f38ba8;

  /* Status colors */
  --status-todo: #6c7086;
  --status-in-progress: #89b4fa;
  --status-review: #cba6f7;
  --status-done: #a6e3a1;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);

  /* Overlay */
  --overlay: rgba(0, 0, 0, 0.7);
}

/* Base Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background: var(--bg-body);
  color: var(--text-primary);
  line-height: 1.6;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-body);
}

::-webkit-scrollbar-thumb {
  background: var(--border-default);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--border-hover);
}

/* Selection */
::selection {
  background: var(--accent-primary);
  color: var(--text-inverse);
}

/* Focus */
:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}

/* Links */
a {
  color: var(--text-link);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Buttons base */
button {
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Inputs base */
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  color: var(--text-primary);
  background: var(--bg-input);
  border: 1px solid var(--border-default);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  width: 100%;
  transition: border-color 0.2s, box-shadow 0.2s;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--border-focus);
  box-shadow: 0 0 0 3px var(--accent-primary-bg);
}

input::placeholder, textarea::placeholder {
  color: var(--text-muted);
}

/* Utility classes */
.hidden {
  display: none !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
