@charset "UTF-8";
:root {
  --srfcs-primary: #2563eb;
  --srfcs-primary-hover: #1d4ed8;
  --srfcs-primary-active: #1e40af;
  --srfcs-primary-light: #eff6ff;
  --srfcs-primary-lighter: #dbeafe;
  --srfcs-primary-dark: #1e40af;
  --srfcs-primary-subtle: #eff6ff;
  --srfcs-accent-blue: #1e40af;
  --srfcs-accent-blue-hover: #1d4ed8;
  --srfcs-accent-blue-active: #2563eb;
  --srfcs-accent-blue-light: #3b82f6;
  --srfcs-accent-blue-lighter: #60a5fa;
  --srfcs-accent-yellow: #6366f1;
  --srfcs-accent-yellow-hover: #4f46e5;
  --srfcs-accent-yellow-active: #4338ca;
  --srfcs-accent-yellow-light: #818cf8;
  --srfcs-accent-yellow-lighter: #a5b4fc;
  --srfcs-secondary: #6b7280;
  --srfcs-secondary-hover: #4b5563;
  --srfcs-secondary-active: #374151;
  --srfcs-success: #10b981;
  --srfcs-success-hover: #059669;
  --srfcs-success-light: #34d399;
  --srfcs-success-dark: #166534;
  --srfcs-success-subtle: #f0fdf4;
  --srfcs-warning: #f59e0b;
  --srfcs-warning-hover: #d97706;
  --srfcs-warning-light: #fbbf24;
  --srfcs-warning-dark: #92400e;
  --srfcs-warning-subtle: #fffbeb;
  --srfcs-danger: #ef4444;
  --srfcs-danger-hover: #dc2626;
  --srfcs-danger-light: #f87171;
  --srfcs-danger-dark: #991b1b;
  --srfcs-danger-subtle: #fef2f2;
  --srfcs-info: #3b82f6;
  --srfcs-info-hover: #2563eb;
  --srfcs-info-light: #60a5fa;
  --srfcs-info-dark: #1e40af;
  --srfcs-info-subtle: #eff6ff;
  --srfcs-gray-50: #f9fafb;
  --srfcs-gray-100: #f3f4f6;
  --srfcs-gray-200: #e5e7eb;
  --srfcs-gray-300: #d1d5db;
  --srfcs-gray-400: #9ca3af;
  --srfcs-gray-500: #6b7280;
  --srfcs-gray-600: #4b5563;
  --srfcs-gray-700: #374151;
  --srfcs-gray-800: #1f2937;
  --srfcs-gray-900: #111827;
  --srfcs-text: #111827;
  --srfcs-text-muted: #6b7280;
  --srfcs-text-light: #6b7280;
  --srfcs-text-lighter: #9ca3af;
  --srfcs-bg: #ffffff;
  --srfcs-bg-subtle: #f9fafb;
  --srfcs-bg-muted: #f3f4f6;
  --srfcs-bg-hover: #f9fafb;
  --srfcs-bg-elevated: #ffffff;
  --srfcs-border: #e5e7eb;
  --srfcs-border-light: #f3f4f6;
  --srfcs-border-dark: #d1d5db;
  --srfcs-focus-ring: 0 0 0 0.2rem rgba(37, 99, 235, 0.25);
  --srfcs-on-primary: #ffffff;
  --srfcs-on-secondary: #ffffff;
  --srfcs-on-success: #ffffff;
  --srfcs-on-warning: #000000;
  --srfcs-on-danger: #ffffff;
  --srfcs-on-info: #ffffff;
  --srfcs-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --srfcs-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --srfcs-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --srfcs-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --srfcs-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --srfcs-white: #ffffff;
  --srfcs-black: #000000;
  --srfcs-transparent: transparent;
}

[data-theme=dark] {
  --srfcs-primary: #60a5fa;
  --srfcs-primary-hover: #93c5fd;
  --srfcs-primary-active: #bfdbfe;
  --srfcs-primary-light: #1e3a5f;
  --srfcs-primary-lighter: #1e40af;
  --srfcs-primary-dark: #93c5fd;
  --srfcs-primary-subtle: #172554;
  --srfcs-accent-blue: #60a5fa;
  --srfcs-accent-blue-hover: #93c5fd;
  --srfcs-accent-blue-active: #bfdbfe;
  --srfcs-accent-blue-light: #3b82f6;
  --srfcs-accent-blue-lighter: #2563eb;
  --srfcs-accent-yellow: #818cf8;
  --srfcs-accent-yellow-hover: #a5b4fc;
  --srfcs-accent-yellow-active: #c7d2fe;
  --srfcs-accent-yellow-light: #6366f1;
  --srfcs-accent-yellow-lighter: #4f46e5;
  --srfcs-secondary: #9ca3af;
  --srfcs-secondary-hover: #d1d5db;
  --srfcs-secondary-active: #e5e7eb;
  --srfcs-success: #34d399;
  --srfcs-success-hover: #6ee7b7;
  --srfcs-success-light: #10b981;
  --srfcs-success-dark: #6ee7b7;
  --srfcs-success-subtle: #052e16;
  --srfcs-warning: #fbbf24;
  --srfcs-warning-hover: #fcd34d;
  --srfcs-warning-light: #f59e0b;
  --srfcs-warning-dark: #fcd34d;
  --srfcs-warning-subtle: #451a03;
  --srfcs-danger: #f87171;
  --srfcs-danger-hover: #fca5a5;
  --srfcs-danger-light: #ef4444;
  --srfcs-danger-dark: #fca5a5;
  --srfcs-danger-subtle: #450a0a;
  --srfcs-info: #60a5fa;
  --srfcs-info-hover: #93c5fd;
  --srfcs-info-light: #3b82f6;
  --srfcs-info-dark: #93c5fd;
  --srfcs-info-subtle: #172554;
  --srfcs-gray-50: #1f2937;
  --srfcs-gray-100: #111827;
  --srfcs-gray-200: #374151;
  --srfcs-gray-300: #4b5563;
  --srfcs-gray-400: #6b7280;
  --srfcs-gray-500: #9ca3af;
  --srfcs-gray-600: #d1d5db;
  --srfcs-gray-700: #e5e7eb;
  --srfcs-gray-800: #f3f4f6;
  --srfcs-gray-900: #f9fafb;
  --srfcs-text: #f9fafb;
  --srfcs-text-muted: #9ca3af;
  --srfcs-text-light: #d1d5db;
  --srfcs-text-lighter: #9ca3af;
  --srfcs-bg: #111827;
  --srfcs-bg-subtle: #1f2937;
  --srfcs-bg-muted: #374151;
  --srfcs-bg-hover: #1f2937;
  --srfcs-bg-elevated: #1f2937;
  --srfcs-border: #374151;
  --srfcs-border-light: #1f2937;
  --srfcs-border-dark: #4b5563;
  --srfcs-focus-ring: 0 0 0 0.2rem rgba(96, 165, 250, 0.35);
  --srfcs-on-primary: #111827;
  --srfcs-on-secondary: #111827;
  --srfcs-on-success: #111827;
  --srfcs-on-warning: #111827;
  --srfcs-on-danger: #111827;
  --srfcs-on-info: #111827;
  --srfcs-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.2);
  --srfcs-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.3), 0 1px 2px -1px rgb(0 0 0 / 0.2);
  --srfcs-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.2);
  --srfcs-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.3), 0 4px 6px -4px rgb(0 0 0 / 0.2);
  --srfcs-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.3), 0 8px 10px -6px rgb(0 0 0 / 0.2);
}

[data-theme=high-contrast] {
  --srfcs-primary: #1e40af;
  --srfcs-primary-hover: #1e3a8a;
  --srfcs-accent-blue: #1e3a8a;
  --srfcs-accent-yellow: #4338ca;
  --srfcs-text: #000000;
  --srfcs-bg: #ffffff;
  --srfcs-border: #000000;
}

:root {
  --srfcs-space-0: 0;
  --srfcs-space-px: 1px;
  --srfcs-space-0-5: 0.125rem;
  --srfcs-space-1: 0.25rem;
  --srfcs-space-1-5: 0.375rem;
  --srfcs-space-2: 0.5rem;
  --srfcs-space-2-5: 0.625rem;
  --srfcs-space-3: 0.75rem;
  --srfcs-space-3-5: 0.875rem;
  --srfcs-space-4: 1rem;
  --srfcs-space-5: 1.25rem;
  --srfcs-space-6: 1.5rem;
  --srfcs-space-7: 1.75rem;
  --srfcs-space-8: 2rem;
  --srfcs-space-9: 2.25rem;
  --srfcs-space-10: 2.5rem;
  --srfcs-space-11: 2.75rem;
  --srfcs-space-12: 3rem;
  --srfcs-space-14: 3.5rem;
  --srfcs-space-16: 4rem;
  --srfcs-space-20: 5rem;
  --srfcs-space-24: 6rem;
  --srfcs-space-28: 7rem;
  --srfcs-space-32: 8rem;
  --srfcs-space-36: 9rem;
  --srfcs-space-40: 10rem;
  --srfcs-space-44: 11rem;
  --srfcs-space-48: 12rem;
  --srfcs-space-52: 13rem;
  --srfcs-space-56: 14rem;
  --srfcs-space-60: 15rem;
  --srfcs-space-64: 16rem;
  --srfcs-space-72: 18rem;
  --srfcs-space-80: 20rem;
  --srfcs-space-96: 24rem;
}

:root {
  --srfcs-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --srfcs-font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --srfcs-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --srfcs-text-xs: 0.75rem;
  --srfcs-text-sm: 0.875rem;
  --srfcs-text-base: 1rem;
  --srfcs-text-lg: 1.125rem;
  --srfcs-text-xl: 1.25rem;
  --srfcs-text-2xl: 1.5rem;
  --srfcs-text-3xl: 1.875rem;
  --srfcs-text-4xl: 2.25rem;
  --srfcs-text-5xl: 3rem;
  --srfcs-text-6xl: 3.75rem;
  --srfcs-text-7xl: 4.5rem;
  --srfcs-text-8xl: 6rem;
  --srfcs-text-9xl: 8rem;
  --srfcs-font-thin: 100;
  --srfcs-font-extralight: 200;
  --srfcs-font-light: 300;
  --srfcs-font-normal: 400;
  --srfcs-font-medium: 500;
  --srfcs-font-semibold: 600;
  --srfcs-font-bold: 700;
  --srfcs-font-extrabold: 800;
  --srfcs-font-black: 900;
  --srfcs-leading-none: 1;
  --srfcs-leading-tight: 1.25;
  --srfcs-leading-snug: 1.375;
  --srfcs-leading-normal: 1.5;
  --srfcs-leading-relaxed: 1.625;
  --srfcs-leading-loose: 2;
  --srfcs-tracking-tighter: -0.05em;
  --srfcs-tracking-tight: -0.025em;
  --srfcs-tracking-normal: 0em;
  --srfcs-tracking-wide: 0.025em;
  --srfcs-tracking-wider: 0.05em;
  --srfcs-tracking-widest: 0.1em;
}

:root {
  --srfcs-radius-none: 0;
  --srfcs-radius-sm: 0.125rem;
  --srfcs-radius: 0.25rem;
  --srfcs-radius-md: 0.375rem;
  --srfcs-radius-lg: 0.5rem;
  --srfcs-radius-xl: 0.75rem;
  --srfcs-radius-2xl: 1rem;
  --srfcs-radius-3xl: 1.5rem;
  --srfcs-radius-full: 9999px;
}

html {
  font-family: var(--srfcs-font-sans);
  font-size: var(--srfcs-text-base);
  line-height: var(--srfcs-leading-normal);
  color: var(--srfcs-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: inherit;
  margin: 0;
  padding: 0;
  background-color: var(--srfcs-bg-subtle);
}

input,
textarea,
select,
button {
  font-family: var(--srfcs-font-sans);
  font-size: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--srfcs-font-sans);
  font-weight: var(--srfcs-font-semibold);
  line-height: var(--srfcs-leading-tight);
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

code, pre, kbd, samp {
  font-family: var(--srfcs-font-mono);
}

.srfcs-p-0 {
  padding: var(--srfcs-space-0);
}

.srfcs-px-0 {
  padding-left: var(--srfcs-space-0);
  padding-right: var(--srfcs-space-0);
}

.srfcs-py-0 {
  padding-top: var(--srfcs-space-0);
  padding-bottom: var(--srfcs-space-0);
}

.srfcs-pt-0 {
  padding-top: var(--srfcs-space-0);
}

.srfcs-pr-0 {
  padding-right: var(--srfcs-space-0);
}

.srfcs-pb-0 {
  padding-bottom: var(--srfcs-space-0);
}

.srfcs-pl-0 {
  padding-left: var(--srfcs-space-0);
}

.srfcs-p-px {
  padding: var(--srfcs-space-px);
}

.srfcs-px-px {
  padding-left: var(--srfcs-space-px);
  padding-right: var(--srfcs-space-px);
}

.srfcs-py-px {
  padding-top: var(--srfcs-space-px);
  padding-bottom: var(--srfcs-space-px);
}

.srfcs-pt-px {
  padding-top: var(--srfcs-space-px);
}

.srfcs-pr-px {
  padding-right: var(--srfcs-space-px);
}

.srfcs-pb-px {
  padding-bottom: var(--srfcs-space-px);
}

.srfcs-pl-px {
  padding-left: var(--srfcs-space-px);
}

.srfcs-p--5 {
  padding: var(--srfcs-space-0-5);
}

.srfcs-px--5 {
  padding-left: var(--srfcs-space-0-5);
  padding-right: var(--srfcs-space-0-5);
}

.srfcs-py--5 {
  padding-top: var(--srfcs-space-0-5);
  padding-bottom: var(--srfcs-space-0-5);
}

.srfcs-pt--5 {
  padding-top: var(--srfcs-space-0-5);
}

.srfcs-pr--5 {
  padding-right: var(--srfcs-space-0-5);
}

.srfcs-pb--5 {
  padding-bottom: var(--srfcs-space-0-5);
}

.srfcs-pl--5 {
  padding-left: var(--srfcs-space-0-5);
}

.srfcs-p-1 {
  padding: var(--srfcs-space-1);
}

.srfcs-px-1 {
  padding-left: var(--srfcs-space-1);
  padding-right: var(--srfcs-space-1);
}

.srfcs-py-1 {
  padding-top: var(--srfcs-space-1);
  padding-bottom: var(--srfcs-space-1);
}

.srfcs-pt-1 {
  padding-top: var(--srfcs-space-1);
}

.srfcs-pr-1 {
  padding-right: var(--srfcs-space-1);
}

.srfcs-pb-1 {
  padding-bottom: var(--srfcs-space-1);
}

.srfcs-pl-1 {
  padding-left: var(--srfcs-space-1);
}

.srfcs-p--4 {
  padding: var(--srfcs-space-1-5);
}

.srfcs-px--4 {
  padding-left: var(--srfcs-space-1-5);
  padding-right: var(--srfcs-space-1-5);
}

.srfcs-py--4 {
  padding-top: var(--srfcs-space-1-5);
  padding-bottom: var(--srfcs-space-1-5);
}

.srfcs-pt--4 {
  padding-top: var(--srfcs-space-1-5);
}

.srfcs-pr--4 {
  padding-right: var(--srfcs-space-1-5);
}

.srfcs-pb--4 {
  padding-bottom: var(--srfcs-space-1-5);
}

.srfcs-pl--4 {
  padding-left: var(--srfcs-space-1-5);
}

.srfcs-p-2 {
  padding: var(--srfcs-space-2);
}

.srfcs-px-2 {
  padding-left: var(--srfcs-space-2);
  padding-right: var(--srfcs-space-2);
}

.srfcs-py-2 {
  padding-top: var(--srfcs-space-2);
  padding-bottom: var(--srfcs-space-2);
}

.srfcs-pt-2 {
  padding-top: var(--srfcs-space-2);
}

.srfcs-pr-2 {
  padding-right: var(--srfcs-space-2);
}

.srfcs-pb-2 {
  padding-bottom: var(--srfcs-space-2);
}

.srfcs-pl-2 {
  padding-left: var(--srfcs-space-2);
}

.srfcs-p--3 {
  padding: var(--srfcs-space-2-5);
}

.srfcs-px--3 {
  padding-left: var(--srfcs-space-2-5);
  padding-right: var(--srfcs-space-2-5);
}

.srfcs-py--3 {
  padding-top: var(--srfcs-space-2-5);
  padding-bottom: var(--srfcs-space-2-5);
}

.srfcs-pt--3 {
  padding-top: var(--srfcs-space-2-5);
}

.srfcs-pr--3 {
  padding-right: var(--srfcs-space-2-5);
}

.srfcs-pb--3 {
  padding-bottom: var(--srfcs-space-2-5);
}

.srfcs-pl--3 {
  padding-left: var(--srfcs-space-2-5);
}

.srfcs-p-3 {
  padding: var(--srfcs-space-3);
}

.srfcs-px-3 {
  padding-left: var(--srfcs-space-3);
  padding-right: var(--srfcs-space-3);
}

.srfcs-py-3 {
  padding-top: var(--srfcs-space-3);
  padding-bottom: var(--srfcs-space-3);
}

.srfcs-pt-3 {
  padding-top: var(--srfcs-space-3);
}

.srfcs-pr-3 {
  padding-right: var(--srfcs-space-3);
}

.srfcs-pb-3 {
  padding-bottom: var(--srfcs-space-3);
}

.srfcs-pl-3 {
  padding-left: var(--srfcs-space-3);
}

.srfcs-p--2 {
  padding: var(--srfcs-space-3-5);
}

.srfcs-px--2 {
  padding-left: var(--srfcs-space-3-5);
  padding-right: var(--srfcs-space-3-5);
}

.srfcs-py--2 {
  padding-top: var(--srfcs-space-3-5);
  padding-bottom: var(--srfcs-space-3-5);
}

.srfcs-pt--2 {
  padding-top: var(--srfcs-space-3-5);
}

.srfcs-pr--2 {
  padding-right: var(--srfcs-space-3-5);
}

.srfcs-pb--2 {
  padding-bottom: var(--srfcs-space-3-5);
}

.srfcs-pl--2 {
  padding-left: var(--srfcs-space-3-5);
}

.srfcs-p-4 {
  padding: var(--srfcs-space-4);
}

.srfcs-px-4 {
  padding-left: var(--srfcs-space-4);
  padding-right: var(--srfcs-space-4);
}

.srfcs-py-4 {
  padding-top: var(--srfcs-space-4);
  padding-bottom: var(--srfcs-space-4);
}

.srfcs-pt-4 {
  padding-top: var(--srfcs-space-4);
}

.srfcs-pr-4 {
  padding-right: var(--srfcs-space-4);
}

.srfcs-pb-4 {
  padding-bottom: var(--srfcs-space-4);
}

.srfcs-pl-4 {
  padding-left: var(--srfcs-space-4);
}

.srfcs-p-5 {
  padding: var(--srfcs-space-5);
}

.srfcs-px-5 {
  padding-left: var(--srfcs-space-5);
  padding-right: var(--srfcs-space-5);
}

.srfcs-py-5 {
  padding-top: var(--srfcs-space-5);
  padding-bottom: var(--srfcs-space-5);
}

.srfcs-pt-5 {
  padding-top: var(--srfcs-space-5);
}

.srfcs-pr-5 {
  padding-right: var(--srfcs-space-5);
}

.srfcs-pb-5 {
  padding-bottom: var(--srfcs-space-5);
}

.srfcs-pl-5 {
  padding-left: var(--srfcs-space-5);
}

.srfcs-p-6 {
  padding: var(--srfcs-space-6);
}

.srfcs-px-6 {
  padding-left: var(--srfcs-space-6);
  padding-right: var(--srfcs-space-6);
}

.srfcs-py-6 {
  padding-top: var(--srfcs-space-6);
  padding-bottom: var(--srfcs-space-6);
}

.srfcs-pt-6 {
  padding-top: var(--srfcs-space-6);
}

.srfcs-pr-6 {
  padding-right: var(--srfcs-space-6);
}

.srfcs-pb-6 {
  padding-bottom: var(--srfcs-space-6);
}

.srfcs-pl-6 {
  padding-left: var(--srfcs-space-6);
}

.srfcs-p-7 {
  padding: var(--srfcs-space-7);
}

.srfcs-px-7 {
  padding-left: var(--srfcs-space-7);
  padding-right: var(--srfcs-space-7);
}

.srfcs-py-7 {
  padding-top: var(--srfcs-space-7);
  padding-bottom: var(--srfcs-space-7);
}

.srfcs-pt-7 {
  padding-top: var(--srfcs-space-7);
}

.srfcs-pr-7 {
  padding-right: var(--srfcs-space-7);
}

.srfcs-pb-7 {
  padding-bottom: var(--srfcs-space-7);
}

.srfcs-pl-7 {
  padding-left: var(--srfcs-space-7);
}

.srfcs-p-8 {
  padding: var(--srfcs-space-8);
}

.srfcs-px-8 {
  padding-left: var(--srfcs-space-8);
  padding-right: var(--srfcs-space-8);
}

.srfcs-py-8 {
  padding-top: var(--srfcs-space-8);
  padding-bottom: var(--srfcs-space-8);
}

.srfcs-pt-8 {
  padding-top: var(--srfcs-space-8);
}

.srfcs-pr-8 {
  padding-right: var(--srfcs-space-8);
}

.srfcs-pb-8 {
  padding-bottom: var(--srfcs-space-8);
}

.srfcs-pl-8 {
  padding-left: var(--srfcs-space-8);
}

.srfcs-p-9 {
  padding: var(--srfcs-space-9);
}

.srfcs-px-9 {
  padding-left: var(--srfcs-space-9);
  padding-right: var(--srfcs-space-9);
}

.srfcs-py-9 {
  padding-top: var(--srfcs-space-9);
  padding-bottom: var(--srfcs-space-9);
}

.srfcs-pt-9 {
  padding-top: var(--srfcs-space-9);
}

.srfcs-pr-9 {
  padding-right: var(--srfcs-space-9);
}

.srfcs-pb-9 {
  padding-bottom: var(--srfcs-space-9);
}

.srfcs-pl-9 {
  padding-left: var(--srfcs-space-9);
}

.srfcs-p-10 {
  padding: var(--srfcs-space-10);
}

.srfcs-px-10 {
  padding-left: var(--srfcs-space-10);
  padding-right: var(--srfcs-space-10);
}

.srfcs-py-10 {
  padding-top: var(--srfcs-space-10);
  padding-bottom: var(--srfcs-space-10);
}

.srfcs-pt-10 {
  padding-top: var(--srfcs-space-10);
}

.srfcs-pr-10 {
  padding-right: var(--srfcs-space-10);
}

.srfcs-pb-10 {
  padding-bottom: var(--srfcs-space-10);
}

.srfcs-pl-10 {
  padding-left: var(--srfcs-space-10);
}

.srfcs-p-11 {
  padding: var(--srfcs-space-11);
}

.srfcs-px-11 {
  padding-left: var(--srfcs-space-11);
  padding-right: var(--srfcs-space-11);
}

.srfcs-py-11 {
  padding-top: var(--srfcs-space-11);
  padding-bottom: var(--srfcs-space-11);
}

.srfcs-pt-11 {
  padding-top: var(--srfcs-space-11);
}

.srfcs-pr-11 {
  padding-right: var(--srfcs-space-11);
}

.srfcs-pb-11 {
  padding-bottom: var(--srfcs-space-11);
}

.srfcs-pl-11 {
  padding-left: var(--srfcs-space-11);
}

.srfcs-p-12 {
  padding: var(--srfcs-space-12);
}

.srfcs-px-12 {
  padding-left: var(--srfcs-space-12);
  padding-right: var(--srfcs-space-12);
}

.srfcs-py-12 {
  padding-top: var(--srfcs-space-12);
  padding-bottom: var(--srfcs-space-12);
}

.srfcs-pt-12 {
  padding-top: var(--srfcs-space-12);
}

.srfcs-pr-12 {
  padding-right: var(--srfcs-space-12);
}

.srfcs-pb-12 {
  padding-bottom: var(--srfcs-space-12);
}

.srfcs-pl-12 {
  padding-left: var(--srfcs-space-12);
}

.srfcs-p-14 {
  padding: var(--srfcs-space-14);
}

.srfcs-px-14 {
  padding-left: var(--srfcs-space-14);
  padding-right: var(--srfcs-space-14);
}

.srfcs-py-14 {
  padding-top: var(--srfcs-space-14);
  padding-bottom: var(--srfcs-space-14);
}

.srfcs-pt-14 {
  padding-top: var(--srfcs-space-14);
}

.srfcs-pr-14 {
  padding-right: var(--srfcs-space-14);
}

.srfcs-pb-14 {
  padding-bottom: var(--srfcs-space-14);
}

.srfcs-pl-14 {
  padding-left: var(--srfcs-space-14);
}

.srfcs-p-16 {
  padding: var(--srfcs-space-16);
}

.srfcs-px-16 {
  padding-left: var(--srfcs-space-16);
  padding-right: var(--srfcs-space-16);
}

.srfcs-py-16 {
  padding-top: var(--srfcs-space-16);
  padding-bottom: var(--srfcs-space-16);
}

.srfcs-pt-16 {
  padding-top: var(--srfcs-space-16);
}

.srfcs-pr-16 {
  padding-right: var(--srfcs-space-16);
}

.srfcs-pb-16 {
  padding-bottom: var(--srfcs-space-16);
}

.srfcs-pl-16 {
  padding-left: var(--srfcs-space-16);
}

.srfcs-p-20 {
  padding: var(--srfcs-space-20);
}

.srfcs-px-20 {
  padding-left: var(--srfcs-space-20);
  padding-right: var(--srfcs-space-20);
}

.srfcs-py-20 {
  padding-top: var(--srfcs-space-20);
  padding-bottom: var(--srfcs-space-20);
}

.srfcs-pt-20 {
  padding-top: var(--srfcs-space-20);
}

.srfcs-pr-20 {
  padding-right: var(--srfcs-space-20);
}

.srfcs-pb-20 {
  padding-bottom: var(--srfcs-space-20);
}

.srfcs-pl-20 {
  padding-left: var(--srfcs-space-20);
}

.srfcs-p-24 {
  padding: var(--srfcs-space-24);
}

.srfcs-px-24 {
  padding-left: var(--srfcs-space-24);
  padding-right: var(--srfcs-space-24);
}

.srfcs-py-24 {
  padding-top: var(--srfcs-space-24);
  padding-bottom: var(--srfcs-space-24);
}

.srfcs-pt-24 {
  padding-top: var(--srfcs-space-24);
}

.srfcs-pr-24 {
  padding-right: var(--srfcs-space-24);
}

.srfcs-pb-24 {
  padding-bottom: var(--srfcs-space-24);
}

.srfcs-pl-24 {
  padding-left: var(--srfcs-space-24);
}

.srfcs-p-28 {
  padding: var(--srfcs-space-28);
}

.srfcs-px-28 {
  padding-left: var(--srfcs-space-28);
  padding-right: var(--srfcs-space-28);
}

.srfcs-py-28 {
  padding-top: var(--srfcs-space-28);
  padding-bottom: var(--srfcs-space-28);
}

.srfcs-pt-28 {
  padding-top: var(--srfcs-space-28);
}

.srfcs-pr-28 {
  padding-right: var(--srfcs-space-28);
}

.srfcs-pb-28 {
  padding-bottom: var(--srfcs-space-28);
}

.srfcs-pl-28 {
  padding-left: var(--srfcs-space-28);
}

.srfcs-p-32 {
  padding: var(--srfcs-space-32);
}

.srfcs-px-32 {
  padding-left: var(--srfcs-space-32);
  padding-right: var(--srfcs-space-32);
}

.srfcs-py-32 {
  padding-top: var(--srfcs-space-32);
  padding-bottom: var(--srfcs-space-32);
}

.srfcs-pt-32 {
  padding-top: var(--srfcs-space-32);
}

.srfcs-pr-32 {
  padding-right: var(--srfcs-space-32);
}

.srfcs-pb-32 {
  padding-bottom: var(--srfcs-space-32);
}

.srfcs-pl-32 {
  padding-left: var(--srfcs-space-32);
}

.srfcs-p-36 {
  padding: var(--srfcs-space-36);
}

.srfcs-px-36 {
  padding-left: var(--srfcs-space-36);
  padding-right: var(--srfcs-space-36);
}

.srfcs-py-36 {
  padding-top: var(--srfcs-space-36);
  padding-bottom: var(--srfcs-space-36);
}

.srfcs-pt-36 {
  padding-top: var(--srfcs-space-36);
}

.srfcs-pr-36 {
  padding-right: var(--srfcs-space-36);
}

.srfcs-pb-36 {
  padding-bottom: var(--srfcs-space-36);
}

.srfcs-pl-36 {
  padding-left: var(--srfcs-space-36);
}

.srfcs-p-40 {
  padding: var(--srfcs-space-40);
}

.srfcs-px-40 {
  padding-left: var(--srfcs-space-40);
  padding-right: var(--srfcs-space-40);
}

.srfcs-py-40 {
  padding-top: var(--srfcs-space-40);
  padding-bottom: var(--srfcs-space-40);
}

.srfcs-pt-40 {
  padding-top: var(--srfcs-space-40);
}

.srfcs-pr-40 {
  padding-right: var(--srfcs-space-40);
}

.srfcs-pb-40 {
  padding-bottom: var(--srfcs-space-40);
}

.srfcs-pl-40 {
  padding-left: var(--srfcs-space-40);
}

.srfcs-p-44 {
  padding: var(--srfcs-space-44);
}

.srfcs-px-44 {
  padding-left: var(--srfcs-space-44);
  padding-right: var(--srfcs-space-44);
}

.srfcs-py-44 {
  padding-top: var(--srfcs-space-44);
  padding-bottom: var(--srfcs-space-44);
}

.srfcs-pt-44 {
  padding-top: var(--srfcs-space-44);
}

.srfcs-pr-44 {
  padding-right: var(--srfcs-space-44);
}

.srfcs-pb-44 {
  padding-bottom: var(--srfcs-space-44);
}

.srfcs-pl-44 {
  padding-left: var(--srfcs-space-44);
}

.srfcs-p-48 {
  padding: var(--srfcs-space-48);
}

.srfcs-px-48 {
  padding-left: var(--srfcs-space-48);
  padding-right: var(--srfcs-space-48);
}

.srfcs-py-48 {
  padding-top: var(--srfcs-space-48);
  padding-bottom: var(--srfcs-space-48);
}

.srfcs-pt-48 {
  padding-top: var(--srfcs-space-48);
}

.srfcs-pr-48 {
  padding-right: var(--srfcs-space-48);
}

.srfcs-pb-48 {
  padding-bottom: var(--srfcs-space-48);
}

.srfcs-pl-48 {
  padding-left: var(--srfcs-space-48);
}

.srfcs-p-52 {
  padding: var(--srfcs-space-52);
}

.srfcs-px-52 {
  padding-left: var(--srfcs-space-52);
  padding-right: var(--srfcs-space-52);
}

.srfcs-py-52 {
  padding-top: var(--srfcs-space-52);
  padding-bottom: var(--srfcs-space-52);
}

.srfcs-pt-52 {
  padding-top: var(--srfcs-space-52);
}

.srfcs-pr-52 {
  padding-right: var(--srfcs-space-52);
}

.srfcs-pb-52 {
  padding-bottom: var(--srfcs-space-52);
}

.srfcs-pl-52 {
  padding-left: var(--srfcs-space-52);
}

.srfcs-p-56 {
  padding: var(--srfcs-space-56);
}

.srfcs-px-56 {
  padding-left: var(--srfcs-space-56);
  padding-right: var(--srfcs-space-56);
}

.srfcs-py-56 {
  padding-top: var(--srfcs-space-56);
  padding-bottom: var(--srfcs-space-56);
}

.srfcs-pt-56 {
  padding-top: var(--srfcs-space-56);
}

.srfcs-pr-56 {
  padding-right: var(--srfcs-space-56);
}

.srfcs-pb-56 {
  padding-bottom: var(--srfcs-space-56);
}

.srfcs-pl-56 {
  padding-left: var(--srfcs-space-56);
}

.srfcs-p-60 {
  padding: var(--srfcs-space-60);
}

.srfcs-px-60 {
  padding-left: var(--srfcs-space-60);
  padding-right: var(--srfcs-space-60);
}

.srfcs-py-60 {
  padding-top: var(--srfcs-space-60);
  padding-bottom: var(--srfcs-space-60);
}

.srfcs-pt-60 {
  padding-top: var(--srfcs-space-60);
}

.srfcs-pr-60 {
  padding-right: var(--srfcs-space-60);
}

.srfcs-pb-60 {
  padding-bottom: var(--srfcs-space-60);
}

.srfcs-pl-60 {
  padding-left: var(--srfcs-space-60);
}

.srfcs-p-64 {
  padding: var(--srfcs-space-64);
}

.srfcs-px-64 {
  padding-left: var(--srfcs-space-64);
  padding-right: var(--srfcs-space-64);
}

.srfcs-py-64 {
  padding-top: var(--srfcs-space-64);
  padding-bottom: var(--srfcs-space-64);
}

.srfcs-pt-64 {
  padding-top: var(--srfcs-space-64);
}

.srfcs-pr-64 {
  padding-right: var(--srfcs-space-64);
}

.srfcs-pb-64 {
  padding-bottom: var(--srfcs-space-64);
}

.srfcs-pl-64 {
  padding-left: var(--srfcs-space-64);
}

.srfcs-p-72 {
  padding: var(--srfcs-space-72);
}

.srfcs-px-72 {
  padding-left: var(--srfcs-space-72);
  padding-right: var(--srfcs-space-72);
}

.srfcs-py-72 {
  padding-top: var(--srfcs-space-72);
  padding-bottom: var(--srfcs-space-72);
}

.srfcs-pt-72 {
  padding-top: var(--srfcs-space-72);
}

.srfcs-pr-72 {
  padding-right: var(--srfcs-space-72);
}

.srfcs-pb-72 {
  padding-bottom: var(--srfcs-space-72);
}

.srfcs-pl-72 {
  padding-left: var(--srfcs-space-72);
}

.srfcs-p-80 {
  padding: var(--srfcs-space-80);
}

.srfcs-px-80 {
  padding-left: var(--srfcs-space-80);
  padding-right: var(--srfcs-space-80);
}

.srfcs-py-80 {
  padding-top: var(--srfcs-space-80);
  padding-bottom: var(--srfcs-space-80);
}

.srfcs-pt-80 {
  padding-top: var(--srfcs-space-80);
}

.srfcs-pr-80 {
  padding-right: var(--srfcs-space-80);
}

.srfcs-pb-80 {
  padding-bottom: var(--srfcs-space-80);
}

.srfcs-pl-80 {
  padding-left: var(--srfcs-space-80);
}

.srfcs-p-96 {
  padding: var(--srfcs-space-96);
}

.srfcs-px-96 {
  padding-left: var(--srfcs-space-96);
  padding-right: var(--srfcs-space-96);
}

.srfcs-py-96 {
  padding-top: var(--srfcs-space-96);
  padding-bottom: var(--srfcs-space-96);
}

.srfcs-pt-96 {
  padding-top: var(--srfcs-space-96);
}

.srfcs-pr-96 {
  padding-right: var(--srfcs-space-96);
}

.srfcs-pb-96 {
  padding-bottom: var(--srfcs-space-96);
}

.srfcs-pl-96 {
  padding-left: var(--srfcs-space-96);
}

.srfcs-m-0 {
  margin: var(--srfcs-space-0);
}

.srfcs-mx-0 {
  margin-left: var(--srfcs-space-0);
  margin-right: var(--srfcs-space-0);
}

.srfcs-my-0 {
  margin-top: var(--srfcs-space-0);
  margin-bottom: var(--srfcs-space-0);
}

.srfcs-mt-0 {
  margin-top: var(--srfcs-space-0);
}

.srfcs-mr-0 {
  margin-right: var(--srfcs-space-0);
}

.srfcs-mb-0 {
  margin-bottom: var(--srfcs-space-0);
}

.srfcs-ml-0 {
  margin-left: var(--srfcs-space-0);
}

.srfcs-m-px {
  margin: var(--srfcs-space-px);
}

.srfcs-mx-px {
  margin-left: var(--srfcs-space-px);
  margin-right: var(--srfcs-space-px);
}

.srfcs-my-px {
  margin-top: var(--srfcs-space-px);
  margin-bottom: var(--srfcs-space-px);
}

.srfcs-mt-px {
  margin-top: var(--srfcs-space-px);
}

.srfcs-mr-px {
  margin-right: var(--srfcs-space-px);
}

.srfcs-mb-px {
  margin-bottom: var(--srfcs-space-px);
}

.srfcs-ml-px {
  margin-left: var(--srfcs-space-px);
}

.srfcs-m--5 {
  margin: var(--srfcs-space-0-5);
}

.srfcs-mx--5 {
  margin-left: var(--srfcs-space-0-5);
  margin-right: var(--srfcs-space-0-5);
}

.srfcs-my--5 {
  margin-top: var(--srfcs-space-0-5);
  margin-bottom: var(--srfcs-space-0-5);
}

.srfcs-mt--5 {
  margin-top: var(--srfcs-space-0-5);
}

.srfcs-mr--5 {
  margin-right: var(--srfcs-space-0-5);
}

.srfcs-mb--5 {
  margin-bottom: var(--srfcs-space-0-5);
}

.srfcs-ml--5 {
  margin-left: var(--srfcs-space-0-5);
}

.srfcs-m-1 {
  margin: var(--srfcs-space-1);
}

.srfcs-mx-1 {
  margin-left: var(--srfcs-space-1);
  margin-right: var(--srfcs-space-1);
}

.srfcs-my-1 {
  margin-top: var(--srfcs-space-1);
  margin-bottom: var(--srfcs-space-1);
}

.srfcs-mt-1 {
  margin-top: var(--srfcs-space-1);
}

.srfcs-mr-1 {
  margin-right: var(--srfcs-space-1);
}

.srfcs-mb-1 {
  margin-bottom: var(--srfcs-space-1);
}

.srfcs-ml-1 {
  margin-left: var(--srfcs-space-1);
}

.srfcs-m--4 {
  margin: var(--srfcs-space-1-5);
}

.srfcs-mx--4 {
  margin-left: var(--srfcs-space-1-5);
  margin-right: var(--srfcs-space-1-5);
}

.srfcs-my--4 {
  margin-top: var(--srfcs-space-1-5);
  margin-bottom: var(--srfcs-space-1-5);
}

.srfcs-mt--4 {
  margin-top: var(--srfcs-space-1-5);
}

.srfcs-mr--4 {
  margin-right: var(--srfcs-space-1-5);
}

.srfcs-mb--4 {
  margin-bottom: var(--srfcs-space-1-5);
}

.srfcs-ml--4 {
  margin-left: var(--srfcs-space-1-5);
}

.srfcs-m-2 {
  margin: var(--srfcs-space-2);
}

.srfcs-mx-2 {
  margin-left: var(--srfcs-space-2);
  margin-right: var(--srfcs-space-2);
}

.srfcs-my-2 {
  margin-top: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-2);
}

.srfcs-mt-2 {
  margin-top: var(--srfcs-space-2);
}

.srfcs-mr-2 {
  margin-right: var(--srfcs-space-2);
}

.srfcs-mb-2 {
  margin-bottom: var(--srfcs-space-2);
}

.srfcs-ml-2 {
  margin-left: var(--srfcs-space-2);
}

.srfcs-m--3 {
  margin: var(--srfcs-space-2-5);
}

.srfcs-mx--3 {
  margin-left: var(--srfcs-space-2-5);
  margin-right: var(--srfcs-space-2-5);
}

.srfcs-my--3 {
  margin-top: var(--srfcs-space-2-5);
  margin-bottom: var(--srfcs-space-2-5);
}

.srfcs-mt--3 {
  margin-top: var(--srfcs-space-2-5);
}

.srfcs-mr--3 {
  margin-right: var(--srfcs-space-2-5);
}

.srfcs-mb--3 {
  margin-bottom: var(--srfcs-space-2-5);
}

.srfcs-ml--3 {
  margin-left: var(--srfcs-space-2-5);
}

.srfcs-m-3 {
  margin: var(--srfcs-space-3);
}

.srfcs-mx-3 {
  margin-left: var(--srfcs-space-3);
  margin-right: var(--srfcs-space-3);
}

.srfcs-my-3 {
  margin-top: var(--srfcs-space-3);
  margin-bottom: var(--srfcs-space-3);
}

.srfcs-mt-3 {
  margin-top: var(--srfcs-space-3);
}

.srfcs-mr-3 {
  margin-right: var(--srfcs-space-3);
}

.srfcs-mb-3 {
  margin-bottom: var(--srfcs-space-3);
}

.srfcs-ml-3 {
  margin-left: var(--srfcs-space-3);
}

.srfcs-m--2 {
  margin: var(--srfcs-space-3-5);
}

.srfcs-mx--2 {
  margin-left: var(--srfcs-space-3-5);
  margin-right: var(--srfcs-space-3-5);
}

.srfcs-my--2 {
  margin-top: var(--srfcs-space-3-5);
  margin-bottom: var(--srfcs-space-3-5);
}

.srfcs-mt--2 {
  margin-top: var(--srfcs-space-3-5);
}

.srfcs-mr--2 {
  margin-right: var(--srfcs-space-3-5);
}

.srfcs-mb--2 {
  margin-bottom: var(--srfcs-space-3-5);
}

.srfcs-ml--2 {
  margin-left: var(--srfcs-space-3-5);
}

.srfcs-m-4 {
  margin: var(--srfcs-space-4);
}

.srfcs-mx-4 {
  margin-left: var(--srfcs-space-4);
  margin-right: var(--srfcs-space-4);
}

.srfcs-my-4 {
  margin-top: var(--srfcs-space-4);
  margin-bottom: var(--srfcs-space-4);
}

.srfcs-mt-4 {
  margin-top: var(--srfcs-space-4);
}

.srfcs-mr-4 {
  margin-right: var(--srfcs-space-4);
}

.srfcs-mb-4 {
  margin-bottom: var(--srfcs-space-4);
}

.srfcs-ml-4 {
  margin-left: var(--srfcs-space-4);
}

.srfcs-m-5 {
  margin: var(--srfcs-space-5);
}

.srfcs-mx-5 {
  margin-left: var(--srfcs-space-5);
  margin-right: var(--srfcs-space-5);
}

.srfcs-my-5 {
  margin-top: var(--srfcs-space-5);
  margin-bottom: var(--srfcs-space-5);
}

.srfcs-mt-5 {
  margin-top: var(--srfcs-space-5);
}

.srfcs-mr-5 {
  margin-right: var(--srfcs-space-5);
}

.srfcs-mb-5 {
  margin-bottom: var(--srfcs-space-5);
}

.srfcs-ml-5 {
  margin-left: var(--srfcs-space-5);
}

.srfcs-m-6 {
  margin: var(--srfcs-space-6);
}

.srfcs-mx-6 {
  margin-left: var(--srfcs-space-6);
  margin-right: var(--srfcs-space-6);
}

.srfcs-my-6 {
  margin-top: var(--srfcs-space-6);
  margin-bottom: var(--srfcs-space-6);
}

.srfcs-mt-6 {
  margin-top: var(--srfcs-space-6);
}

.srfcs-mr-6 {
  margin-right: var(--srfcs-space-6);
}

.srfcs-mb-6 {
  margin-bottom: var(--srfcs-space-6);
}

.srfcs-ml-6 {
  margin-left: var(--srfcs-space-6);
}

.srfcs-m-7 {
  margin: var(--srfcs-space-7);
}

.srfcs-mx-7 {
  margin-left: var(--srfcs-space-7);
  margin-right: var(--srfcs-space-7);
}

.srfcs-my-7 {
  margin-top: var(--srfcs-space-7);
  margin-bottom: var(--srfcs-space-7);
}

.srfcs-mt-7 {
  margin-top: var(--srfcs-space-7);
}

.srfcs-mr-7 {
  margin-right: var(--srfcs-space-7);
}

.srfcs-mb-7 {
  margin-bottom: var(--srfcs-space-7);
}

.srfcs-ml-7 {
  margin-left: var(--srfcs-space-7);
}

.srfcs-m-8 {
  margin: var(--srfcs-space-8);
}

.srfcs-mx-8 {
  margin-left: var(--srfcs-space-8);
  margin-right: var(--srfcs-space-8);
}

.srfcs-my-8 {
  margin-top: var(--srfcs-space-8);
  margin-bottom: var(--srfcs-space-8);
}

.srfcs-mt-8 {
  margin-top: var(--srfcs-space-8);
}

.srfcs-mr-8 {
  margin-right: var(--srfcs-space-8);
}

.srfcs-mb-8 {
  margin-bottom: var(--srfcs-space-8);
}

.srfcs-ml-8 {
  margin-left: var(--srfcs-space-8);
}

.srfcs-m-9 {
  margin: var(--srfcs-space-9);
}

.srfcs-mx-9 {
  margin-left: var(--srfcs-space-9);
  margin-right: var(--srfcs-space-9);
}

.srfcs-my-9 {
  margin-top: var(--srfcs-space-9);
  margin-bottom: var(--srfcs-space-9);
}

.srfcs-mt-9 {
  margin-top: var(--srfcs-space-9);
}

.srfcs-mr-9 {
  margin-right: var(--srfcs-space-9);
}

.srfcs-mb-9 {
  margin-bottom: var(--srfcs-space-9);
}

.srfcs-ml-9 {
  margin-left: var(--srfcs-space-9);
}

.srfcs-m-10 {
  margin: var(--srfcs-space-10);
}

.srfcs-mx-10 {
  margin-left: var(--srfcs-space-10);
  margin-right: var(--srfcs-space-10);
}

.srfcs-my-10 {
  margin-top: var(--srfcs-space-10);
  margin-bottom: var(--srfcs-space-10);
}

.srfcs-mt-10 {
  margin-top: var(--srfcs-space-10);
}

.srfcs-mr-10 {
  margin-right: var(--srfcs-space-10);
}

.srfcs-mb-10 {
  margin-bottom: var(--srfcs-space-10);
}

.srfcs-ml-10 {
  margin-left: var(--srfcs-space-10);
}

.srfcs-m-11 {
  margin: var(--srfcs-space-11);
}

.srfcs-mx-11 {
  margin-left: var(--srfcs-space-11);
  margin-right: var(--srfcs-space-11);
}

.srfcs-my-11 {
  margin-top: var(--srfcs-space-11);
  margin-bottom: var(--srfcs-space-11);
}

.srfcs-mt-11 {
  margin-top: var(--srfcs-space-11);
}

.srfcs-mr-11 {
  margin-right: var(--srfcs-space-11);
}

.srfcs-mb-11 {
  margin-bottom: var(--srfcs-space-11);
}

.srfcs-ml-11 {
  margin-left: var(--srfcs-space-11);
}

.srfcs-m-12 {
  margin: var(--srfcs-space-12);
}

.srfcs-mx-12 {
  margin-left: var(--srfcs-space-12);
  margin-right: var(--srfcs-space-12);
}

.srfcs-my-12 {
  margin-top: var(--srfcs-space-12);
  margin-bottom: var(--srfcs-space-12);
}

.srfcs-mt-12 {
  margin-top: var(--srfcs-space-12);
}

.srfcs-mr-12 {
  margin-right: var(--srfcs-space-12);
}

.srfcs-mb-12 {
  margin-bottom: var(--srfcs-space-12);
}

.srfcs-ml-12 {
  margin-left: var(--srfcs-space-12);
}

.srfcs-m-14 {
  margin: var(--srfcs-space-14);
}

.srfcs-mx-14 {
  margin-left: var(--srfcs-space-14);
  margin-right: var(--srfcs-space-14);
}

.srfcs-my-14 {
  margin-top: var(--srfcs-space-14);
  margin-bottom: var(--srfcs-space-14);
}

.srfcs-mt-14 {
  margin-top: var(--srfcs-space-14);
}

.srfcs-mr-14 {
  margin-right: var(--srfcs-space-14);
}

.srfcs-mb-14 {
  margin-bottom: var(--srfcs-space-14);
}

.srfcs-ml-14 {
  margin-left: var(--srfcs-space-14);
}

.srfcs-m-16 {
  margin: var(--srfcs-space-16);
}

.srfcs-mx-16 {
  margin-left: var(--srfcs-space-16);
  margin-right: var(--srfcs-space-16);
}

.srfcs-my-16 {
  margin-top: var(--srfcs-space-16);
  margin-bottom: var(--srfcs-space-16);
}

.srfcs-mt-16 {
  margin-top: var(--srfcs-space-16);
}

.srfcs-mr-16 {
  margin-right: var(--srfcs-space-16);
}

.srfcs-mb-16 {
  margin-bottom: var(--srfcs-space-16);
}

.srfcs-ml-16 {
  margin-left: var(--srfcs-space-16);
}

.srfcs-m-20 {
  margin: var(--srfcs-space-20);
}

.srfcs-mx-20 {
  margin-left: var(--srfcs-space-20);
  margin-right: var(--srfcs-space-20);
}

.srfcs-my-20 {
  margin-top: var(--srfcs-space-20);
  margin-bottom: var(--srfcs-space-20);
}

.srfcs-mt-20 {
  margin-top: var(--srfcs-space-20);
}

.srfcs-mr-20 {
  margin-right: var(--srfcs-space-20);
}

.srfcs-mb-20 {
  margin-bottom: var(--srfcs-space-20);
}

.srfcs-ml-20 {
  margin-left: var(--srfcs-space-20);
}

.srfcs-m-24 {
  margin: var(--srfcs-space-24);
}

.srfcs-mx-24 {
  margin-left: var(--srfcs-space-24);
  margin-right: var(--srfcs-space-24);
}

.srfcs-my-24 {
  margin-top: var(--srfcs-space-24);
  margin-bottom: var(--srfcs-space-24);
}

.srfcs-mt-24 {
  margin-top: var(--srfcs-space-24);
}

.srfcs-mr-24 {
  margin-right: var(--srfcs-space-24);
}

.srfcs-mb-24 {
  margin-bottom: var(--srfcs-space-24);
}

.srfcs-ml-24 {
  margin-left: var(--srfcs-space-24);
}

.srfcs-m-28 {
  margin: var(--srfcs-space-28);
}

.srfcs-mx-28 {
  margin-left: var(--srfcs-space-28);
  margin-right: var(--srfcs-space-28);
}

.srfcs-my-28 {
  margin-top: var(--srfcs-space-28);
  margin-bottom: var(--srfcs-space-28);
}

.srfcs-mt-28 {
  margin-top: var(--srfcs-space-28);
}

.srfcs-mr-28 {
  margin-right: var(--srfcs-space-28);
}

.srfcs-mb-28 {
  margin-bottom: var(--srfcs-space-28);
}

.srfcs-ml-28 {
  margin-left: var(--srfcs-space-28);
}

.srfcs-m-32 {
  margin: var(--srfcs-space-32);
}

.srfcs-mx-32 {
  margin-left: var(--srfcs-space-32);
  margin-right: var(--srfcs-space-32);
}

.srfcs-my-32 {
  margin-top: var(--srfcs-space-32);
  margin-bottom: var(--srfcs-space-32);
}

.srfcs-mt-32 {
  margin-top: var(--srfcs-space-32);
}

.srfcs-mr-32 {
  margin-right: var(--srfcs-space-32);
}

.srfcs-mb-32 {
  margin-bottom: var(--srfcs-space-32);
}

.srfcs-ml-32 {
  margin-left: var(--srfcs-space-32);
}

.srfcs-m-36 {
  margin: var(--srfcs-space-36);
}

.srfcs-mx-36 {
  margin-left: var(--srfcs-space-36);
  margin-right: var(--srfcs-space-36);
}

.srfcs-my-36 {
  margin-top: var(--srfcs-space-36);
  margin-bottom: var(--srfcs-space-36);
}

.srfcs-mt-36 {
  margin-top: var(--srfcs-space-36);
}

.srfcs-mr-36 {
  margin-right: var(--srfcs-space-36);
}

.srfcs-mb-36 {
  margin-bottom: var(--srfcs-space-36);
}

.srfcs-ml-36 {
  margin-left: var(--srfcs-space-36);
}

.srfcs-m-40 {
  margin: var(--srfcs-space-40);
}

.srfcs-mx-40 {
  margin-left: var(--srfcs-space-40);
  margin-right: var(--srfcs-space-40);
}

.srfcs-my-40 {
  margin-top: var(--srfcs-space-40);
  margin-bottom: var(--srfcs-space-40);
}

.srfcs-mt-40 {
  margin-top: var(--srfcs-space-40);
}

.srfcs-mr-40 {
  margin-right: var(--srfcs-space-40);
}

.srfcs-mb-40 {
  margin-bottom: var(--srfcs-space-40);
}

.srfcs-ml-40 {
  margin-left: var(--srfcs-space-40);
}

.srfcs-m-44 {
  margin: var(--srfcs-space-44);
}

.srfcs-mx-44 {
  margin-left: var(--srfcs-space-44);
  margin-right: var(--srfcs-space-44);
}

.srfcs-my-44 {
  margin-top: var(--srfcs-space-44);
  margin-bottom: var(--srfcs-space-44);
}

.srfcs-mt-44 {
  margin-top: var(--srfcs-space-44);
}

.srfcs-mr-44 {
  margin-right: var(--srfcs-space-44);
}

.srfcs-mb-44 {
  margin-bottom: var(--srfcs-space-44);
}

.srfcs-ml-44 {
  margin-left: var(--srfcs-space-44);
}

.srfcs-m-48 {
  margin: var(--srfcs-space-48);
}

.srfcs-mx-48 {
  margin-left: var(--srfcs-space-48);
  margin-right: var(--srfcs-space-48);
}

.srfcs-my-48 {
  margin-top: var(--srfcs-space-48);
  margin-bottom: var(--srfcs-space-48);
}

.srfcs-mt-48 {
  margin-top: var(--srfcs-space-48);
}

.srfcs-mr-48 {
  margin-right: var(--srfcs-space-48);
}

.srfcs-mb-48 {
  margin-bottom: var(--srfcs-space-48);
}

.srfcs-ml-48 {
  margin-left: var(--srfcs-space-48);
}

.srfcs-m-52 {
  margin: var(--srfcs-space-52);
}

.srfcs-mx-52 {
  margin-left: var(--srfcs-space-52);
  margin-right: var(--srfcs-space-52);
}

.srfcs-my-52 {
  margin-top: var(--srfcs-space-52);
  margin-bottom: var(--srfcs-space-52);
}

.srfcs-mt-52 {
  margin-top: var(--srfcs-space-52);
}

.srfcs-mr-52 {
  margin-right: var(--srfcs-space-52);
}

.srfcs-mb-52 {
  margin-bottom: var(--srfcs-space-52);
}

.srfcs-ml-52 {
  margin-left: var(--srfcs-space-52);
}

.srfcs-m-56 {
  margin: var(--srfcs-space-56);
}

.srfcs-mx-56 {
  margin-left: var(--srfcs-space-56);
  margin-right: var(--srfcs-space-56);
}

.srfcs-my-56 {
  margin-top: var(--srfcs-space-56);
  margin-bottom: var(--srfcs-space-56);
}

.srfcs-mt-56 {
  margin-top: var(--srfcs-space-56);
}

.srfcs-mr-56 {
  margin-right: var(--srfcs-space-56);
}

.srfcs-mb-56 {
  margin-bottom: var(--srfcs-space-56);
}

.srfcs-ml-56 {
  margin-left: var(--srfcs-space-56);
}

.srfcs-m-60 {
  margin: var(--srfcs-space-60);
}

.srfcs-mx-60 {
  margin-left: var(--srfcs-space-60);
  margin-right: var(--srfcs-space-60);
}

.srfcs-my-60 {
  margin-top: var(--srfcs-space-60);
  margin-bottom: var(--srfcs-space-60);
}

.srfcs-mt-60 {
  margin-top: var(--srfcs-space-60);
}

.srfcs-mr-60 {
  margin-right: var(--srfcs-space-60);
}

.srfcs-mb-60 {
  margin-bottom: var(--srfcs-space-60);
}

.srfcs-ml-60 {
  margin-left: var(--srfcs-space-60);
}

.srfcs-m-64 {
  margin: var(--srfcs-space-64);
}

.srfcs-mx-64 {
  margin-left: var(--srfcs-space-64);
  margin-right: var(--srfcs-space-64);
}

.srfcs-my-64 {
  margin-top: var(--srfcs-space-64);
  margin-bottom: var(--srfcs-space-64);
}

.srfcs-mt-64 {
  margin-top: var(--srfcs-space-64);
}

.srfcs-mr-64 {
  margin-right: var(--srfcs-space-64);
}

.srfcs-mb-64 {
  margin-bottom: var(--srfcs-space-64);
}

.srfcs-ml-64 {
  margin-left: var(--srfcs-space-64);
}

.srfcs-m-72 {
  margin: var(--srfcs-space-72);
}

.srfcs-mx-72 {
  margin-left: var(--srfcs-space-72);
  margin-right: var(--srfcs-space-72);
}

.srfcs-my-72 {
  margin-top: var(--srfcs-space-72);
  margin-bottom: var(--srfcs-space-72);
}

.srfcs-mt-72 {
  margin-top: var(--srfcs-space-72);
}

.srfcs-mr-72 {
  margin-right: var(--srfcs-space-72);
}

.srfcs-mb-72 {
  margin-bottom: var(--srfcs-space-72);
}

.srfcs-ml-72 {
  margin-left: var(--srfcs-space-72);
}

.srfcs-m-80 {
  margin: var(--srfcs-space-80);
}

.srfcs-mx-80 {
  margin-left: var(--srfcs-space-80);
  margin-right: var(--srfcs-space-80);
}

.srfcs-my-80 {
  margin-top: var(--srfcs-space-80);
  margin-bottom: var(--srfcs-space-80);
}

.srfcs-mt-80 {
  margin-top: var(--srfcs-space-80);
}

.srfcs-mr-80 {
  margin-right: var(--srfcs-space-80);
}

.srfcs-mb-80 {
  margin-bottom: var(--srfcs-space-80);
}

.srfcs-ml-80 {
  margin-left: var(--srfcs-space-80);
}

.srfcs-m-96 {
  margin: var(--srfcs-space-96);
}

.srfcs-mx-96 {
  margin-left: var(--srfcs-space-96);
  margin-right: var(--srfcs-space-96);
}

.srfcs-my-96 {
  margin-top: var(--srfcs-space-96);
  margin-bottom: var(--srfcs-space-96);
}

.srfcs-mt-96 {
  margin-top: var(--srfcs-space-96);
}

.srfcs-mr-96 {
  margin-right: var(--srfcs-space-96);
}

.srfcs-mb-96 {
  margin-bottom: var(--srfcs-space-96);
}

.srfcs-ml-96 {
  margin-left: var(--srfcs-space-96);
}

.srfcs-mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.srfcs-my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.srfcs-mt-auto {
  margin-top: auto;
}

.srfcs-mr-auto {
  margin-right: auto;
}

.srfcs-mb-auto {
  margin-bottom: auto;
}

.srfcs-ml-auto {
  margin-left: auto;
}

.srfcs-gap-0 {
  gap: var(--srfcs-space-0);
}

.srfcs-gap-x-0 {
  column-gap: var(--srfcs-space-0);
}

.srfcs-gap-y-0 {
  row-gap: var(--srfcs-space-0);
}

.srfcs-gap-px {
  gap: var(--srfcs-space-px);
}

.srfcs-gap-x-px {
  column-gap: var(--srfcs-space-px);
}

.srfcs-gap-y-px {
  row-gap: var(--srfcs-space-px);
}

.srfcs-gap--5 {
  gap: var(--srfcs-space-0-5);
}

.srfcs-gap-x--5 {
  column-gap: var(--srfcs-space-0-5);
}

.srfcs-gap-y--5 {
  row-gap: var(--srfcs-space-0-5);
}

.srfcs-gap-1 {
  gap: var(--srfcs-space-1);
}

.srfcs-gap-x-1 {
  column-gap: var(--srfcs-space-1);
}

.srfcs-gap-y-1 {
  row-gap: var(--srfcs-space-1);
}

.srfcs-gap--4 {
  gap: var(--srfcs-space-1-5);
}

.srfcs-gap-x--4 {
  column-gap: var(--srfcs-space-1-5);
}

.srfcs-gap-y--4 {
  row-gap: var(--srfcs-space-1-5);
}

.srfcs-gap-2 {
  gap: var(--srfcs-space-2);
}

.srfcs-gap-x-2 {
  column-gap: var(--srfcs-space-2);
}

.srfcs-gap-y-2 {
  row-gap: var(--srfcs-space-2);
}

.srfcs-gap--3 {
  gap: var(--srfcs-space-2-5);
}

.srfcs-gap-x--3 {
  column-gap: var(--srfcs-space-2-5);
}

.srfcs-gap-y--3 {
  row-gap: var(--srfcs-space-2-5);
}

.srfcs-gap-3 {
  gap: var(--srfcs-space-3);
}

.srfcs-gap-x-3 {
  column-gap: var(--srfcs-space-3);
}

.srfcs-gap-y-3 {
  row-gap: var(--srfcs-space-3);
}

.srfcs-gap--2 {
  gap: var(--srfcs-space-3-5);
}

.srfcs-gap-x--2 {
  column-gap: var(--srfcs-space-3-5);
}

.srfcs-gap-y--2 {
  row-gap: var(--srfcs-space-3-5);
}

.srfcs-gap-4 {
  gap: var(--srfcs-space-4);
}

.srfcs-gap-x-4 {
  column-gap: var(--srfcs-space-4);
}

.srfcs-gap-y-4 {
  row-gap: var(--srfcs-space-4);
}

.srfcs-gap-5 {
  gap: var(--srfcs-space-5);
}

.srfcs-gap-x-5 {
  column-gap: var(--srfcs-space-5);
}

.srfcs-gap-y-5 {
  row-gap: var(--srfcs-space-5);
}

.srfcs-gap-6 {
  gap: var(--srfcs-space-6);
}

.srfcs-gap-x-6 {
  column-gap: var(--srfcs-space-6);
}

.srfcs-gap-y-6 {
  row-gap: var(--srfcs-space-6);
}

.srfcs-gap-7 {
  gap: var(--srfcs-space-7);
}

.srfcs-gap-x-7 {
  column-gap: var(--srfcs-space-7);
}

.srfcs-gap-y-7 {
  row-gap: var(--srfcs-space-7);
}

.srfcs-gap-8 {
  gap: var(--srfcs-space-8);
}

.srfcs-gap-x-8 {
  column-gap: var(--srfcs-space-8);
}

.srfcs-gap-y-8 {
  row-gap: var(--srfcs-space-8);
}

.srfcs-gap-9 {
  gap: var(--srfcs-space-9);
}

.srfcs-gap-x-9 {
  column-gap: var(--srfcs-space-9);
}

.srfcs-gap-y-9 {
  row-gap: var(--srfcs-space-9);
}

.srfcs-gap-10 {
  gap: var(--srfcs-space-10);
}

.srfcs-gap-x-10 {
  column-gap: var(--srfcs-space-10);
}

.srfcs-gap-y-10 {
  row-gap: var(--srfcs-space-10);
}

.srfcs-gap-11 {
  gap: var(--srfcs-space-11);
}

.srfcs-gap-x-11 {
  column-gap: var(--srfcs-space-11);
}

.srfcs-gap-y-11 {
  row-gap: var(--srfcs-space-11);
}

.srfcs-gap-12 {
  gap: var(--srfcs-space-12);
}

.srfcs-gap-x-12 {
  column-gap: var(--srfcs-space-12);
}

.srfcs-gap-y-12 {
  row-gap: var(--srfcs-space-12);
}

.srfcs-gap-14 {
  gap: var(--srfcs-space-14);
}

.srfcs-gap-x-14 {
  column-gap: var(--srfcs-space-14);
}

.srfcs-gap-y-14 {
  row-gap: var(--srfcs-space-14);
}

.srfcs-gap-16 {
  gap: var(--srfcs-space-16);
}

.srfcs-gap-x-16 {
  column-gap: var(--srfcs-space-16);
}

.srfcs-gap-y-16 {
  row-gap: var(--srfcs-space-16);
}

.srfcs-gap-20 {
  gap: var(--srfcs-space-20);
}

.srfcs-gap-x-20 {
  column-gap: var(--srfcs-space-20);
}

.srfcs-gap-y-20 {
  row-gap: var(--srfcs-space-20);
}

.srfcs-gap-24 {
  gap: var(--srfcs-space-24);
}

.srfcs-gap-x-24 {
  column-gap: var(--srfcs-space-24);
}

.srfcs-gap-y-24 {
  row-gap: var(--srfcs-space-24);
}

.srfcs-gap-28 {
  gap: var(--srfcs-space-28);
}

.srfcs-gap-x-28 {
  column-gap: var(--srfcs-space-28);
}

.srfcs-gap-y-28 {
  row-gap: var(--srfcs-space-28);
}

.srfcs-gap-32 {
  gap: var(--srfcs-space-32);
}

.srfcs-gap-x-32 {
  column-gap: var(--srfcs-space-32);
}

.srfcs-gap-y-32 {
  row-gap: var(--srfcs-space-32);
}

.srfcs-gap-36 {
  gap: var(--srfcs-space-36);
}

.srfcs-gap-x-36 {
  column-gap: var(--srfcs-space-36);
}

.srfcs-gap-y-36 {
  row-gap: var(--srfcs-space-36);
}

.srfcs-gap-40 {
  gap: var(--srfcs-space-40);
}

.srfcs-gap-x-40 {
  column-gap: var(--srfcs-space-40);
}

.srfcs-gap-y-40 {
  row-gap: var(--srfcs-space-40);
}

.srfcs-gap-44 {
  gap: var(--srfcs-space-44);
}

.srfcs-gap-x-44 {
  column-gap: var(--srfcs-space-44);
}

.srfcs-gap-y-44 {
  row-gap: var(--srfcs-space-44);
}

.srfcs-gap-48 {
  gap: var(--srfcs-space-48);
}

.srfcs-gap-x-48 {
  column-gap: var(--srfcs-space-48);
}

.srfcs-gap-y-48 {
  row-gap: var(--srfcs-space-48);
}

.srfcs-gap-52 {
  gap: var(--srfcs-space-52);
}

.srfcs-gap-x-52 {
  column-gap: var(--srfcs-space-52);
}

.srfcs-gap-y-52 {
  row-gap: var(--srfcs-space-52);
}

.srfcs-gap-56 {
  gap: var(--srfcs-space-56);
}

.srfcs-gap-x-56 {
  column-gap: var(--srfcs-space-56);
}

.srfcs-gap-y-56 {
  row-gap: var(--srfcs-space-56);
}

.srfcs-gap-60 {
  gap: var(--srfcs-space-60);
}

.srfcs-gap-x-60 {
  column-gap: var(--srfcs-space-60);
}

.srfcs-gap-y-60 {
  row-gap: var(--srfcs-space-60);
}

.srfcs-gap-64 {
  gap: var(--srfcs-space-64);
}

.srfcs-gap-x-64 {
  column-gap: var(--srfcs-space-64);
}

.srfcs-gap-y-64 {
  row-gap: var(--srfcs-space-64);
}

.srfcs-gap-72 {
  gap: var(--srfcs-space-72);
}

.srfcs-gap-x-72 {
  column-gap: var(--srfcs-space-72);
}

.srfcs-gap-y-72 {
  row-gap: var(--srfcs-space-72);
}

.srfcs-gap-80 {
  gap: var(--srfcs-space-80);
}

.srfcs-gap-x-80 {
  column-gap: var(--srfcs-space-80);
}

.srfcs-gap-y-80 {
  row-gap: var(--srfcs-space-80);
}

.srfcs-gap-96 {
  gap: var(--srfcs-space-96);
}

.srfcs-gap-x-96 {
  column-gap: var(--srfcs-space-96);
}

.srfcs-gap-y-96 {
  row-gap: var(--srfcs-space-96);
}

.srfcs-space-y-0 > * + * {
  margin-top: var(--srfcs-space-0);
}

.srfcs-space-x-0 > * + * {
  margin-left: var(--srfcs-space-0);
}

.srfcs-space-y-px > * + * {
  margin-top: var(--srfcs-space-px);
}

.srfcs-space-x-px > * + * {
  margin-left: var(--srfcs-space-px);
}

.srfcs-space-y--5 > * + * {
  margin-top: var(--srfcs-space-0-5);
}

.srfcs-space-x--5 > * + * {
  margin-left: var(--srfcs-space-0-5);
}

.srfcs-space-y-1 > * + * {
  margin-top: var(--srfcs-space-1);
}

.srfcs-space-x-1 > * + * {
  margin-left: var(--srfcs-space-1);
}

.srfcs-space-y--4 > * + * {
  margin-top: var(--srfcs-space-1-5);
}

.srfcs-space-x--4 > * + * {
  margin-left: var(--srfcs-space-1-5);
}

.srfcs-space-y-2 > * + * {
  margin-top: var(--srfcs-space-2);
}

.srfcs-space-x-2 > * + * {
  margin-left: var(--srfcs-space-2);
}

.srfcs-space-y--3 > * + * {
  margin-top: var(--srfcs-space-2-5);
}

.srfcs-space-x--3 > * + * {
  margin-left: var(--srfcs-space-2-5);
}

.srfcs-space-y-3 > * + * {
  margin-top: var(--srfcs-space-3);
}

.srfcs-space-x-3 > * + * {
  margin-left: var(--srfcs-space-3);
}

.srfcs-space-y--2 > * + * {
  margin-top: var(--srfcs-space-3-5);
}

.srfcs-space-x--2 > * + * {
  margin-left: var(--srfcs-space-3-5);
}

.srfcs-space-y-4 > * + * {
  margin-top: var(--srfcs-space-4);
}

.srfcs-space-x-4 > * + * {
  margin-left: var(--srfcs-space-4);
}

.srfcs-space-y-5 > * + * {
  margin-top: var(--srfcs-space-5);
}

.srfcs-space-x-5 > * + * {
  margin-left: var(--srfcs-space-5);
}

.srfcs-space-y-6 > * + * {
  margin-top: var(--srfcs-space-6);
}

.srfcs-space-x-6 > * + * {
  margin-left: var(--srfcs-space-6);
}

.srfcs-space-y-7 > * + * {
  margin-top: var(--srfcs-space-7);
}

.srfcs-space-x-7 > * + * {
  margin-left: var(--srfcs-space-7);
}

.srfcs-space-y-8 > * + * {
  margin-top: var(--srfcs-space-8);
}

.srfcs-space-x-8 > * + * {
  margin-left: var(--srfcs-space-8);
}

.srfcs-space-y-9 > * + * {
  margin-top: var(--srfcs-space-9);
}

.srfcs-space-x-9 > * + * {
  margin-left: var(--srfcs-space-9);
}

.srfcs-space-y-10 > * + * {
  margin-top: var(--srfcs-space-10);
}

.srfcs-space-x-10 > * + * {
  margin-left: var(--srfcs-space-10);
}

.srfcs-space-y-11 > * + * {
  margin-top: var(--srfcs-space-11);
}

.srfcs-space-x-11 > * + * {
  margin-left: var(--srfcs-space-11);
}

.srfcs-space-y-12 > * + * {
  margin-top: var(--srfcs-space-12);
}

.srfcs-space-x-12 > * + * {
  margin-left: var(--srfcs-space-12);
}

.srfcs-space-y-14 > * + * {
  margin-top: var(--srfcs-space-14);
}

.srfcs-space-x-14 > * + * {
  margin-left: var(--srfcs-space-14);
}

.srfcs-space-y-16 > * + * {
  margin-top: var(--srfcs-space-16);
}

.srfcs-space-x-16 > * + * {
  margin-left: var(--srfcs-space-16);
}

.srfcs-space-y-20 > * + * {
  margin-top: var(--srfcs-space-20);
}

.srfcs-space-x-20 > * + * {
  margin-left: var(--srfcs-space-20);
}

.srfcs-space-y-24 > * + * {
  margin-top: var(--srfcs-space-24);
}

.srfcs-space-x-24 > * + * {
  margin-left: var(--srfcs-space-24);
}

.srfcs-space-y-28 > * + * {
  margin-top: var(--srfcs-space-28);
}

.srfcs-space-x-28 > * + * {
  margin-left: var(--srfcs-space-28);
}

.srfcs-space-y-32 > * + * {
  margin-top: var(--srfcs-space-32);
}

.srfcs-space-x-32 > * + * {
  margin-left: var(--srfcs-space-32);
}

.srfcs-space-y-36 > * + * {
  margin-top: var(--srfcs-space-36);
}

.srfcs-space-x-36 > * + * {
  margin-left: var(--srfcs-space-36);
}

.srfcs-space-y-40 > * + * {
  margin-top: var(--srfcs-space-40);
}

.srfcs-space-x-40 > * + * {
  margin-left: var(--srfcs-space-40);
}

.srfcs-space-y-44 > * + * {
  margin-top: var(--srfcs-space-44);
}

.srfcs-space-x-44 > * + * {
  margin-left: var(--srfcs-space-44);
}

.srfcs-space-y-48 > * + * {
  margin-top: var(--srfcs-space-48);
}

.srfcs-space-x-48 > * + * {
  margin-left: var(--srfcs-space-48);
}

.srfcs-space-y-52 > * + * {
  margin-top: var(--srfcs-space-52);
}

.srfcs-space-x-52 > * + * {
  margin-left: var(--srfcs-space-52);
}

.srfcs-space-y-56 > * + * {
  margin-top: var(--srfcs-space-56);
}

.srfcs-space-x-56 > * + * {
  margin-left: var(--srfcs-space-56);
}

.srfcs-space-y-60 > * + * {
  margin-top: var(--srfcs-space-60);
}

.srfcs-space-x-60 > * + * {
  margin-left: var(--srfcs-space-60);
}

.srfcs-space-y-64 > * + * {
  margin-top: var(--srfcs-space-64);
}

.srfcs-space-x-64 > * + * {
  margin-left: var(--srfcs-space-64);
}

.srfcs-space-y-72 > * + * {
  margin-top: var(--srfcs-space-72);
}

.srfcs-space-x-72 > * + * {
  margin-left: var(--srfcs-space-72);
}

.srfcs-space-y-80 > * + * {
  margin-top: var(--srfcs-space-80);
}

.srfcs-space-x-80 > * + * {
  margin-left: var(--srfcs-space-80);
}

.srfcs-space-y-96 > * + * {
  margin-top: var(--srfcs-space-96);
}

.srfcs-space-x-96 > * + * {
  margin-left: var(--srfcs-space-96);
}

.srfcs-block {
  display: block;
}

.srfcs-inline-block {
  display: inline-block;
}

.srfcs-inline {
  display: inline;
}

.srfcs-flex {
  display: flex;
}

.srfcs-inline-flex {
  display: inline-flex;
}

.srfcs-grid {
  display: grid;
}

.srfcs-inline-grid {
  display: inline-grid;
}

.srfcs-hidden {
  display: none;
}

.srfcs-contents {
  display: contents;
}

.srfcs-flex-row {
  flex-direction: row;
}

.srfcs-flex-row-reverse {
  flex-direction: row-reverse;
}

.srfcs-flex-col {
  flex-direction: column;
}

.srfcs-flex-col-reverse {
  flex-direction: column-reverse;
}

.srfcs-flex-wrap {
  flex-wrap: wrap;
}

.srfcs-flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

.srfcs-flex-nowrap {
  flex-wrap: nowrap;
}

.srfcs-flex-1 {
  flex: 1 1 0%;
}

.srfcs-flex-auto {
  flex: 1 1 auto;
}

.srfcs-flex-initial {
  flex: 0 1 auto;
}

.srfcs-flex-none {
  flex: none;
}

.srfcs-grow {
  flex-grow: 1;
}

.srfcs-grow-0 {
  flex-grow: 0;
}

.srfcs-shrink {
  flex-shrink: 1;
}

.srfcs-shrink-0 {
  flex-shrink: 0;
}

.srfcs-justify-start {
  justify-content: flex-start;
}

.srfcs-justify-end {
  justify-content: flex-end;
}

.srfcs-justify-center {
  justify-content: center;
}

.srfcs-justify-between {
  justify-content: space-between;
}

.srfcs-justify-around {
  justify-content: space-around;
}

.srfcs-justify-evenly {
  justify-content: space-evenly;
}

.srfcs-items-start {
  align-items: flex-start;
}

.srfcs-items-end {
  align-items: flex-end;
}

.srfcs-items-center {
  align-items: center;
}

.srfcs-items-baseline {
  align-items: baseline;
}

.srfcs-items-stretch {
  align-items: stretch;
}

.srfcs-self-auto {
  align-self: auto;
}

.srfcs-self-start {
  align-self: flex-start;
}

.srfcs-self-end {
  align-self: flex-end;
}

.srfcs-self-center {
  align-self: center;
}

.srfcs-self-stretch {
  align-self: stretch;
}

.srfcs-self-baseline {
  align-self: baseline;
}

.srfcs-content-start {
  align-content: flex-start;
}

.srfcs-content-end {
  align-content: flex-end;
}

.srfcs-content-center {
  align-content: center;
}

.srfcs-content-between {
  align-content: space-between;
}

.srfcs-content-around {
  align-content: space-around;
}

.srfcs-content-evenly {
  align-content: space-evenly;
}

.srfcs-content-stretch {
  align-content: stretch;
}

.srfcs-grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.srfcs-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.srfcs-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.srfcs-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.srfcs-grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.srfcs-grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.srfcs-grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.srfcs-grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.srfcs-grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.srfcs-grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.srfcs-grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.srfcs-grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.srfcs-grid-cols-none {
  grid-template-columns: none;
}

.srfcs-col-span-1 {
  grid-column: span 1/span 1;
}

.srfcs-col-span-2 {
  grid-column: span 2/span 2;
}

.srfcs-col-span-3 {
  grid-column: span 3/span 3;
}

.srfcs-col-span-4 {
  grid-column: span 4/span 4;
}

.srfcs-col-span-5 {
  grid-column: span 5/span 5;
}

.srfcs-col-span-6 {
  grid-column: span 6/span 6;
}

.srfcs-col-span-7 {
  grid-column: span 7/span 7;
}

.srfcs-col-span-8 {
  grid-column: span 8/span 8;
}

.srfcs-col-span-9 {
  grid-column: span 9/span 9;
}

.srfcs-col-span-10 {
  grid-column: span 10/span 10;
}

.srfcs-col-span-11 {
  grid-column: span 11/span 11;
}

.srfcs-col-span-12 {
  grid-column: span 12/span 12;
}

.srfcs-col-span-full {
  grid-column: 1/-1;
}

.srfcs-col-auto {
  grid-column: auto;
}

.srfcs-grid-rows-1 {
  grid-template-rows: repeat(1, minmax(0, 1fr));
}

.srfcs-grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.srfcs-grid-rows-3 {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.srfcs-grid-rows-4 {
  grid-template-rows: repeat(4, minmax(0, 1fr));
}

.srfcs-grid-rows-5 {
  grid-template-rows: repeat(5, minmax(0, 1fr));
}

.srfcs-grid-rows-6 {
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

.srfcs-grid-rows-none {
  grid-template-rows: none;
}

.srfcs-row-span-1 {
  grid-row: span 1/span 1;
}

.srfcs-row-span-2 {
  grid-row: span 2/span 2;
}

.srfcs-row-span-3 {
  grid-row: span 3/span 3;
}

.srfcs-row-span-4 {
  grid-row: span 4/span 4;
}

.srfcs-row-span-5 {
  grid-row: span 5/span 5;
}

.srfcs-row-span-6 {
  grid-row: span 6/span 6;
}

.srfcs-row-span-full {
  grid-row: 1/-1;
}

.srfcs-row-auto {
  grid-row: auto;
}

.srfcs-w-auto {
  width: auto;
}

.srfcs-w-full {
  width: 100%;
}

.srfcs-w-screen {
  width: 100vw;
}

.srfcs-w-min {
  width: min-content;
}

.srfcs-w-max {
  width: max-content;
}

.srfcs-w-fit {
  width: fit-content;
}

.srfcs-w-0 {
  width: 0;
}

.srfcs-w-1 {
  width: var(--srfcs-space-1);
}

.srfcs-w-2 {
  width: var(--srfcs-space-2);
}

.srfcs-w-3 {
  width: var(--srfcs-space-3);
}

.srfcs-w-4 {
  width: var(--srfcs-space-4);
}

.srfcs-w-5 {
  width: var(--srfcs-space-5);
}

.srfcs-w-6 {
  width: var(--srfcs-space-6);
}

.srfcs-w-8 {
  width: var(--srfcs-space-8);
}

.srfcs-w-10 {
  width: var(--srfcs-space-10);
}

.srfcs-w-12 {
  width: var(--srfcs-space-12);
}

.srfcs-w-16 {
  width: var(--srfcs-space-16);
}

.srfcs-w-20 {
  width: var(--srfcs-space-20);
}

.srfcs-w-24 {
  width: var(--srfcs-space-24);
}

.srfcs-w-32 {
  width: var(--srfcs-space-32);
}

.srfcs-w-40 {
  width: var(--srfcs-space-40);
}

.srfcs-w-48 {
  width: var(--srfcs-space-48);
}

.srfcs-w-56 {
  width: var(--srfcs-space-56);
}

.srfcs-w-64 {
  width: var(--srfcs-space-64);
}

.srfcs-w-1\/2 {
  width: 50%;
}

.srfcs-w-1\/3 {
  width: 33.333333%;
}

.srfcs-w-2\/3 {
  width: 66.666667%;
}

.srfcs-w-1\/4 {
  width: 25%;
}

.srfcs-w-2\/4 {
  width: 50%;
}

.srfcs-w-3\/4 {
  width: 75%;
}

.srfcs-h-auto {
  height: auto;
}

.srfcs-h-full {
  height: 100%;
}

.srfcs-h-screen {
  height: 100vh;
}

.srfcs-h-min {
  height: min-content;
}

.srfcs-h-max {
  height: max-content;
}

.srfcs-h-fit {
  height: fit-content;
}

.srfcs-h-0 {
  height: 0;
}

.srfcs-h-1 {
  height: var(--srfcs-space-1);
}

.srfcs-h-2 {
  height: var(--srfcs-space-2);
}

.srfcs-h-3 {
  height: var(--srfcs-space-3);
}

.srfcs-h-4 {
  height: var(--srfcs-space-4);
}

.srfcs-h-5 {
  height: var(--srfcs-space-5);
}

.srfcs-h-6 {
  height: var(--srfcs-space-6);
}

.srfcs-h-8 {
  height: var(--srfcs-space-8);
}

.srfcs-h-10 {
  height: var(--srfcs-space-10);
}

.srfcs-h-12 {
  height: var(--srfcs-space-12);
}

.srfcs-h-16 {
  height: var(--srfcs-space-16);
}

.srfcs-h-20 {
  height: var(--srfcs-space-20);
}

.srfcs-h-24 {
  height: var(--srfcs-space-24);
}

.srfcs-h-32 {
  height: var(--srfcs-space-32);
}

.srfcs-h-40 {
  height: var(--srfcs-space-40);
}

.srfcs-h-48 {
  height: var(--srfcs-space-48);
}

.srfcs-h-56 {
  height: var(--srfcs-space-56);
}

.srfcs-h-64 {
  height: var(--srfcs-space-64);
}

.srfcs-size-4 {
  width: var(--srfcs-space-4);
  height: var(--srfcs-space-4);
}

.srfcs-size-5 {
  width: var(--srfcs-space-5);
  height: var(--srfcs-space-5);
}

.srfcs-size-6 {
  width: var(--srfcs-space-6);
  height: var(--srfcs-space-6);
}

.srfcs-size-8 {
  width: var(--srfcs-space-8);
  height: var(--srfcs-space-8);
}

.srfcs-size-10 {
  width: var(--srfcs-space-10);
  height: var(--srfcs-space-10);
}

.srfcs-size-12 {
  width: var(--srfcs-space-12);
  height: var(--srfcs-space-12);
}

.srfcs-shrink-0 {
  flex-shrink: 0;
}

.srfcs-min-w-0 {
  min-width: 0;
}

.srfcs-min-w-full {
  min-width: 100%;
}

.srfcs-min-w-min {
  min-width: min-content;
}

.srfcs-min-w-max {
  min-width: max-content;
}

.srfcs-min-w-fit {
  min-width: fit-content;
}

.srfcs-max-w-none {
  max-width: none;
}

.srfcs-max-w-xs {
  max-width: 20rem;
}

.srfcs-max-w-sm {
  max-width: 24rem;
}

.srfcs-max-w-md {
  max-width: 28rem;
}

.srfcs-max-w-lg {
  max-width: 32rem;
}

.srfcs-max-w-xl {
  max-width: 36rem;
}

.srfcs-max-w-2xl {
  max-width: 42rem;
}

.srfcs-max-w-3xl {
  max-width: 48rem;
}

.srfcs-max-w-4xl {
  max-width: 56rem;
}

.srfcs-max-w-5xl {
  max-width: 64rem;
}

.srfcs-max-w-6xl {
  max-width: 72rem;
}

.srfcs-max-w-7xl {
  max-width: 80rem;
}

.srfcs-max-w-full {
  max-width: 100%;
}

.srfcs-max-w-screen {
  max-width: 100vw;
}

.srfcs-min-h-0 {
  min-height: 0;
}

.srfcs-min-h-full {
  min-height: 100%;
}

.srfcs-min-h-screen {
  min-height: 100vh;
}

.srfcs-min-h-min {
  min-height: min-content;
}

.srfcs-min-h-max {
  min-height: max-content;
}

.srfcs-min-h-fit {
  min-height: fit-content;
}

.srfcs-max-h-none {
  max-height: none;
}

.srfcs-max-h-full {
  max-height: 100%;
}

.srfcs-max-h-screen {
  max-height: 100vh;
}

.srfcs-max-h-min {
  max-height: min-content;
}

.srfcs-max-h-max {
  max-height: max-content;
}

.srfcs-max-h-fit {
  max-height: fit-content;
}

.srfcs-static {
  position: static;
}

.srfcs-fixed {
  position: fixed;
}

.srfcs-absolute {
  position: absolute;
}

.srfcs-relative {
  position: relative;
}

.srfcs-sticky {
  position: sticky;
}

.srfcs-inset-0 {
  inset: 0;
}

.srfcs-inset-auto {
  inset: auto;
}

.srfcs-inset-x-0 {
  left: 0;
  right: 0;
}

.srfcs-inset-y-0 {
  top: 0;
  bottom: 0;
}

.srfcs-top-0 {
  top: 0;
}

.srfcs-right-0 {
  right: 0;
}

.srfcs-bottom-0 {
  bottom: 0;
}

.srfcs-left-0 {
  left: 0;
}

.srfcs-overflow-auto {
  overflow: auto;
}

.srfcs-overflow-hidden {
  overflow: hidden;
}

.srfcs-overflow-visible {
  overflow: visible;
}

.srfcs-overflow-scroll {
  overflow: scroll;
}

.srfcs-overflow-x-auto {
  overflow-x: auto;
}

.srfcs-overflow-y-auto {
  overflow-y: auto;
}

.srfcs-overflow-x-hidden {
  overflow-x: hidden;
}

.srfcs-overflow-y-hidden {
  overflow-y: hidden;
}

.srfcs-z-0 {
  z-index: 0;
}

.srfcs-z-10 {
  z-index: 10;
}

.srfcs-z-20 {
  z-index: 20;
}

.srfcs-z-30 {
  z-index: 30;
}

.srfcs-z-40 {
  z-index: 40;
}

.srfcs-z-50 {
  z-index: 50;
}

.srfcs-z-auto {
  z-index: auto;
}

.srfcs-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.srfcs-not-sr-only {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.srfcs-font-sans {
  font-family: var(--srfcs-font-sans);
}

.srfcs-font-serif {
  font-family: var(--srfcs-font-serif);
}

.srfcs-font-mono {
  font-family: var(--srfcs-font-mono);
}

.srfcs-text-xs {
  font-size: var(--srfcs-text-xs);
  line-height: 1rem;
}

.srfcs-text-sm {
  font-size: var(--srfcs-text-sm);
  line-height: 1.25rem;
}

.srfcs-text-base {
  font-size: var(--srfcs-text-base);
  line-height: 1.5rem;
}

.srfcs-text-lg {
  font-size: var(--srfcs-text-lg);
  line-height: 1.75rem;
}

.srfcs-text-xl {
  font-size: var(--srfcs-text-xl);
  line-height: 1.75rem;
}

.srfcs-text-2xl {
  font-size: var(--srfcs-text-2xl);
  line-height: 2rem;
}

.srfcs-text-3xl {
  font-size: var(--srfcs-text-3xl);
  line-height: 2.25rem;
}

.srfcs-text-4xl {
  font-size: var(--srfcs-text-4xl);
  line-height: 2.5rem;
}

.srfcs-text-5xl {
  font-size: var(--srfcs-text-5xl);
  line-height: 1;
}

.srfcs-text-6xl {
  font-size: var(--srfcs-text-6xl);
  line-height: 1;
}

.srfcs-text-7xl {
  font-size: var(--srfcs-text-7xl);
  line-height: 1;
}

.srfcs-text-8xl {
  font-size: var(--srfcs-text-8xl);
  line-height: 1;
}

.srfcs-text-9xl {
  font-size: var(--srfcs-text-9xl);
  line-height: 1;
}

.srfcs-font-thin {
  font-weight: var(--srfcs-font-thin);
}

.srfcs-font-extralight {
  font-weight: var(--srfcs-font-extralight);
}

.srfcs-font-light {
  font-weight: var(--srfcs-font-light);
}

.srfcs-font-normal {
  font-weight: var(--srfcs-font-normal);
}

.srfcs-font-medium {
  font-weight: var(--srfcs-font-medium);
}

.srfcs-font-semibold {
  font-weight: var(--srfcs-font-semibold);
}

.srfcs-font-bold {
  font-weight: var(--srfcs-font-bold);
}

.srfcs-font-extrabold {
  font-weight: var(--srfcs-font-extrabold);
}

.srfcs-font-black {
  font-weight: var(--srfcs-font-black);
}

.srfcs-italic {
  font-style: italic;
}

.srfcs-not-italic {
  font-style: normal;
}

.srfcs-text-left {
  text-align: left;
}

.srfcs-text-center {
  text-align: center;
}

.srfcs-text-right {
  text-align: right;
}

.srfcs-text-justify {
  text-align: justify;
}

.srfcs-text-start {
  text-align: start;
}

.srfcs-text-end {
  text-align: end;
}

.srfcs-text-default {
  color: var(--srfcs-text);
}

.srfcs-text-muted {
  color: var(--srfcs-text-muted);
}

.srfcs-text-light {
  color: var(--srfcs-text-light);
}

.srfcs-text-lighter {
  color: var(--srfcs-text-lighter);
}

.srfcs-text-primary {
  color: var(--srfcs-primary);
}

.srfcs-text-secondary {
  color: var(--srfcs-secondary);
}

.srfcs-text-success {
  color: var(--srfcs-success);
}

.srfcs-text-success-dark {
  color: var(--srfcs-success-dark);
}

.srfcs-text-warning {
  color: var(--srfcs-warning);
}

.srfcs-text-warning-dark {
  color: var(--srfcs-warning-dark);
}

.srfcs-text-danger {
  color: var(--srfcs-danger);
}

.srfcs-text-danger-dark {
  color: var(--srfcs-danger-dark);
}

.srfcs-text-info {
  color: var(--srfcs-info);
}

.srfcs-text-info-dark {
  color: var(--srfcs-info-dark);
}

.srfcs-text-accent-blue {
  color: var(--srfcs-accent-blue);
}

.srfcs-text-accent-yellow {
  color: var(--srfcs-accent-yellow);
}

.srfcs-text-gray-50 {
  color: var(--srfcs-gray-50);
}

.srfcs-text-gray-100 {
  color: var(--srfcs-gray-100);
}

.srfcs-text-gray-200 {
  color: var(--srfcs-gray-200);
}

.srfcs-text-gray-300 {
  color: var(--srfcs-gray-300);
}

.srfcs-text-gray-400 {
  color: var(--srfcs-gray-400);
}

.srfcs-text-gray-500 {
  color: var(--srfcs-gray-500);
}

.srfcs-text-gray-600 {
  color: var(--srfcs-gray-600);
}

.srfcs-text-gray-700 {
  color: var(--srfcs-gray-700);
}

.srfcs-text-gray-800 {
  color: var(--srfcs-gray-800);
}

.srfcs-text-gray-900 {
  color: var(--srfcs-gray-900);
}

.srfcs-text-white {
  color: var(--srfcs-white);
}

.srfcs-text-black {
  color: var(--srfcs-black);
}

.srfcs-leading-none {
  line-height: var(--srfcs-leading-none);
}

.srfcs-leading-tight {
  line-height: var(--srfcs-leading-tight);
}

.srfcs-leading-snug {
  line-height: var(--srfcs-leading-snug);
}

.srfcs-leading-normal {
  line-height: var(--srfcs-leading-normal);
}

.srfcs-leading-relaxed {
  line-height: var(--srfcs-leading-relaxed);
}

.srfcs-leading-loose {
  line-height: var(--srfcs-leading-loose);
}

.srfcs-tracking-tighter {
  letter-spacing: var(--srfcs-tracking-tighter);
}

.srfcs-tracking-tight {
  letter-spacing: var(--srfcs-tracking-tight);
}

.srfcs-tracking-normal {
  letter-spacing: var(--srfcs-tracking-normal);
}

.srfcs-tracking-wide {
  letter-spacing: var(--srfcs-tracking-wide);
}

.srfcs-tracking-wider {
  letter-spacing: var(--srfcs-tracking-wider);
}

.srfcs-tracking-widest {
  letter-spacing: var(--srfcs-tracking-widest);
}

.srfcs-underline {
  text-decoration-line: underline;
}

.srfcs-overline {
  text-decoration-line: overline;
}

.srfcs-line-through {
  text-decoration-line: line-through;
}

.srfcs-no-underline {
  text-decoration-line: none;
}

.srfcs-uppercase {
  text-transform: uppercase;
}

.srfcs-lowercase {
  text-transform: lowercase;
}

.srfcs-capitalize {
  text-transform: capitalize;
}

.srfcs-normal-case {
  text-transform: none;
}

.srfcs-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srfcs-text-ellipsis {
  text-overflow: ellipsis;
}

.srfcs-text-clip {
  text-overflow: clip;
}

.srfcs-whitespace-normal {
  white-space: normal;
}

.srfcs-whitespace-nowrap {
  white-space: nowrap;
}

.srfcs-whitespace-pre {
  white-space: pre;
}

.srfcs-whitespace-pre-line {
  white-space: pre-line;
}

.srfcs-whitespace-pre-wrap {
  white-space: pre-wrap;
}

.srfcs-break-normal {
  overflow-wrap: normal;
  word-break: normal;
}

.srfcs-break-words {
  overflow-wrap: break-word;
}

.srfcs-break-all {
  word-break: break-all;
}

.srfcs-break-keep {
  word-break: keep-all;
}

.srfcs-bg-default {
  background-color: var(--srfcs-bg);
}

.srfcs-bg-subtle {
  background-color: var(--srfcs-bg-subtle);
}

.srfcs-bg-muted {
  background-color: var(--srfcs-bg-muted);
}

.srfcs-bg-primary {
  background-color: var(--srfcs-primary);
}

.srfcs-bg-primary-hover {
  background-color: var(--srfcs-primary-hover);
}

.srfcs-bg-primary-active {
  background-color: var(--srfcs-primary-active);
}

.srfcs-bg-primary-light {
  background-color: var(--srfcs-primary-light);
}

.srfcs-bg-primary-lighter {
  background-color: var(--srfcs-primary-lighter);
}

.srfcs-bg-secondary {
  background-color: var(--srfcs-secondary);
}

.srfcs-bg-secondary-hover {
  background-color: var(--srfcs-secondary-hover);
}

.srfcs-bg-success {
  background-color: var(--srfcs-success);
}

.srfcs-bg-success-hover {
  background-color: var(--srfcs-success-hover);
}

.srfcs-bg-success-light {
  background-color: var(--srfcs-success-light);
}

.srfcs-bg-success-subtle {
  background-color: var(--srfcs-success-subtle);
}

.srfcs-bg-warning {
  background-color: var(--srfcs-warning);
}

.srfcs-bg-warning-hover {
  background-color: var(--srfcs-warning-hover);
}

.srfcs-bg-warning-light {
  background-color: var(--srfcs-warning-light);
}

.srfcs-bg-warning-subtle {
  background-color: var(--srfcs-warning-subtle);
}

.srfcs-bg-danger {
  background-color: var(--srfcs-danger);
}

.srfcs-bg-danger-hover {
  background-color: var(--srfcs-danger-hover);
}

.srfcs-bg-danger-light {
  background-color: var(--srfcs-danger-light);
}

.srfcs-bg-danger-subtle {
  background-color: var(--srfcs-danger-subtle);
}

.srfcs-bg-info {
  background-color: var(--srfcs-info);
}

.srfcs-bg-info-hover {
  background-color: var(--srfcs-info-hover);
}

.srfcs-bg-info-light {
  background-color: var(--srfcs-info-light);
}

.srfcs-bg-info-subtle {
  background-color: var(--srfcs-info-subtle);
}

.srfcs-bg-accent-blue {
  background-color: var(--srfcs-accent-blue);
}

.srfcs-bg-accent-blue-hover {
  background-color: var(--srfcs-accent-blue-hover);
}

.srfcs-bg-accent-blue-light {
  background-color: var(--srfcs-accent-blue-light);
}

.srfcs-bg-accent-yellow {
  background-color: var(--srfcs-accent-yellow);
}

.srfcs-bg-accent-yellow-hover {
  background-color: var(--srfcs-accent-yellow-hover);
}

.srfcs-bg-accent-yellow-light {
  background-color: var(--srfcs-accent-yellow-light);
}

.srfcs-bg-gray-50 {
  background-color: var(--srfcs-gray-50);
}

.srfcs-bg-gray-100 {
  background-color: var(--srfcs-gray-100);
}

.srfcs-bg-gray-200 {
  background-color: var(--srfcs-gray-200);
}

.srfcs-bg-gray-300 {
  background-color: var(--srfcs-gray-300);
}

.srfcs-bg-gray-400 {
  background-color: var(--srfcs-gray-400);
}

.srfcs-bg-gray-500 {
  background-color: var(--srfcs-gray-500);
}

.srfcs-bg-gray-600 {
  background-color: var(--srfcs-gray-600);
}

.srfcs-bg-gray-700 {
  background-color: var(--srfcs-gray-700);
}

.srfcs-bg-gray-800 {
  background-color: var(--srfcs-gray-800);
}

.srfcs-bg-gray-900 {
  background-color: var(--srfcs-gray-900);
}

.srfcs-bg-white {
  background-color: var(--srfcs-white);
}

.srfcs-bg-black {
  background-color: var(--srfcs-black);
}

.srfcs-bg-transparent {
  background-color: var(--srfcs-transparent);
}

.srfcs-border-0 {
  border-width: 0;
}

.srfcs-border {
  border-width: 1px;
}

.srfcs-border-2 {
  border-width: 2px;
}

.srfcs-border-4 {
  border-width: 4px;
}

.srfcs-border-8 {
  border-width: 8px;
}

.srfcs-border-t-0 {
  border-top-width: 0;
}

.srfcs-border-t {
  border-top-width: 1px;
}

.srfcs-border-t-2 {
  border-top-width: 2px;
}

.srfcs-border-t-4 {
  border-top-width: 4px;
}

.srfcs-border-r-0 {
  border-right-width: 0;
}

.srfcs-border-r {
  border-right-width: 1px;
}

.srfcs-border-r-2 {
  border-right-width: 2px;
}

.srfcs-border-r-4 {
  border-right-width: 4px;
}

.srfcs-border-b-0 {
  border-bottom-width: 0;
}

.srfcs-border-b {
  border-bottom-width: 1px;
}

.srfcs-border-b-2 {
  border-bottom-width: 2px;
}

.srfcs-border-b-4 {
  border-bottom-width: 4px;
}

.srfcs-border-l-0 {
  border-left-width: 0;
}

.srfcs-border-l {
  border-left-width: 1px;
}

.srfcs-border-l-2 {
  border-left-width: 2px;
}

.srfcs-border-l-4 {
  border-left-width: 4px;
}

.srfcs-border-x-0 {
  border-left-width: 0;
  border-right-width: 0;
}

.srfcs-border-x {
  border-left-width: 1px;
  border-right-width: 1px;
}

.srfcs-border-x-2 {
  border-left-width: 2px;
  border-right-width: 2px;
}

.srfcs-border-y-0 {
  border-top-width: 0;
  border-bottom-width: 0;
}

.srfcs-border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.srfcs-border-y-2 {
  border-top-width: 2px;
  border-bottom-width: 2px;
}

.srfcs-border-solid {
  border-style: solid;
}

.srfcs-border-dashed {
  border-style: dashed;
}

.srfcs-border-dotted {
  border-style: dotted;
}

.srfcs-border-double {
  border-style: double;
}

.srfcs-border-hidden {
  border-style: hidden;
}

.srfcs-border-none {
  border-style: none;
}

.srfcs-border-default {
  border-color: var(--srfcs-border);
}

.srfcs-border-dark {
  border-color: var(--srfcs-border-dark);
}

.srfcs-border-primary {
  border-color: var(--srfcs-primary);
}

.srfcs-border-secondary {
  border-color: var(--srfcs-secondary);
}

.srfcs-border-success {
  border-color: var(--srfcs-success);
}

.srfcs-border-warning {
  border-color: var(--srfcs-warning);
}

.srfcs-border-danger {
  border-color: var(--srfcs-danger);
}

.srfcs-border-info {
  border-color: var(--srfcs-info);
}

.srfcs-border-gray-50 {
  border-color: var(--srfcs-gray-50);
}

.srfcs-border-gray-100 {
  border-color: var(--srfcs-gray-100);
}

.srfcs-border-gray-200 {
  border-color: var(--srfcs-gray-200);
}

.srfcs-border-gray-300 {
  border-color: var(--srfcs-gray-300);
}

.srfcs-border-gray-400 {
  border-color: var(--srfcs-gray-400);
}

.srfcs-border-gray-500 {
  border-color: var(--srfcs-gray-500);
}

.srfcs-border-gray-600 {
  border-color: var(--srfcs-gray-600);
}

.srfcs-border-gray-700 {
  border-color: var(--srfcs-gray-700);
}

.srfcs-border-gray-800 {
  border-color: var(--srfcs-gray-800);
}

.srfcs-border-gray-900 {
  border-color: var(--srfcs-gray-900);
}

.srfcs-border-white {
  border-color: var(--srfcs-white);
}

.srfcs-border-black {
  border-color: var(--srfcs-black);
}

.srfcs-border-transparent {
  border-color: transparent;
}

.srfcs-rounded-none {
  border-radius: var(--srfcs-radius-none);
}

.srfcs-rounded-sm {
  border-radius: var(--srfcs-radius-sm);
}

.srfcs-rounded {
  border-radius: var(--srfcs-radius);
}

.srfcs-rounded-md {
  border-radius: var(--srfcs-radius-md);
}

.srfcs-rounded-lg {
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-rounded-xl {
  border-radius: var(--srfcs-radius-xl);
}

.srfcs-rounded-2xl {
  border-radius: var(--srfcs-radius-2xl);
}

.srfcs-rounded-3xl {
  border-radius: var(--srfcs-radius-3xl);
}

.srfcs-rounded-full {
  border-radius: var(--srfcs-radius-full);
}

.srfcs-rounded-t-none {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.srfcs-rounded-t-sm {
  border-top-left-radius: var(--srfcs-radius-sm);
  border-top-right-radius: var(--srfcs-radius-sm);
}

.srfcs-rounded-t-md {
  border-top-left-radius: var(--srfcs-radius-md);
  border-top-right-radius: var(--srfcs-radius-md);
}

.srfcs-rounded-t-lg {
  border-top-left-radius: var(--srfcs-radius-lg);
  border-top-right-radius: var(--srfcs-radius-lg);
}

.srfcs-rounded-b-none {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.srfcs-rounded-b-sm {
  border-bottom-left-radius: var(--srfcs-radius-sm);
  border-bottom-right-radius: var(--srfcs-radius-sm);
}

.srfcs-rounded-b-md {
  border-bottom-left-radius: var(--srfcs-radius-md);
  border-bottom-right-radius: var(--srfcs-radius-md);
}

.srfcs-rounded-b-lg {
  border-bottom-left-radius: var(--srfcs-radius-lg);
  border-bottom-right-radius: var(--srfcs-radius-lg);
}

.srfcs-rounded-l-none {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.srfcs-rounded-l-sm {
  border-top-left-radius: var(--srfcs-radius-sm);
  border-bottom-left-radius: var(--srfcs-radius-sm);
}

.srfcs-rounded-l-md {
  border-top-left-radius: var(--srfcs-radius-md);
  border-bottom-left-radius: var(--srfcs-radius-md);
}

.srfcs-rounded-l-lg {
  border-top-left-radius: var(--srfcs-radius-lg);
  border-bottom-left-radius: var(--srfcs-radius-lg);
}

.srfcs-rounded-r-none {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.srfcs-rounded-r-sm {
  border-top-right-radius: var(--srfcs-radius-sm);
  border-bottom-right-radius: var(--srfcs-radius-sm);
}

.srfcs-rounded-r-md {
  border-top-right-radius: var(--srfcs-radius-md);
  border-bottom-right-radius: var(--srfcs-radius-md);
}

.srfcs-rounded-r-lg {
  border-top-right-radius: var(--srfcs-radius-lg);
  border-bottom-right-radius: var(--srfcs-radius-lg);
}

.srfcs-shadow-none {
  box-shadow: none;
}

.srfcs-shadow-sm {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.srfcs-shadow {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.srfcs-shadow-md {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.srfcs-shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.srfcs-shadow-xl {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.srfcs-shadow-2xl {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.srfcs-shadow-inner {
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
}

.srfcs-opacity-0 {
  opacity: 0;
}

.srfcs-opacity-5 {
  opacity: 0.05;
}

.srfcs-opacity-10 {
  opacity: 0.1;
}

.srfcs-opacity-20 {
  opacity: 0.2;
}

.srfcs-opacity-25 {
  opacity: 0.25;
}

.srfcs-opacity-30 {
  opacity: 0.3;
}

.srfcs-opacity-40 {
  opacity: 0.4;
}

.srfcs-opacity-50 {
  opacity: 0.5;
}

.srfcs-opacity-60 {
  opacity: 0.6;
}

.srfcs-opacity-70 {
  opacity: 0.7;
}

.srfcs-opacity-75 {
  opacity: 0.75;
}

.srfcs-opacity-80 {
  opacity: 0.8;
}

.srfcs-opacity-90 {
  opacity: 0.9;
}

.srfcs-opacity-95 {
  opacity: 0.95;
}

.srfcs-opacity-100 {
  opacity: 1;
}

.srfcs-visible {
  visibility: visible;
}

.srfcs-invisible {
  visibility: hidden;
}

.srfcs-collapse {
  visibility: collapse;
}

.srfcs-cursor-auto {
  cursor: auto;
}

.srfcs-cursor-default {
  cursor: default;
}

.srfcs-cursor-pointer {
  cursor: pointer;
}

.srfcs-cursor-wait {
  cursor: wait;
}

.srfcs-cursor-text {
  cursor: text;
}

.srfcs-cursor-move {
  cursor: move;
}

.srfcs-cursor-help {
  cursor: help;
}

.srfcs-cursor-not-allowed {
  cursor: not-allowed;
}

.srfcs-cursor-none {
  cursor: none;
}

.srfcs-cursor-grab {
  cursor: grab;
}

.srfcs-cursor-grabbing {
  cursor: grabbing;
}

.srfcs-select-none {
  user-select: none;
}

.srfcs-select-text {
  user-select: text;
}

.srfcs-select-all {
  user-select: all;
}

.srfcs-select-auto {
  user-select: auto;
}

.srfcs-pointer-events-none {
  pointer-events: none;
}

.srfcs-pointer-events-auto {
  pointer-events: auto;
}

.srfcs-transition-none {
  transition-property: none;
}

.srfcs-transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.srfcs-transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.srfcs-transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.srfcs-transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.srfcs-transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.srfcs-transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.srfcs-duration-75 {
  transition-duration: 75ms;
}

.srfcs-duration-100 {
  transition-duration: 100ms;
}

.srfcs-duration-150 {
  transition-duration: 150ms;
}

.srfcs-duration-200 {
  transition-duration: 200ms;
}

.srfcs-duration-300 {
  transition-duration: 300ms;
}

.srfcs-duration-500 {
  transition-duration: 500ms;
}

.srfcs-duration-700 {
  transition-duration: 700ms;
}

.srfcs-duration-1000 {
  transition-duration: 1000ms;
}

.srfcs-ease-linear {
  transition-timing-function: linear;
}

.srfcs-ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.srfcs-ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.srfcs-ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.srfcs-scale-0 {
  transform: scale(0);
}

.srfcs-scale-50 {
  transform: scale(0.5);
}

.srfcs-scale-75 {
  transform: scale(0.75);
}

.srfcs-scale-90 {
  transform: scale(0.9);
}

.srfcs-scale-95 {
  transform: scale(0.95);
}

.srfcs-scale-100 {
  transform: scale(1);
}

.srfcs-scale-105 {
  transform: scale(1.05);
}

.srfcs-scale-110 {
  transform: scale(1.1);
}

.srfcs-scale-125 {
  transform: scale(1.25);
}

.srfcs-scale-150 {
  transform: scale(1.5);
}

.srfcs-translate-y-0 {
  transform: translateY(0);
}

.srfcs-translate-y-4 {
  transform: translateY(var(--srfcs-space-4));
}

.-srfcs-translate-y-4 {
  transform: translateY(calc(-1 * var(--srfcs-space-4)));
}

.srfcs-translate-x-0 {
  transform: translateX(0);
}

.srfcs-rotate-0 {
  transform: rotate(0deg);
}

.srfcs-rotate-1 {
  transform: rotate(1deg);
}

.srfcs-rotate-2 {
  transform: rotate(2deg);
}

.srfcs-rotate-3 {
  transform: rotate(3deg);
}

.srfcs-rotate-6 {
  transform: rotate(6deg);
}

.srfcs-rotate-12 {
  transform: rotate(12deg);
}

.srfcs-rotate-45 {
  transform: rotate(45deg);
}

.srfcs-rotate-90 {
  transform: rotate(90deg);
}

.srfcs-rotate-180 {
  transform: rotate(180deg);
}

.-srfcs-rotate-1 {
  transform: rotate(-1deg);
}

.-srfcs-rotate-2 {
  transform: rotate(-2deg);
}

.-srfcs-rotate-3 {
  transform: rotate(-3deg);
}

.-srfcs-rotate-6 {
  transform: rotate(-6deg);
}

.-srfcs-rotate-12 {
  transform: rotate(-12deg);
}

.-srfcs-rotate-45 {
  transform: rotate(-45deg);
}

.-srfcs-rotate-90 {
  transform: rotate(-90deg);
}

.-srfcs-rotate-180 {
  transform: rotate(-180deg);
}

@keyframes srfcs-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.srfcs-animate-spin {
  animation: srfcs-spin 1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .srfcs-animate-spin {
    animation: none;
  }
}
@keyframes srfcs-ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.srfcs-animate-ping {
  animation: srfcs-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes srfcs-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.srfcs-animate-pulse {
  animation: srfcs-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes srfcs-bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}
.srfcs-animate-bounce {
  animation: srfcs-bounce 1s infinite;
}

.srfcs-animate-none {
  animation: none;
}

.hover\:srfcs-underline:hover {
  text-decoration-line: underline;
}

.hover\:srfcs-no-underline:hover {
  text-decoration-line: none;
}

.hover\:srfcs-text-foreground:hover {
  color: var(--srfcs-text);
}

.hover\:srfcs-text-primary:hover {
  color: var(--srfcs-primary);
}

.hover\:srfcs-text-muted:hover {
  color: var(--srfcs-text-muted);
}

.hover\:srfcs-opacity-75:hover {
  opacity: 0.75;
}

.hover\:srfcs-opacity-100:hover {
  opacity: 1;
}

.srfcs-btn, .srfcs-btn-admin, .srfcs-btn-outline-danger, .srfcs-btn-outline-secondary, .srfcs-btn-outline-primary, .srfcs-btn-accent-yellow, .srfcs-btn-accent-blue, .srfcs-btn-info, .srfcs-btn-danger-light, .srfcs-btn-danger, .srfcs-btn-warning, .srfcs-btn-success, .srfcs-btn-secondary, .srfcs-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--srfcs-font-medium);
  font-family: var(--srfcs-font-sans);
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  user-select: none;
}
.srfcs-btn:disabled, .srfcs-btn-admin:disabled, .srfcs-btn-outline-danger:disabled, .srfcs-btn-outline-secondary:disabled, .srfcs-btn-outline-primary:disabled, .srfcs-btn-accent-yellow:disabled, .srfcs-btn-accent-blue:disabled, .srfcs-btn-info:disabled, .srfcs-btn-danger-light:disabled, .srfcs-btn-danger:disabled, .srfcs-btn-warning:disabled, .srfcs-btn-success:disabled, .srfcs-btn-secondary:disabled, .srfcs-btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.srfcs-btn:focus, .srfcs-btn-admin:focus, .srfcs-btn-outline-danger:focus, .srfcs-btn-outline-secondary:focus, .srfcs-btn-outline-primary:focus, .srfcs-btn-accent-yellow:focus, .srfcs-btn-accent-blue:focus, .srfcs-btn-info:focus, .srfcs-btn-danger-light:focus, .srfcs-btn-danger:focus, .srfcs-btn-warning:focus, .srfcs-btn-success:focus, .srfcs-btn-secondary:focus, .srfcs-btn-primary:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3);
}

.srfcs-btn-primary {
  background: var(--srfcs-primary);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-primary:hover:not(:disabled) {
  background: var(--srfcs-primary-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-primary:active:not(:disabled) {
  background: var(--srfcs-primary-active);
  transform: translateY(0);
}

.srfcs-btn-secondary {
  background: var(--srfcs-gray-200);
  color: var(--srfcs-gray-900);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-secondary:hover:not(:disabled) {
  background: var(--srfcs-gray-300);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-secondary:active:not(:disabled) {
  background: var(--srfcs-gray-400);
  transform: translateY(0);
}

.srfcs-btn-success {
  background: var(--srfcs-success);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-success:hover:not(:disabled) {
  background: var(--srfcs-success-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-success:active:not(:disabled) {
  background: var(--srfcs-success-hover);
  transform: translateY(0);
}
.srfcs-btn-success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.3);
}

.srfcs-btn-warning {
  background: var(--srfcs-warning);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-warning:hover:not(:disabled) {
  background: var(--srfcs-warning-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-warning:active:not(:disabled) {
  background: var(--srfcs-warning-hover);
  transform: translateY(0);
}
.srfcs-btn-warning:focus {
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.3);
}

.srfcs-btn-danger {
  background: var(--srfcs-danger);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-danger:hover:not(:disabled) {
  background: var(--srfcs-danger-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-danger:active:not(:disabled) {
  background: var(--srfcs-danger-hover);
  transform: translateY(0);
}
.srfcs-btn-danger:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.3);
}

.srfcs-btn-danger-light {
  background: var(--srfcs-danger-light);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-danger-light:hover:not(:disabled) {
  background: var(--srfcs-danger);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-danger-light:active:not(:disabled) {
  background: var(--srfcs-danger);
  transform: translateY(0);
}
.srfcs-btn-danger-light:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.3);
}

.srfcs-btn-info {
  background: var(--srfcs-info);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-info:hover:not(:disabled) {
  background: var(--srfcs-info-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-info:active:not(:disabled) {
  background: var(--srfcs-info-hover);
  transform: translateY(0);
}
.srfcs-btn-info:focus {
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
}

.srfcs-btn-accent-blue {
  background: var(--srfcs-accent-blue);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-accent-blue:hover:not(:disabled) {
  background: var(--srfcs-accent-blue-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-accent-blue:active:not(:disabled) {
  background: var(--srfcs-accent-blue-active);
  transform: translateY(0);
}

.srfcs-btn-accent-yellow {
  background: var(--srfcs-accent-yellow);
  color: var(--srfcs-gray-900);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-accent-yellow:hover:not(:disabled) {
  background: var(--srfcs-accent-yellow-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.srfcs-btn-accent-yellow:active:not(:disabled) {
  background: var(--srfcs-accent-yellow-active);
  transform: translateY(0);
}

.srfcs-btn-outline-primary {
  background: transparent;
  color: var(--srfcs-primary);
  border: 2px solid var(--srfcs-primary);
  padding: calc(var(--srfcs-space-2) - 2px) calc(var(--srfcs-space-4) - 2px);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-outline-primary:hover:not(:disabled) {
  background: var(--srfcs-primary);
  color: var(--srfcs-white);
}

.srfcs-btn-outline-secondary {
  background: transparent;
  color: var(--srfcs-gray-700);
  border: 2px solid var(--srfcs-gray-300);
  padding: calc(var(--srfcs-space-2) - 2px) calc(var(--srfcs-space-4) - 2px);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-outline-secondary:hover:not(:disabled) {
  background: var(--srfcs-gray-100);
  border-color: var(--srfcs-gray-400);
}

.srfcs-btn-outline-danger {
  background: transparent;
  color: var(--srfcs-danger);
  border: 2px solid var(--srfcs-danger);
  padding: calc(var(--srfcs-space-2) - 2px) calc(var(--srfcs-space-4) - 2px);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-base);
}
.srfcs-btn-outline-danger:hover:not(:disabled) {
  background: rgba(239, 68, 68, 0.1);
  border-color: var(--srfcs-danger-hover);
  color: var(--srfcs-danger-hover);
}

.srfcs-btn-sm {
  padding: var(--srfcs-space-1) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
}

.srfcs-btn-lg {
  padding: var(--srfcs-space-3) var(--srfcs-space-6);
  font-size: var(--srfcs-text-lg);
}

.srfcs-btn-xl {
  padding: var(--srfcs-space-4) var(--srfcs-space-8);
  font-size: var(--srfcs-text-xl);
}

.srfcs-btn-admin {
  background: var(--srfcs-primary);
  color: var(--srfcs-white);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  border-radius: var(--srfcs-radius-sm);
  font-size: var(--srfcs-text-sm);
}
.srfcs-btn-admin:hover:not(:disabled) {
  background: var(--srfcs-primary-hover);
}

.srfcs-header-nav {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: var(--srfcs-header-height, 4rem);
  padding: var(--srfcs-space-4) 0;
  background-color: var(--srfcs-bg);
  border-bottom: 1px solid var(--srfcs-border);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.srfcs-header-nav--sticky {
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--srfcs-shadow-sm);
  backdrop-filter: blur(8px);
  background-color: var(--srfcs-bg-translucent, rgba(255, 255, 255, 0.95));
}
[data-theme=dark] .srfcs-header-nav--sticky {
  background-color: var(--srfcs-bg-translucent, rgba(17, 17, 17, 0.95));
}

.srfcs-header-nav--transparent {
  background-color: transparent;
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.srfcs-header-nav--transparent .srfcs-header-nav__logo-link,
.srfcs-header-nav--transparent .srfcs-header-nav__link {
  color: #fff;
}
.srfcs-header-nav--transparent .srfcs-header-nav__link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.srfcs-header-nav__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: var(--srfcs-max-w-7xl, 80rem);
  margin: 0 auto;
  padding: 0 var(--srfcs-space-6);
  gap: var(--srfcs-space-8);
}

.srfcs-header-nav__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.srfcs-header-nav__logo-link {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  font-size: var(--srfcs-text-xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-primary);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.srfcs-header-nav__logo-link:hover {
  opacity: 0.8;
}

.srfcs-header-nav__logo-icon {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}

.srfcs-header-nav__menu {
  display: flex;
  align-items: center;
  flex: 1;
  gap: var(--srfcs-space-1);
}
@media (max-width: 768px) {
  .srfcs-header-nav__menu {
    display: none;
  }
}

.srfcs-header-nav__link {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  border-radius: var(--srfcs-radius-md);
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-header-nav__link:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-header-nav__link--active {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}
.srfcs-header-nav__link--active:hover {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.srfcs-header-nav__link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.srfcs-header-nav__actions {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  flex-shrink: 0;
}

.srfcs-header-nav__mobile-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-header-nav__mobile-toggle:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-header-nav__mobile-toggle svg {
  width: 1.5rem;
  height: 1.5rem;
}
@media (max-width: 768px) {
  .srfcs-header-nav__mobile-toggle {
    display: flex;
  }
}

.srfcs-header-nav__mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-bg);
  border-bottom: 1px solid var(--srfcs-border);
  box-shadow: var(--srfcs-shadow-lg);
}
.srfcs-header-nav__mobile-menu.is-open {
  display: block;
}
@media (min-width: 769px) {
  .srfcs-header-nav__mobile-menu {
    display: none !important;
  }
}

.srfcs-header-nav__mobile-link {
  display: block;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  font-size: var(--srfcs-text-base);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  border-radius: var(--srfcs-radius-md);
}
.srfcs-header-nav__mobile-link:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-header-nav__mobile-link.srfcs-header-nav__link--active {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.srfcs-top-nav {
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--srfcs-top-nav-height, 3.5rem);
  padding: 0 var(--srfcs-space-4);
  background-color: var(--srfcs-bg-elevated);
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-top-nav__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--srfcs-space-4);
}

.srfcs-top-nav__left {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
}

.srfcs-top-nav__center {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  flex: 1;
  justify-content: center;
}

.srfcs-top-nav__right {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
}

.srfcs-top-nav__sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-top-nav__sidebar-toggle:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-top-nav__brand {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  text-decoration: none;
}

.srfcs-top-nav__brand-name {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
}

.srfcs-top-nav__brand-tagline {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.srfcs-top-nav__link {
  display: inline-flex;
  align-items: center;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  border-radius: var(--srfcs-radius-md);
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-top-nav__link:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-top-nav__link--active {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.srfcs-top-nav__badge {
  display: inline-flex;
  align-items: center;
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-warning);
  background-color: var(--srfcs-warning-light);
  border-radius: var(--srfcs-radius-full);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.srfcs-user-nav {
  position: relative;
  display: flex;
  align-items: center;
}

.srfcs-user-nav__dropdown-container {
  position: relative;
}
.srfcs-user-nav__dropdown-container.is-open .srfcs-user-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.srfcs-user-nav__dropdown-container.is-open .srfcs-user-nav__chevron {
  transform: rotate(180deg);
}

.srfcs-user-nav__trigger {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-1);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.srfcs-user-nav__trigger:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-user-nav__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--srfcs-radius-full);
  background-color: var(--srfcs-primary);
  overflow: hidden;
}
.srfcs-user-nav__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srfcs-user-nav__initials {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-on-primary);
  text-transform: uppercase;
}

.srfcs-user-nav__chevron {
  width: 1rem;
  height: 1rem;
  color: var(--srfcs-text-muted);
  transition: transform 0.2s ease;
}

.srfcs-user-nav__dropdown {
  position: absolute;
  top: calc(100% + var(--srfcs-space-2));
  right: 0;
  min-width: 16rem;
  padding: var(--srfcs-space-2);
  background-color: var(--srfcs-bg-elevated);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  z-index: 100;
}

.srfcs-user-nav__header {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
}

.srfcs-user-nav__header-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--srfcs-radius-full);
  background-color: var(--srfcs-primary);
  overflow: hidden;
  flex-shrink: 0;
}
.srfcs-user-nav__header-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.srfcs-user-nav__header-avatar .srfcs-user-nav__initials {
  font-size: var(--srfcs-text-sm);
}

.srfcs-user-nav__header-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.srfcs-user-nav__header-name {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.srfcs-user-nav__header-email {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.srfcs-user-nav__divider {
  height: 1px;
  margin: var(--srfcs-space-2) 0;
  background-color: var(--srfcs-border);
}

.srfcs-user-nav__menu-item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
  text-align: left;
}
.srfcs-user-nav__menu-item:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-user-nav__menu-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--srfcs-text-muted);
}

.srfcs-user-nav__logout {
  color: var(--srfcs-danger);
}
.srfcs-user-nav__logout .srfcs-user-nav__menu-icon {
  color: var(--srfcs-danger);
}
.srfcs-user-nav__logout:hover {
  color: var(--srfcs-danger);
  background-color: var(--srfcs-danger-light);
}

.srfcs-user-nav__logout-form {
  display: contents;
}

.srfcs-user-nav__login-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-primary);
  background-color: transparent;
  border: 1px solid var(--srfcs-primary);
  border-radius: var(--srfcs-radius-md);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-user-nav__login-btn:hover {
  color: var(--srfcs-on-primary);
  background-color: var(--srfcs-primary);
}

.srfcs-main-nav {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--srfcs-space-2);
}

.srfcs-main-nav__section {
  margin-bottom: var(--srfcs-space-4);
}

.srfcs-main-nav__section-title {
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.srfcs-main-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srfcs-main-nav__item {
  margin-bottom: var(--srfcs-space-1);
}

.srfcs-main-nav__link {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  border-radius: var(--srfcs-radius-md);
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-main-nav__link:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-main-nav__link--active {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}
.srfcs-main-nav__link--active:hover {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.srfcs-main-nav__link--flush {
  border-radius: 0;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
}

.srfcs-main-nav__icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.srfcs-main-nav__badge {
  margin-left: auto;
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  background-color: var(--srfcs-bg-hover);
  border-radius: var(--srfcs-radius-full);
}

.srfcs-main-nav--collapsed .srfcs-main-nav__section-title,
.srfcs-main-nav--collapsed .srfcs-main-nav__link span:not(.srfcs-main-nav__icon),
.srfcs-main-nav--collapsed .srfcs-main-nav__badge {
  display: none;
}
.srfcs-main-nav--collapsed .srfcs-main-nav__link {
  justify-content: center;
  padding: var(--srfcs-space-3);
}

.srfcs-tabs {
  display: flex;
  flex-direction: column;
}

.srfcs-tabs__list {
  display: flex;
  gap: var(--srfcs-space-1);
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-tabs__tab {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.srfcs-tabs__tab:hover {
  color: var(--srfcs-text);
}
.srfcs-tabs__tab.is-active, .srfcs-tabs__tab[aria-selected=true] {
  color: var(--srfcs-primary);
  border-bottom-color: var(--srfcs-primary);
}
.srfcs-tabs__tab:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.srfcs-tabs__icon {
  width: 1rem;
  height: 1rem;
}

.srfcs-tabs__badge {
  padding: 0.125rem 0.375rem;
  font-size: var(--srfcs-text-xs);
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-full);
}

.srfcs-tabs__panel {
  padding: var(--srfcs-space-4) 0;
}

.srfcs-tabs--pills .srfcs-tabs__list {
  gap: var(--srfcs-space-2);
  border-bottom: none;
  padding: var(--srfcs-space-1);
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-tabs--pills .srfcs-tabs__tab {
  border-bottom: none;
  border-radius: var(--srfcs-radius-md);
  margin-bottom: 0;
}
.srfcs-tabs--pills .srfcs-tabs__tab.is-active, .srfcs-tabs--pills .srfcs-tabs__tab[aria-selected=true] {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg);
  box-shadow: var(--srfcs-shadow-sm);
}

.srfcs-tabs--vertical {
  flex-direction: row;
  gap: var(--srfcs-space-4);
}

.srfcs-tabs--vertical .srfcs-tabs__list {
  flex-direction: column;
  border-bottom: none;
  border-right: 1px solid var(--srfcs-border);
  padding-right: var(--srfcs-space-4);
}

.srfcs-tabs--vertical .srfcs-tabs__tab {
  border-bottom: none;
  border-right: 2px solid transparent;
  margin-bottom: 0;
  margin-right: -1px;
}
.srfcs-tabs--vertical .srfcs-tabs__tab.is-active, .srfcs-tabs--vertical .srfcs-tabs__tab[aria-selected=true] {
  border-right-color: var(--srfcs-primary);
}

.srfcs-tabs--vertical .srfcs-tabs__panel {
  flex: 1;
  padding: 0;
}

.srfcs-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--srfcs-space-1);
  font-size: var(--srfcs-text-sm);
}

.srfcs-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
}

.srfcs-breadcrumb__link {
  color: var(--srfcs-text-muted);
  text-decoration: none;
  transition: color 0.15s ease;
}
.srfcs-breadcrumb__link:hover {
  color: var(--srfcs-primary);
}

.srfcs-breadcrumb__current {
  color: var(--srfcs-text);
  font-weight: var(--srfcs-font-medium);
}

.srfcs-breadcrumb__separator {
  color: var(--srfcs-text-muted);
}
.srfcs-breadcrumb__separator svg {
  width: 1rem;
  height: 1rem;
}

.srfcs-breadcrumb__icon {
  width: 1rem;
  height: 1rem;
  color: var(--srfcs-text-muted);
}

.srfcs-breadcrumb--with-home .srfcs-breadcrumb__item:first-child .srfcs-breadcrumb__link {
  display: flex;
  align-items: center;
}

.srfcs-breadcrumb__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--srfcs-text-muted);
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-sm);
  cursor: pointer;
}
.srfcs-breadcrumb__ellipsis:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-dropdown {
  position: relative;
  display: inline-block;
}

.srfcs-dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
  background: transparent;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.srfcs-dropdown__trigger:hover {
  border-color: var(--srfcs-border-hover);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-dropdown__caret {
  width: 1rem;
  height: 1rem;
  transition: transform 0.2s ease;
}

.srfcs-dropdown:focus-within .srfcs-dropdown__caret,
.srfcs-dropdown.is-open .srfcs-dropdown__caret {
  transform: rotate(180deg);
}

.srfcs-dropdown__menu {
  position: absolute;
  top: calc(100% + var(--srfcs-space-1));
  left: 0;
  z-index: 50;
  min-width: 12rem;
  padding: var(--srfcs-space-1);
  background-color: var(--srfcs-bg-elevated);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
}

.srfcs-dropdown:focus-within .srfcs-dropdown__menu,
.srfcs-dropdown.is-open .srfcs-dropdown__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.srfcs-dropdown--right .srfcs-dropdown__menu {
  left: auto;
  right: 0;
}

.srfcs-dropdown--up .srfcs-dropdown__menu {
  top: auto;
  bottom: calc(100% + var(--srfcs-space-1));
}

.srfcs-dropdown__item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  border-radius: var(--srfcs-radius-md);
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-dropdown__item:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-dropdown__item-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.srfcs-dropdown__divider {
  height: 1px;
  margin: var(--srfcs-space-1) 0;
  background-color: var(--srfcs-border);
}

.srfcs-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}

.srfcs-pagination__list {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  list-style: none;
  margin: 0;
  padding: 0;
}

.srfcs-pagination__item {
  display: flex;
}

.srfcs-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--srfcs-radius-md);
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
.srfcs-pagination__link:hover:not(.srfcs-pagination__link--disabled):not(.srfcs-pagination__link--active) {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-pagination__link--active {
  color: var(--srfcs-on-primary);
  background-color: var(--srfcs-primary);
  border-color: var(--srfcs-primary);
}

.srfcs-pagination__link--disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.srfcs-pagination__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  color: var(--srfcs-text-muted);
}

.srfcs-pagination--simple .srfcs-pagination__list {
  gap: var(--srfcs-space-2);
}

.srfcs-pagination--compact .srfcs-pagination__link {
  min-width: 1.75rem;
  height: 1.75rem;
  font-size: var(--srfcs-text-xs);
}

.srfcs-footer-nav {
  padding: var(--srfcs-space-12) 0;
  background-color: var(--srfcs-bg-muted);
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-footer-nav__container {
  max-width: var(--srfcs-max-w-7xl, 80rem);
  margin: 0 auto;
  padding: 0 var(--srfcs-space-6);
}

.srfcs-footer-nav__content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: var(--srfcs-space-8);
}

.srfcs-footer-nav__group {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-4);
}

.srfcs-footer-nav__group-title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-footer-nav__group-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
}

.srfcs-footer-nav__item {
  display: block;
}

.srfcs-footer-nav__link {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  transition: color 0.15s ease;
}
.srfcs-footer-nav__link:hover {
  color: var(--srfcs-primary);
}

.srfcs-footer-nav__bottom {
  margin-top: var(--srfcs-space-8);
  padding-top: var(--srfcs-space-8);
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-footer-nav__social {
  display: flex;
  gap: var(--srfcs-space-4);
}

.srfcs-footer-nav--simple {
  padding: var(--srfcs-space-6) 0;
}
.srfcs-footer-nav--simple .srfcs-footer-nav__content {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-6);
}

.srfcs-tabs__tab--active {
  color: var(--srfcs-primary);
  border-bottom-color: var(--srfcs-primary);
}

.srfcs-tabs__tab--disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.srfcs-toc {
  display: flex;
  flex-direction: column;
  width: 280px;
  max-height: 100vh;
  position: sticky;
  top: 0;
  background-color: var(--srfcs-bg);
  border-right: 1px solid var(--srfcs-border);
}

.srfcs-toc__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
  flex-shrink: 0;
}

.srfcs-toc__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-toc__controls {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-toc__toggle-levels {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-toc__toggle-levels:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-toc--show-levels .srfcs-toc__toggle-levels {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.srfcs-toc__toggle-icon {
  width: 1rem;
  height: 1rem;
}

.srfcs-toc__nav {
  flex: 1;
  overflow-y: auto;
  padding: var(--srfcs-space-2);
}

.srfcs-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srfcs-toc__item {
  margin-bottom: var(--srfcs-space-1);
}

.srfcs-toc__item-row {
  display: flex;
  align-items: flex-start;
}

.srfcs-toc__expand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  margin-top: var(--srfcs-space-1);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-sm);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: color 0.15s ease, background-color 0.15s ease, transform 0.2s ease;
}
.srfcs-toc__expand:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-toc__expand--collapsed .srfcs-toc__chevron {
  transform: rotate(-90deg);
}

.srfcs-toc__chevron {
  width: 0.875rem;
  height: 0.875rem;
  transition: transform 0.2s ease;
}

.srfcs-toc__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  min-width: 0;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  text-align: left;
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-toc__link:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-toc__link--no-expand {
  margin-left: 1.5rem;
}

.srfcs-toc__link--active {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
  font-weight: var(--srfcs-font-medium);
}
.srfcs-toc__link--active:hover {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.srfcs-toc__link-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srfcs-toc__link--level-part {
  padding-left: var(--srfcs-space-3);
  font-size: var(--srfcs-text-base);
  font-weight: var(--srfcs-font-semibold);
}

.srfcs-toc__link--level-chapter {
  padding-left: calc(var(--srfcs-space-3) + 0.75rem);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
}

.srfcs-toc__link--level-section {
  padding-left: calc(var(--srfcs-space-3) + 1.5rem);
  font-size: var(--srfcs-text-sm);
}

.srfcs-toc__link--level-summary,
.srfcs-toc__link--level-post {
  padding-left: calc(var(--srfcs-space-3) + 2.25rem);
  font-size: var(--srfcs-text-xs);
}

.srfcs-toc__level-badge {
  display: none;
  flex-shrink: 0;
  padding: 0.125rem var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-full);
  margin-left: var(--srfcs-space-2);
}
.srfcs-toc--show-levels .srfcs-toc__level-badge {
  display: inline-flex;
}

.srfcs-toc__children {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: var(--srfcs-space-4);
  overflow: hidden;
  transition: max-height 0.2s ease, opacity 0.2s ease;
}

.srfcs-toc__children--collapsed {
  display: none;
}

.srfcs-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-filter-bar--compact {
  padding: var(--srfcs-space-3);
  gap: var(--srfcs-space-2);
}

.srfcs-filter-bar--sticky {
  position: sticky;
  top: var(--srfcs-space-4);
  z-index: 10;
}

.srfcs-filter-bar__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--srfcs-space-4);
}

.srfcs-filter-bar__actions {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-4);
  margin-left: auto;
}

.srfcs-filter-bar__count {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}
.srfcs-filter-bar__count strong {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}

.srfcs-filter-bar__clear {
  padding: var(--srfcs-space-1) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  transition: color 0.15s ease;
}
.srfcs-filter-bar__clear:hover {
  color: var(--srfcs-text);
}

.srfcs-filter-group {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-filter-group__label {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  min-width: 4rem;
  flex-shrink: 0;
}

.srfcs-filter-group__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-2);
}

.srfcs-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  background-color: transparent;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
  transition: all 0.15s ease;
}
.srfcs-filter-chip:hover {
  color: var(--srfcs-text);
  border-color: var(--srfcs-border-hover);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-filter-chip--active {
  color: var(--srfcs-on-primary);
  background-color: var(--srfcs-text);
  border-color: var(--srfcs-text);
}
.srfcs-filter-chip--active:hover {
  color: var(--srfcs-on-primary);
  background-color: var(--srfcs-text);
  border-color: var(--srfcs-text);
}

.srfcs-filter-chip--custom-color:hover {
  filter: brightness(0.95);
}

.srfcs-filter-chip--compact {
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
}

.srfcs-filter-chip--outline {
  background-color: transparent;
}
.srfcs-filter-chip--outline.srfcs-filter-chip--active {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
  border-color: var(--srfcs-primary);
}

.srfcs-filter-chip__label {
  white-space: nowrap;
}

.srfcs-filter-chip__count {
  font-size: var(--srfcs-text-xs);
  color: inherit;
  opacity: 0.75;
}

.srfcs-filter-chip__dismiss {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  padding: 0;
  margin-left: var(--srfcs-space-1);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-full);
  color: inherit;
  opacity: 0.5;
  cursor: pointer;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.srfcs-filter-chip__dismiss:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.1);
}
.srfcs-filter-chip__dismiss svg {
  width: 0.75rem;
  height: 0.75rem;
}

.srfcs-form-card {
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  padding: var(--srfcs-space-6);
  box-shadow: var(--srfcs-shadow-sm);
}

.srfcs-form {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-4);
}

.srfcs-form-group {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
}

.srfcs-label {
  display: block;
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text-muted);
}

.srfcs-label--required::after {
  content: " *";
  color: var(--srfcs-danger);
}

.srfcs-input, [data-live-select] input[type=text], .srfcs-select, .srfcs-textarea, .srfcs-input-password__input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-base);
  font-family: inherit;
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border-dark);
  border-radius: var(--srfcs-radius-lg);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-input::placeholder, [data-live-select] input[type=text]::placeholder, .srfcs-select::placeholder, .srfcs-textarea::placeholder, .srfcs-input-password__input::placeholder {
  color: var(--srfcs-text-muted);
}
.srfcs-input:focus, [data-live-select] input[type=text]:focus, .srfcs-select:focus, .srfcs-textarea:focus, .srfcs-input-password__input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.srfcs-input:disabled, [data-live-select] input[type=text]:disabled, .srfcs-select:disabled, .srfcs-textarea:disabled, .srfcs-input-password__input:disabled, .srfcs-input[readonly], [data-live-select] input[readonly][type=text], [readonly].srfcs-select, [readonly].srfcs-textarea, [readonly].srfcs-input-password__input {
  background-color: var(--srfcs-bg-muted);
  cursor: not-allowed;
  opacity: 0.7;
}

.srfcs-input--error {
  border-color: var(--srfcs-danger);
}
.srfcs-input--error:focus {
  border-color: var(--srfcs-danger);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.srfcs-input--success {
  border-color: var(--srfcs-success);
}
.srfcs-input--success:focus {
  border-color: var(--srfcs-success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

.srfcs-input--sm {
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
}

.srfcs-input--lg {
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  font-size: var(--srfcs-text-lg);
}

.srfcs-input-password {
  position: relative;
  display: flex;
  align-items: center;
}

.srfcs-input-password__input {
  padding-right: var(--srfcs-space-10);
}

.srfcs-input-password__toggle {
  position: absolute;
  right: var(--srfcs-space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: color 0.15s ease;
}
.srfcs-input-password__toggle:hover {
  color: var(--srfcs-text);
}
.srfcs-input-password__toggle svg {
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-textarea {
  min-height: 6rem;
  resize: vertical;
}

.srfcs-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--srfcs-space-3) center;
  background-size: 1rem;
  padding-right: var(--srfcs-space-10);
}

.srfcs-checkbox,
.srfcs-radio {
  width: 1rem;
  height: 1rem;
  accent-color: var(--srfcs-primary);
  cursor: pointer;
}

.srfcs-checkbox-label,
.srfcs-radio-label {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  cursor: pointer;
}

.srfcs-help-text {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  margin-top: var(--srfcs-space-1);
}

.srfcs-error-text {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-danger);
  margin-top: var(--srfcs-space-1);
}

.srfcs-auth-card {
  max-width: 24rem;
  margin: 0 auto;
  padding: var(--srfcs-space-6);
}

.srfcs-auth-card__header {
  text-align: center;
  margin-bottom: var(--srfcs-space-6);
}

.srfcs-auth-card__title {
  font-size: var(--srfcs-text-2xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-2) 0;
}

.srfcs-auth-card__subtitle {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  margin: 0;
}

.srfcs-divider {
  display: flex;
  align-items: center;
  margin: var(--srfcs-space-6) 0;
}

.srfcs-divider::before,
.srfcs-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--srfcs-border);
}

.srfcs-divider__text {
  padding: 0 var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  background-color: var(--srfcs-bg);
}

.srfcs-oauth-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  text-decoration: none;
  border-radius: var(--srfcs-radius-lg);
  transition: opacity 0.15s ease, background-color 0.15s ease;
  cursor: pointer;
}
.srfcs-oauth-btn:hover {
  opacity: 0.9;
}

.srfcs-oauth-btn__icon {
  width: 1.25rem;
  height: 1.25rem;
  margin-right: var(--srfcs-space-3);
}

.srfcs-oauth-btn--okta {
  background-color: #007dc1 !important;
  color: white !important;
  border: 1px solid #007dc1 !important;
}

.srfcs-oauth-btn--google {
  background-color: white;
  color: var(--srfcs-text);
  border: 1px solid var(--srfcs-border);
  box-shadow: var(--srfcs-shadow-sm);
}
.srfcs-oauth-btn--google:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-oauth-btn--github {
  background-color: #24292f;
  color: white;
  border: 1px solid #24292f;
}

.srfcs-oauth-btn--microsoft {
  background-color: white;
  color: var(--srfcs-text);
  border: 1px solid var(--srfcs-border);
  box-shadow: var(--srfcs-shadow-sm);
}
.srfcs-oauth-btn--microsoft:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-base);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-on-primary);
  background-color: var(--srfcs-primary);
  border: none;
  border-radius: var(--srfcs-radius-lg);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.srfcs-submit-btn:hover {
  background-color: var(--srfcs-primary-hover);
}
.srfcs-submit-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3);
}
.srfcs-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.srfcs-submit-btn--success {
  background-color: var(--srfcs-success);
}
.srfcs-submit-btn--success:hover {
  background-color: var(--srfcs-success-hover);
}
.srfcs-submit-btn--success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.3);
}

.srfcs-submit-btn--secondary {
  background-color: var(--srfcs-secondary);
}
.srfcs-submit-btn--secondary:hover {
  background-color: var(--srfcs-secondary-hover);
}

.srfcs-alert {
  padding: var(--srfcs-space-3);
  border-radius: var(--srfcs-radius-lg);
  font-size: var(--srfcs-text-sm);
}

.srfcs-alert--success {
  background-color: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: var(--srfcs-success);
}

.srfcs-alert--error {
  background-color: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: var(--srfcs-danger);
}

.srfcs-alert--info {
  background-color: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: var(--srfcs-info);
}

.srfcs-alert--warning {
  background-color: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: var(--srfcs-warning);
}

.srfcs-form-section {
  margin-top: var(--srfcs-space-6);
  padding-top: var(--srfcs-space-6);
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-form-section__title {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  text-align: center;
  margin-bottom: var(--srfcs-space-3);
}

.srfcs-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--srfcs-space-3);
  margin-top: var(--srfcs-space-6);
  padding-top: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-form-actions--between {
  justify-content: space-between;
}

.srfcs-link {
  color: var(--srfcs-primary);
  text-decoration: none;
  font-weight: var(--srfcs-font-medium);
}
.srfcs-link:hover {
  text-decoration: underline;
}

.srfcs-link.srfcs-link--danger {
  color: var(--srfcs-danger);
}
.srfcs-link.srfcs-link--danger:hover {
  color: var(--srfcs-danger-hover);
}

.srfcs-link.srfcs-link--muted {
  color: var(--srfcs-text-muted);
}
.srfcs-link.srfcs-link--muted:hover {
  color: var(--srfcs-text);
}

.srfcs-radio {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-radio__input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--srfcs-primary);
  cursor: pointer;
}
.srfcs-radio__input:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.srfcs-radio__label {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  cursor: pointer;
}

.srfcs-toggle {
  display: flex;
  align-items: center;
}

.srfcs-toggle__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.srfcs-toggle__input:checked + .srfcs-toggle__label .srfcs-toggle__switch {
  background-color: var(--srfcs-primary);
}
.srfcs-toggle__input:checked + .srfcs-toggle__label .srfcs-toggle__slider {
  transform: translateX(1.25rem);
}
.srfcs-toggle__input:focus + .srfcs-toggle__label .srfcs-toggle__switch {
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}
.srfcs-toggle__input:disabled + .srfcs-toggle__label {
  opacity: 0.5;
  cursor: not-allowed;
}

.srfcs-toggle__label {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  cursor: pointer;
}

.srfcs-toggle__switch {
  position: relative;
  width: 2.75rem;
  height: 1.5rem;
  background-color: var(--srfcs-gray-300);
  border-radius: var(--srfcs-radius-full);
  transition: background-color 0.2s ease;
}

.srfcs-toggle__slider {
  position: absolute;
  top: 0.125rem;
  left: 0.125rem;
  width: 1.25rem;
  height: 1.25rem;
  background-color: white;
  border-radius: var(--srfcs-radius-full);
  box-shadow: var(--srfcs-shadow-sm);
  transition: transform 0.2s ease;
}

.srfcs-toggle__text {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}

.srfcs-toggle--sm .srfcs-toggle__switch {
  width: 2rem;
  height: 1.125rem;
}

.srfcs-toggle--sm .srfcs-toggle__slider {
  width: 0.875rem;
  height: 0.875rem;
}

.srfcs-toggle--sm .srfcs-toggle__input:checked + .srfcs-toggle__label .srfcs-toggle__slider {
  transform: translateX(0.875rem);
}

.srfcs-toggle--lg .srfcs-toggle__switch {
  width: 3.5rem;
  height: 2rem;
}

.srfcs-toggle--lg .srfcs-toggle__slider {
  width: 1.75rem;
  height: 1.75rem;
}

.srfcs-toggle--lg .srfcs-toggle__input:checked + .srfcs-toggle__label .srfcs-toggle__slider {
  transform: translateX(1.5rem);
}

.srfcs-slider {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
}

.srfcs-slider__label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}

.srfcs-slider__value {
  font-weight: var(--srfcs-font-normal);
  color: var(--srfcs-text-muted);
}

.srfcs-slider__track {
  width: 100%;
}

.srfcs-slider__input {
  width: 100%;
  height: 0.5rem;
  background: var(--srfcs-gray-200);
  border-radius: var(--srfcs-radius-full);
  appearance: none;
  cursor: pointer;
}
.srfcs-slider__input::-webkit-slider-thumb {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--srfcs-primary);
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
  box-shadow: var(--srfcs-shadow-sm);
  transition: transform 0.15s ease;
}
.srfcs-slider__input::-webkit-slider-thumb:hover {
  transform: scale(1.1);
}
.srfcs-slider__input::-moz-range-thumb {
  width: 1.25rem;
  height: 1.25rem;
  background: var(--srfcs-primary);
  border: none;
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
  box-shadow: var(--srfcs-shadow-sm);
}
.srfcs-slider__input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.srfcs-tag-input {
  position: relative;
  width: 100%;
}

.srfcs-tag-input--disabled {
  opacity: 0.6;
  pointer-events: none;
}

.srfcs-tag-input__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--srfcs-space-2);
  min-height: 2.5rem;
  padding: var(--srfcs-space-2);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  cursor: text;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-tag-input__container:focus-within {
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.srfcs-tag-input__selected {
  display: contents;
}

.srfcs-tag-input__field {
  flex: 1;
  min-width: 8rem;
  border: none;
  background: transparent;
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  outline: none;
}
.srfcs-tag-input__field::placeholder {
  color: var(--srfcs-text-muted);
}
.srfcs-tag-input__field:disabled {
  cursor: not-allowed;
}

.srfcs-tag-input__dropdown {
  position: absolute;
  z-index: 50;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 15rem;
  overflow-y: auto;
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  margin-top: var(--srfcs-space-1);
}

.srfcs-tag-input__suggestions {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srfcs-tag-input__suggestion {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.srfcs-tag-input__suggestion:hover, .srfcs-tag-input__suggestion[aria-selected=true] {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-tag-input__suggestion--highlighted {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-tag-input__suggestion-color {
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--srfcs-radius-full);
}

.srfcs-tag-input__suggestion-name {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}

.srfcs-tag-input__create {
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-tag-input__create-btn {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  background: transparent;
  border: none;
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-primary);
  cursor: pointer;
  transition: background-color 0.15s ease;
  text-align: left;
}
.srfcs-tag-input__create-btn:hover {
  background-color: var(--srfcs-bg-hover);
}
.srfcs-tag-input__create-btn svg {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}

.srfcs-tag-input__create-btn--highlighted {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-tag-input__empty {
  padding: var(--srfcs-space-3);
  text-align: center;
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  background-color: var(--srfcs-bg-muted);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  line-height: 1;
}

.srfcs-tag-chip--small {
  padding: 0.125rem var(--srfcs-space-1);
  font-size: var(--srfcs-text-xs);
}

.srfcs-tag-chip__color {
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--srfcs-radius-full);
}

.srfcs-tag-chip--small .srfcs-tag-chip__color {
  width: 0.375rem;
  height: 0.375rem;
}

.srfcs-tag-chip__name {
  white-space: nowrap;
}

.srfcs-tag-chip__remove {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  padding: 0;
  margin-left: var(--srfcs-space-1);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-sm);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.srfcs-tag-chip__remove:hover {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--srfcs-danger);
}
.srfcs-tag-chip__remove svg {
  width: 0.75rem;
  height: 0.75rem;
}

.srfcs-tag-chip--small .srfcs-tag-chip__remove {
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 0.125rem;
}
.srfcs-tag-chip--small .srfcs-tag-chip__remove svg {
  width: 0.625rem;
  height: 0.625rem;
}

[phx-feedback-for] > div:has(> [data-live-select]) {
  position: relative;
}

[data-live-select] input[type=text] {
  width: 100%;
}

[data-live-select] [role=listbox] {
  position: absolute;
  z-index: 50;
  width: 100%;
  max-height: 15rem;
  overflow-y: auto;
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  margin-top: var(--srfcs-space-1);
}

[data-live-select] [role=option] {
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
[data-live-select] [role=option]:hover, [data-live-select] [role=option][aria-selected=true] {
  background-color: var(--srfcs-bg-hover);
}

[data-live-select] .live-select-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2);
  min-height: 2.5rem;
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}

[data-live-select] .live-select-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  background-color: var(--srfcs-primary);
  color: var(--srfcs-on-primary);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-sm);
}

[data-live-select] .live-select-tag button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  padding: 0;
  opacity: 0.7;
}
[data-live-select] .live-select-tag button:hover {
  opacity: 1;
}

.srfcs-container {
  width: 100%;
  max-width: var(--srfcs-container-max-width, 80rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--srfcs-space-4);
  padding-right: var(--srfcs-space-4);
}
@media (min-width: 640px) {
  .srfcs-container {
    padding-left: var(--srfcs-space-6);
    padding-right: var(--srfcs-space-6);
  }
}
@media (min-width: 1024px) {
  .srfcs-container {
    padding-left: var(--srfcs-space-8);
    padding-right: var(--srfcs-space-8);
  }
}

.srfcs-container--narrow,
.srfcs-container--sm {
  max-width: 48rem;
}

.srfcs-container--wide {
  max-width: 96rem;
}

.srfcs-container--full {
  max-width: none;
}

.srfcs-card {
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  overflow: hidden;
}

.srfcs-card--elevated {
  box-shadow: var(--srfcs-shadow-md);
  border: none;
}

.srfcs-card--outlined {
  border: 2px solid var(--srfcs-border);
}

.srfcs-card--padding-none .srfcs-card__body,
.srfcs-card--padding-none .srfcs-card__header,
.srfcs-card--padding-none .srfcs-card__footer {
  padding: 0;
}

.srfcs-card--padding-sm .srfcs-card__body {
  padding: var(--srfcs-space-2);
}

.srfcs-card--padding-lg .srfcs-card__body {
  padding: var(--srfcs-space-6);
}

.srfcs-card--interactive {
  cursor: pointer;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.srfcs-card--interactive:hover {
  box-shadow: var(--srfcs-shadow-lg);
  transform: translateY(-2px);
}

.srfcs-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-card__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-card__subtitle {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  margin: 0;
}

.srfcs-card__body {
  padding: var(--srfcs-space-4);
}

.srfcs-card__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
  background-color: var(--srfcs-bg-subtle);
}

.srfcs-page-header {
  padding-bottom: var(--srfcs-space-4);
}

.srfcs-page-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--srfcs-space-6);
}

.srfcs-page-header__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  line-height: 2rem;
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-page-header__actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-page-header__divider {
  border: none;
  border-top: 1px solid var(--srfcs-border);
  margin: var(--srfcs-space-2) 0;
}

.srfcs-page-header__description {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  margin: 0;
  line-height: 1.5;
}

.srfcs-page-header--compact {
  padding-bottom: var(--srfcs-space-2);
}
.srfcs-page-header--compact .srfcs-page-header__title {
  font-size: var(--srfcs-text-base);
}
.srfcs-page-header--compact .srfcs-page-header__divider {
  margin: var(--srfcs-space-1) 0;
}
.srfcs-page-header--compact .srfcs-page-header__description {
  font-size: var(--srfcs-text-xs);
}

.srfcs-page-header--lg .srfcs-page-header__title {
  font-size: var(--srfcs-text-xl);
}

.srfcs-section {
  padding-top: var(--srfcs-space-8);
  padding-bottom: var(--srfcs-space-8);
}

.srfcs-section--lg {
  padding-top: var(--srfcs-space-16);
  padding-bottom: var(--srfcs-space-16);
}

.srfcs-section__header {
  margin-bottom: var(--srfcs-space-6);
}

.srfcs-section__title {
  font-size: var(--srfcs-text-2xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-2) 0;
}

.srfcs-section__description {
  font-size: var(--srfcs-text-base);
  color: var(--srfcs-text-muted);
  margin: 0;
}

.srfcs-app-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.srfcs-app-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--srfcs-app-header-height, 3.5rem);
  padding: 0 var(--srfcs-space-4);
  background-color: var(--srfcs-bg-elevated);
  border-bottom: 1px solid var(--srfcs-border);
  flex-shrink: 0;
}

.srfcs-app-header__brand {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  text-decoration: none;
}

.srfcs-app-header__brand-icon {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--srfcs-primary);
  flex-shrink: 0;
}

.srfcs-app-header__brand-text {
  font-weight: var(--srfcs-font-semibold);
  font-size: var(--srfcs-text-lg);
  color: var(--srfcs-text);
}

.srfcs-app-header__actions {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-app-body {
  display: flex;
  flex: 1;
  min-height: 0;
}

.srfcs-app-sidebar {
  width: var(--srfcs-sidebar-width, 16rem);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--srfcs-bg-elevated);
  border-right: 1px solid var(--srfcs-border);
  overflow-y: auto;
}

.srfcs-app-main {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
  padding: var(--srfcs-space-6);
}

.srfcs-sidebar-layout {
  display: flex;
  min-height: 100vh;
}

.srfcs-sidebar {
  width: var(--srfcs-sidebar-width, 16rem);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--srfcs-bg-elevated);
  border-right: 1px solid var(--srfcs-border);
  overflow-y: auto;
}

.srfcs-sidebar--collapsed {
  width: var(--srfcs-sidebar-collapsed-width, 4rem);
}

.srfcs-sidebar__header {
  display: flex;
  align-items: center;
  padding: var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-sidebar__content {
  padding: var(--srfcs-space-4);
}

.srfcs-sidebar__content--flush {
  padding: 0;
  flex: 1;
}

.srfcs-sidebar__footer {
  padding: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
  margin-top: auto;
}

.srfcs-sidebar__footer--flush {
  padding: 0;
}

.srfcs-sidebar__brand {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  text-decoration: none;
}

.srfcs-sidebar__brand-icon {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--srfcs-primary);
  flex-shrink: 0;
}

.srfcs-sidebar__brand-text {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}

.srfcs-main-content {
  flex: 1;
  min-width: 0;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  background-color: var(--srfcs-bg-subtle);
}

.srfcs-main-content__inner {
  flex: 1;
  padding: var(--srfcs-space-6);
}

.srfcs-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.srfcs-page__header {
  flex-shrink: 0;
}

.srfcs-page__body {
  flex: 1;
  padding: var(--srfcs-space-6);
}

.srfcs-page__footer {
  flex-shrink: 0;
}

.srfcs-stack {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-4);
}

.srfcs-stack--sm {
  gap: var(--srfcs-space-2);
}

.srfcs-stack--md {
  gap: var(--srfcs-space-4);
}

.srfcs-stack--lg {
  gap: var(--srfcs-space-6);
}

.srfcs-stack--xl {
  gap: var(--srfcs-space-8);
}

.srfcs-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-4);
  align-items: center;
}

.srfcs-cluster--sm {
  gap: var(--srfcs-space-2);
}

.srfcs-cluster--md {
  gap: var(--srfcs-space-4);
}

.srfcs-cluster--lg {
  gap: var(--srfcs-space-6);
}

.srfcs-split {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--srfcs-space-4);
}

.srfcs-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.srfcs-center--text {
  text-align: center;
}

.srfcs-hr {
  height: 1px;
  background-color: var(--srfcs-border);
  border: none;
  margin: var(--srfcs-space-4) 0;
}

.srfcs-hr--lg {
  margin: var(--srfcs-space-8) 0;
}

.srfcs-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-12);
  text-align: center;
}

.srfcs-empty-state__icon {
  width: 4rem;
  height: 4rem;
  color: var(--srfcs-text-muted);
  margin-bottom: var(--srfcs-space-4);
}

.srfcs-empty-state__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-2) 0;
}

.srfcs-empty-state__description {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  margin: 0 0 var(--srfcs-space-4) 0;
  max-width: 24rem;
}

.srfcs-collapsible {
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  overflow: hidden;
}

.srfcs-collapsible__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-bg);
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.15s ease;
}
.srfcs-collapsible__trigger:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-collapsible__title {
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}

.srfcs-collapsible__icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--srfcs-text-muted);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.srfcs-collapsible.is-open .srfcs-collapsible__icon {
  transform: rotate(180deg);
}

.srfcs-collapsible__content {
  display: none;
  padding: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
  background-color: var(--srfcs-bg);
}
.srfcs-collapsible.is-open .srfcs-collapsible__content {
  display: block;
}

.srfcs-collapsible--animated .srfcs-collapsible__content {
  display: block;
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-top: none;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
.srfcs-collapsible.is-open .srfcs-collapsible--animated .srfcs-collapsible__content {
  max-height: 50rem;
  padding-top: var(--srfcs-space-4);
  padding-bottom: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-accordion {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  overflow: hidden;
}

.srfcs-accordion__item {
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-accordion__item:last-child {
  border-bottom: none;
}

.srfcs-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-bg);
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.15s ease;
}
.srfcs-accordion__trigger:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-accordion__title {
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}

.srfcs-accordion__icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--srfcs-text-muted);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.srfcs-accordion__item.is-open .srfcs-accordion__icon {
  transform: rotate(180deg);
}

.srfcs-accordion__content {
  display: none;
  padding: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
  background-color: var(--srfcs-bg-subtle);
}
.srfcs-accordion__item.is-open .srfcs-accordion__content {
  display: block;
}

.srfcs-expandable {
  position: relative;
}

.srfcs-expandable__preview {
  position: relative;
  max-height: 6rem;
  overflow: hidden;
}
.srfcs-expandable.is-expanded .srfcs-expandable__preview {
  max-height: none;
}
.srfcs-expandable__preview::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3rem;
  background: linear-gradient(to bottom, transparent, var(--srfcs-bg));
}
.srfcs-expandable.is-expanded .srfcs-expandable__preview::after {
  display: none;
}

.srfcs-expandable__toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  margin-top: var(--srfcs-space-2);
  padding: 0;
  background: transparent;
  border: none;
  color: var(--srfcs-primary);
  font-size: var(--srfcs-text-sm);
  cursor: pointer;
}
.srfcs-expandable__toggle:hover {
  text-decoration: underline;
}

.srfcs-grid {
  display: grid;
  gap: var(--srfcs-space-4);
}

.srfcs-grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.srfcs-grid--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.srfcs-grid--cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.srfcs-grid--responsive {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.srfcs-grid--gap-sm {
  gap: var(--srfcs-space-2);
}

.srfcs-grid--gap-md {
  gap: var(--srfcs-space-4);
}

.srfcs-grid--gap-lg {
  gap: var(--srfcs-space-6);
}

.srfcs-grid--gap-xl {
  gap: var(--srfcs-space-8);
}

.srfcs-aspect {
  position: relative;
  width: 100%;
}

.srfcs-aspect--1x1 {
  aspect-ratio: 1/1;
}

.srfcs-aspect--16x9 {
  aspect-ratio: 16/9;
}

.srfcs-aspect--4x3 {
  aspect-ratio: 4/3;
}

.srfcs-aspect--3x2 {
  aspect-ratio: 3/2;
}

.srfcs-aspect--21x9 {
  aspect-ratio: 21/9;
}

.srfcs-aspect__content {
  position: absolute;
  inset: 0;
}

.srfcs-divider {
  border: none;
  background-color: var(--srfcs-border);
  margin: var(--srfcs-space-4) 0;
}

.srfcs-divider:not(.srfcs-divider--vertical) {
  height: 1px;
  width: 100%;
}

.srfcs-divider--vertical {
  width: 1px;
  height: 100%;
  display: inline-block;
  margin: 0 var(--srfcs-space-4);
}

.srfcs-divider--dashed {
  border: 1px dashed var(--srfcs-border);
  background: none;
}

.srfcs-divider--dotted {
  border: 1px dotted var(--srfcs-border);
  background: none;
}

.srfcs-divider--sm {
  margin: var(--srfcs-space-2) 0;
}

.srfcs-divider--lg {
  margin: var(--srfcs-space-8) 0;
}

.srfcs-expandable__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-expandable__header:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}

.srfcs-expandable__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
}

.srfcs-expandable__count {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  background-color: var(--srfcs-bg-muted);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  border-radius: var(--srfcs-radius-full);
}

.srfcs-expandable__content {
  padding-left: var(--srfcs-space-4);
}

.srfcs-expandable--expanded .srfcs-expandable__header {
  color: var(--srfcs-text);
}

.srfcs-expandable--active .srfcs-expandable__header {
  color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.srfcs-expandable--level-1 {
  padding-left: var(--srfcs-space-4);
}

.srfcs-expandable--level-2 {
  padding-left: var(--srfcs-space-8);
}

.srfcs-expandable--level-3 {
  padding-left: var(--srfcs-space-12);
}

.srfcs-collapsible__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-2);
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--srfcs-text-muted);
  transition: color 0.15s ease;
}
.srfcs-collapsible__toggle:hover {
  color: var(--srfcs-text);
}

.srfcs-collapsible__toggle--end {
  order: 1;
}

.srfcs-collapsible__arrow {
  font-size: var(--srfcs-text-lg);
}

.srfcs-collapsible--collapsed .srfcs-collapsible__content {
  display: none;
}

.srfcs-collapsible__content--collapsed {
  display: none;
}

.srfcs-collapsible--vertical {
  flex-direction: column;
}

.srfcs-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-lg);
  border: 1px solid transparent;
}

.srfcs-alert--info {
  background-color: var(--srfcs-info-light, rgba(59, 130, 246, 0.1));
  border-color: var(--srfcs-info);
  color: var(--srfcs-info);
}

.srfcs-alert--success {
  background-color: var(--srfcs-success-light, rgba(34, 197, 94, 0.1));
  border-color: var(--srfcs-success);
  color: var(--srfcs-success);
}

.srfcs-alert--warning {
  background-color: var(--srfcs-warning-light, rgba(234, 179, 8, 0.1));
  border-color: var(--srfcs-warning);
  color: var(--srfcs-warning);
}

.srfcs-alert--error {
  background-color: var(--srfcs-danger-light, rgba(239, 68, 68, 0.1));
  border-color: var(--srfcs-danger);
  color: var(--srfcs-danger);
}

.srfcs-alert__content {
  display: flex;
  align-items: flex-start;
  gap: var(--srfcs-space-3);
  flex: 1;
}

.srfcs-alert__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-alert__body {
  flex: 1;
  min-width: 0;
}

.srfcs-alert__title {
  font-weight: var(--srfcs-font-semibold);
  margin-bottom: var(--srfcs-space-1);
}

.srfcs-alert__message {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}

.srfcs-alert__close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  border: none;
  color: currentColor;
  opacity: 0.7;
  cursor: pointer;
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-alert__close:hover {
  opacity: 1;
}

.srfcs-alert__close-icon {
  width: 1rem;
  height: 1rem;
}

.srfcs-stat-card {
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-stat-card__content {
  display: flex;
  align-items: flex-start;
  gap: var(--srfcs-space-3);
}

.srfcs-stat-card__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--srfcs-primary-light);
  color: var(--srfcs-primary);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-stat-card__icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.srfcs-stat-card__body {
  flex: 1;
  min-width: 0;
}

.srfcs-stat-card__label {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  margin-bottom: var(--srfcs-space-1);
}

.srfcs-stat-card__value {
  font-size: var(--srfcs-text-2xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
}

.srfcs-stat-card__change {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  font-size: var(--srfcs-text-sm);
  margin-top: var(--srfcs-space-1);
}

.srfcs-stat-card__change--up {
  color: var(--srfcs-success);
}

.srfcs-stat-card__change--down {
  color: var(--srfcs-danger);
}

.srfcs-stat-card__trend-icon {
  font-size: var(--srfcs-text-xs);
}

.srfcs-stat-card--compact {
  padding: var(--srfcs-space-3);
}
.srfcs-stat-card--compact .srfcs-stat-card__value {
  font-size: var(--srfcs-text-xl);
}

.srfcs-stat-card--detailed {
  padding: var(--srfcs-space-6);
}

.srfcs-link {
  color: var(--srfcs-primary);
  text-decoration: none;
  transition: color 0.15s ease;
}
.srfcs-link:hover {
  color: var(--srfcs-primary-hover);
  text-decoration: underline;
}
.srfcs-link:focus {
  outline: 2px solid var(--srfcs-primary);
  outline-offset: 2px;
}

.srfcs-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.srfcs-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--srfcs-radius-full);
  background-color: var(--srfcs-primary);
  color: var(--srfcs-on-primary);
  font-weight: var(--srfcs-font-semibold);
  overflow: hidden;
  flex-shrink: 0;
}
.srfcs-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srfcs-avatar--xs {
  width: 1.5rem;
  height: 1.5rem;
  font-size: var(--srfcs-text-xs);
}

.srfcs-avatar--sm {
  width: 2rem;
  height: 2rem;
  font-size: var(--srfcs-text-xs);
}

.srfcs-avatar--md {
  width: 2.5rem;
  height: 2.5rem;
  font-size: var(--srfcs-text-sm);
}

.srfcs-avatar--lg {
  width: 3rem;
  height: 3rem;
  font-size: var(--srfcs-text-base);
}

.srfcs-avatar--xl {
  width: 4rem;
  height: 4rem;
  font-size: var(--srfcs-text-lg);
}

.srfcs-avatar--2xl {
  width: 5rem;
  height: 5rem;
  font-size: var(--srfcs-text-xl);
}

.srfcs-avatar--secondary {
  background-color: var(--srfcs-secondary);
}

.srfcs-avatar--success {
  background-color: var(--srfcs-success);
}

.srfcs-avatar--warning {
  background-color: var(--srfcs-warning);
  color: var(--srfcs-on-warning);
}

.srfcs-avatar--danger {
  background-color: var(--srfcs-danger);
}

.srfcs-avatar--gray {
  background-color: var(--srfcs-gray-400);
}

.srfcs-avatar-status {
  position: relative;
  display: inline-block;
}

.srfcs-avatar-status__indicator {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--srfcs-radius-full);
  border: 2px solid var(--srfcs-bg);
  background-color: var(--srfcs-gray-400);
}

.srfcs-avatar-status__indicator--online {
  background-color: var(--srfcs-success);
}

.srfcs-avatar-status__indicator--away {
  background-color: var(--srfcs-warning);
}

.srfcs-avatar-status__indicator--busy {
  background-color: var(--srfcs-danger);
}

.srfcs-avatar-status__indicator--offline {
  background-color: var(--srfcs-gray-400);
}

.srfcs-avatar-group {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.srfcs-avatar-group .srfcs-avatar {
  margin-left: -0.5rem;
  border: 2px solid var(--srfcs-bg);
}
.srfcs-avatar-group .srfcs-avatar:last-child {
  margin-left: 0;
}

.srfcs-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  line-height: 1;
  border-radius: var(--srfcs-radius-full);
  white-space: nowrap;
}

.srfcs-badge--primary {
  background-color: var(--srfcs-primary);
  color: var(--srfcs-on-primary);
}

.srfcs-badge--secondary {
  background-color: var(--srfcs-gray-200);
  color: var(--srfcs-gray-700);
}

.srfcs-badge--success {
  background-color: rgba(16, 185, 129, 0.15);
  color: var(--srfcs-success);
}

.srfcs-badge--warning {
  background-color: rgba(245, 158, 11, 0.15);
  color: var(--srfcs-warning);
}

.srfcs-badge--danger {
  background-color: rgba(239, 68, 68, 0.15);
  color: var(--srfcs-danger);
}

.srfcs-badge--info {
  background-color: rgba(59, 130, 246, 0.15);
  color: var(--srfcs-info);
}

.srfcs-badge--dot {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border-radius: var(--srfcs-radius-full);
}

.srfcs-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  background-color: var(--srfcs-bg-muted);
  color: var(--srfcs-text);
  border-radius: var(--srfcs-radius-md);
}

.srfcs-tag__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--srfcs-text-muted);
  cursor: pointer;
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-tag__remove:hover {
  color: var(--srfcs-danger);
  background-color: rgba(239, 68, 68, 0.1);
}
.srfcs-tag__remove svg {
  width: 0.75rem;
  height: 0.75rem;
}

.srfcs-tag--primary {
  background-color: var(--srfcs-primary-light);
  color: var(--srfcs-primary);
}

.srfcs-tag--success {
  background-color: rgba(16, 185, 129, 0.15);
  color: var(--srfcs-success);
}

.srfcs-tag--warning {
  background-color: rgba(245, 158, 11, 0.15);
  color: var(--srfcs-warning);
}

.srfcs-tag--danger {
  background-color: rgba(239, 68, 68, 0.15);
  color: var(--srfcs-danger);
}

.srfcs-heading {
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-heading--1 {
  font-size: var(--srfcs-text-4xl);
  line-height: 1.1;
}

.srfcs-heading--2 {
  font-size: var(--srfcs-text-3xl);
  line-height: 1.2;
}

.srfcs-heading--3 {
  font-size: var(--srfcs-text-2xl);
  line-height: 1.25;
}

.srfcs-heading--4 {
  font-size: var(--srfcs-text-xl);
  line-height: 1.3;
}

.srfcs-heading--5 {
  font-size: var(--srfcs-text-lg);
  line-height: 1.4;
}

.srfcs-heading--6 {
  font-size: var(--srfcs-text-base);
  line-height: 1.5;
}

.srfcs-title {
  display: block;
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  line-height: 1.25;
}

.srfcs-title--sm {
  font-size: var(--srfcs-text-lg);
}

.srfcs-title--lg {
  font-size: var(--srfcs-text-2xl);
}

.srfcs-title--xl {
  font-size: var(--srfcs-text-3xl);
}

.srfcs-title--primary {
  color: var(--srfcs-primary);
}

.srfcs-title--muted {
  color: var(--srfcs-text-muted);
}

.srfcs-title--danger {
  color: var(--srfcs-danger);
}

.srfcs-title--success {
  color: var(--srfcs-success);
}

.srfcs-subtitle {
  display: block;
  font-size: var(--srfcs-text-base);
  color: var(--srfcs-text-muted);
  line-height: 1.5;
}

.srfcs-subtitle--sm {
  font-size: var(--srfcs-text-sm);
}

.srfcs-subtitle--lg {
  font-size: var(--srfcs-text-lg);
}

.srfcs-subtitle--muted {
  color: var(--srfcs-text-muted);
}

.srfcs-subtitle--primary {
  color: var(--srfcs-primary);
}

.srfcs-subtitle--danger {
  color: var(--srfcs-danger);
}

.srfcs-subtitle--success {
  color: var(--srfcs-success);
}

.srfcs-text {
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-text--heading {
  font-weight: var(--srfcs-font-bold);
  font-size: var(--srfcs-text-xl);
}

.srfcs-text--subtitle {
  color: var(--srfcs-text-muted);
}

.srfcs-text--caption {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
}

.srfcs-text--code {
  font-family: var(--srfcs-font-mono);
  background-color: var(--srfcs-bg-muted);
  padding: 0.125rem 0.25rem;
  border-radius: var(--srfcs-radius-sm);
}

.srfcs-text--muted {
  color: var(--srfcs-text-muted);
}

.srfcs-text--sm {
  font-size: var(--srfcs-text-sm);
}

.srfcs-text--xs {
  font-size: var(--srfcs-text-xs);
}

.srfcs-text--lg {
  font-size: var(--srfcs-text-lg);
}

.srfcs-text--primary {
  color: var(--srfcs-primary);
}

.srfcs-text--success {
  color: var(--srfcs-success);
}

.srfcs-text--warning {
  color: var(--srfcs-warning);
}

.srfcs-text--danger {
  color: var(--srfcs-danger);
}

.srfcs-text--info {
  color: var(--srfcs-info);
}

.srfcs-footnote {
  display: block;
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  line-height: 1.4;
}

.srfcs-footnote--tiny {
  font-size: 0.625rem;
}

.srfcs-footnote--muted {
  color: var(--srfcs-text-muted);
}

.srfcs-footnote--primary {
  color: var(--srfcs-primary);
}

.srfcs-footnote--danger {
  color: var(--srfcs-danger);
}

.srfcs-footnote--success {
  color: var(--srfcs-success);
}

.srfcs-italic {
  font-style: italic;
}

.srfcs-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srfcs-line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.srfcs-line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.srfcs-code {
  font-family: var(--srfcs-font-mono);
  font-size: 0.875em;
  padding: 0.125rem 0.25rem;
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-sm);
}

.srfcs-pre {
  font-family: var(--srfcs-font-mono);
  font-size: var(--srfcs-text-sm);
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-gray-900);
  color: var(--srfcs-gray-100);
  border-radius: var(--srfcs-radius-lg);
  overflow-x: auto;
}

.srfcs-kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: 0.125rem 0.375rem;
  font-family: var(--srfcs-font-mono);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  background-color: var(--srfcs-bg-muted);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  box-shadow: 0 1px 0 var(--srfcs-border-dark);
}

.srfcs-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  color: currentColor;
}
.srfcs-icon svg {
  width: 100%;
  height: 100%;
}

.srfcs-icon--xs {
  width: 0.75rem;
  height: 0.75rem;
}

.srfcs-icon--sm {
  width: 1rem;
  height: 1rem;
}

.srfcs-icon--md {
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-icon--lg {
  width: 1.5rem;
  height: 1.5rem;
}

.srfcs-icon--xl {
  width: 2rem;
  height: 2rem;
}

.srfcs-icon--2xl {
  width: 2.5rem;
  height: 2.5rem;
}

.srfcs-icon--3xl {
  width: 3rem;
  height: 3rem;
}

.srfcs-icon--muted {
  color: var(--srfcs-text-muted);
}

.srfcs-icon--primary {
  color: var(--srfcs-primary);
}

.srfcs-icon--success {
  color: var(--srfcs-success);
}

.srfcs-icon--warning {
  color: var(--srfcs-warning);
}

.srfcs-icon--danger {
  color: var(--srfcs-danger);
}

.srfcs-icon--info {
  color: var(--srfcs-info);
}

.srfcs-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-2);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-icon-btn:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-icon-btn:focus-visible {
  outline: 2px solid var(--srfcs-primary);
  outline-offset: 2px;
}
.srfcs-icon-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.srfcs-icon-btn--sm {
  padding: var(--srfcs-space-1);
}

.srfcs-icon-btn--lg {
  padding: var(--srfcs-space-3);
}

.srfcs-icon-btn--primary {
  color: var(--srfcs-primary);
}
.srfcs-icon-btn--primary:hover {
  background-color: rgba(37, 99, 235, 0.1);
}

.srfcs-icon-btn--danger:hover {
  color: var(--srfcs-danger);
  background-color: rgba(239, 68, 68, 0.1);
}

.srfcs-img {
  display: block;
  max-width: 100%;
  height: auto;
}

.srfcs-img--rounded {
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-img--circle {
  border-radius: var(--srfcs-radius-full);
}

.srfcs-img--cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.srfcs-img--contain {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.srfcs-img-container {
  position: relative;
  overflow: hidden;
}
.srfcs-img-container img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srfcs-img-container--1x1 {
  aspect-ratio: 1/1;
}

.srfcs-img-container--16x9 {
  aspect-ratio: 16/9;
}

.srfcs-img-container--4x3 {
  aspect-ratio: 4/3;
}

.srfcs-img-container--3x2 {
  aspect-ratio: 3/2;
}

.srfcs-figure {
  margin: 0;
}

.srfcs-figure__img {
  display: block;
  width: 100%;
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-figure__caption {
  margin-top: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  text-align: center;
}

.srfcs-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: var(--srfcs-space-4);
}

.srfcs-gallery--compact {
  gap: var(--srfcs-space-2);
}

.srfcs-gallery__item {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}
.srfcs-gallery__item:hover img {
  transform: scale(1.05);
}

.srfcs-gallery__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.srfcs-gallery__item:hover .srfcs-gallery__overlay {
  opacity: 1;
}

.srfcs-theme-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: var(--srfcs-space-1);
  background-color: var(--srfcs-bg-muted);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-full);
}

.srfcs-theme-toggle__indicator {
  position: absolute;
  width: 33.3333333333%;
  height: calc(100% - var(--srfcs-space-1));
  border-radius: var(--srfcs-radius-full);
  background-color: var(--srfcs-bg);
  box-shadow: var(--srfcs-shadow-sm);
  transition: left 0.2s ease;
  left: var(--srfcs-space-1);
}
[data-theme=light] .srfcs-theme-toggle__indicator {
  left: 33.3333333333%;
}
[data-theme=dark] .srfcs-theme-toggle__indicator {
  left: calc(66.6666666667% - var(--srfcs-space-1));
}

.srfcs-theme-toggle__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-full);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: color 0.15s ease;
  z-index: 1;
}
.srfcs-theme-toggle__btn:hover {
  color: var(--srfcs-text);
}
.srfcs-theme-toggle__btn .srfcs-icon {
  width: 1rem;
  height: 1rem;
}

.srfcs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--srfcs-text-sm);
}

.srfcs-table th,
.srfcs-table td {
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  text-align: left;
  vertical-align: middle;
}

.srfcs-table th {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text-muted);
  background-color: var(--srfcs-bg-subtle);
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-table td {
  color: var(--srfcs-text);
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-table tbody tr:last-child td {
  border-bottom: none;
}

.srfcs-table--hover tbody tr:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-table--striped tbody tr:nth-child(even) {
  background-color: var(--srfcs-bg-subtle);
}

.srfcs-table--bordered {
  border: 1px solid var(--srfcs-border);
}
.srfcs-table--bordered th, .srfcs-table--bordered td {
  border: 1px solid var(--srfcs-border);
}

.srfcs-table--compact th, .srfcs-table--compact td {
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
}

.srfcs-table--fixed {
  table-layout: fixed;
}

.srfcs-table--clickable tbody tr {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.srfcs-table tr.srfcs-table__row--selected {
  background-color: rgba(37, 99, 235, 0.08);
}

.srfcs-table-container {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}
.srfcs-table-container .srfcs-table {
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-table__sortable {
  cursor: pointer;
  user-select: none;
}
.srfcs-table__sortable:hover {
  color: var(--srfcs-text);
}

.srfcs-table__sort-icon {
  display: inline-flex;
  margin-left: var(--srfcs-space-1);
  opacity: 0.5;
}
.srfcs-table__sort-icon--active {
  opacity: 1;
  color: var(--srfcs-primary);
}

.srfcs-table__actions {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-table__action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-table__action-btn:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-table__action-btn--danger:hover {
  color: var(--srfcs-danger);
  background-color: rgba(239, 68, 68, 0.1);
}
.srfcs-table__action-btn svg {
  width: 1rem;
  height: 1rem;
}

.srfcs-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srfcs-list__item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-list__item:last-child {
  border-bottom: none;
}

.srfcs-list--hover .srfcs-list__item:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-list--divided .srfcs-list__item {
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-list__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--srfcs-text-muted);
}

.srfcs-list__content {
  flex: 1;
  min-width: 0;
}

.srfcs-list__title {
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}

.srfcs-list__subtitle {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-list__trailing {
  flex-shrink: 0;
  color: var(--srfcs-text-muted);
  font-size: var(--srfcs-text-sm);
}

.srfcs-dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--srfcs-space-2) var(--srfcs-space-4);
}

.srfcs-dl dt {
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
}

.srfcs-dl dd {
  margin: 0;
  color: var(--srfcs-text);
}

.srfcs-dl--stacked {
  display: block;
}
.srfcs-dl--stacked dt {
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-dl--stacked dd {
  margin-bottom: var(--srfcs-space-4);
}
.srfcs-dl--stacked dd:last-child {
  margin-bottom: 0;
}

.srfcs-pagination {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
}

.srfcs-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  background: transparent;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
.srfcs-pagination__btn:hover:not(:disabled) {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-pagination__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.srfcs-pagination__btn svg {
  width: 1rem;
  height: 1rem;
}

.srfcs-pagination__btn--active {
  color: var(--srfcs-on-primary);
  background-color: var(--srfcs-primary);
  border-color: var(--srfcs-primary);
}
.srfcs-pagination__btn--active:hover:not(:disabled) {
  background-color: var(--srfcs-primary-hover);
  border-color: var(--srfcs-primary-hover);
}

.srfcs-pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  color: var(--srfcs-text-muted);
}

.srfcs-pagination__info {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-spinner {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--srfcs-border);
  border-top-color: var(--srfcs-primary);
  border-radius: var(--srfcs-radius-full);
  animation: srfcs-spin 0.6s linear infinite;
}

.srfcs-spinner--sm {
  width: 1rem;
  height: 1rem;
  border-width: 1.5px;
}

.srfcs-spinner--lg {
  width: 2rem;
  height: 2rem;
  border-width: 3px;
}

.srfcs-spinner--xl {
  width: 3rem;
  height: 3rem;
  border-width: 4px;
}

.srfcs-spinner--white {
  border-color: rgba(255, 255, 255, 0.3);
  border-top-color: white;
}

.srfcs-spinner--success {
  border-top-color: var(--srfcs-success);
}

.srfcs-spinner--danger {
  border-top-color: var(--srfcs-danger);
}

@keyframes srfcs-spin {
  to {
    transform: rotate(360deg);
  }
}
.srfcs-spinner--primary {
  border-top-color: var(--srfcs-primary);
}

.srfcs-spinner--secondary {
  border-top-color: var(--srfcs-text-muted);
}

.srfcs-spinner__svg {
  width: 100%;
  height: 100%;
  animation: srfcs-spin 1s linear infinite;
}

.srfcs-spinner__circle {
  stroke: var(--srfcs-primary);
  stroke-linecap: round;
  animation: srfcs-spinner-dash 1.5s ease-in-out infinite;
}

@keyframes srfcs-spinner-dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}
.srfcs-loading-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 10;
}
[data-theme=dark] .srfcs-loading-overlay {
  background-color: rgba(17, 24, 39, 0.8);
}

.srfcs-progress {
  width: 100%;
  height: 0.5rem;
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-full);
  overflow: hidden;
}

.srfcs-progress__bar {
  height: 100%;
  background-color: var(--srfcs-primary);
  border-radius: var(--srfcs-radius-full);
  transition: width 0.3s ease;
}

.srfcs-progress--sm {
  height: 0.25rem;
}

.srfcs-progress--lg {
  height: 0.75rem;
}

.srfcs-progress__bar--success,
.srfcs-progress--success .srfcs-progress__fill {
  background-color: var(--srfcs-success);
}

.srfcs-progress__bar--warning,
.srfcs-progress--warning .srfcs-progress__fill {
  background-color: var(--srfcs-warning);
}

.srfcs-progress__bar--danger,
.srfcs-progress--danger .srfcs-progress__fill {
  background-color: var(--srfcs-danger);
}

.srfcs-progress--info .srfcs-progress__fill {
  background-color: var(--srfcs-info);
}

.srfcs-progress__track {
  height: 100%;
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-full);
  overflow: hidden;
}

.srfcs-progress__fill {
  height: 100%;
  background-color: var(--srfcs-primary);
  border-radius: var(--srfcs-radius-full);
  transition: width 0.3s ease;
}

.srfcs-progress__label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-on-primary);
}

.srfcs-progress--striped .srfcs-progress__fill {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.srfcs-progress--animated .srfcs-progress__fill {
  animation: srfcs-progress-stripes 1s linear infinite;
}

@keyframes srfcs-progress-stripes {
  0% {
    background-position: 1rem 0;
  }
  100% {
    background-position: 0 0;
  }
}
.srfcs-progress--indeterminate .srfcs-progress__bar {
  width: 30%;
  animation: srfcs-progress-indeterminate 1.5s ease-in-out infinite;
}

@keyframes srfcs-progress-indeterminate {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(400%);
  }
}
.srfcs-skeleton {
  background: linear-gradient(90deg, var(--srfcs-bg-muted) 25%, var(--srfcs-bg-subtle) 50%, var(--srfcs-bg-muted) 75%);
  background-size: 200% 100%;
  animation: srfcs-skeleton-shimmer 1.5s ease-in-out infinite;
  border-radius: var(--srfcs-radius-md);
}

.srfcs-skeleton--text {
  height: 1rem;
  width: 100%;
}

.srfcs-skeleton--heading {
  height: 1.5rem;
  width: 60%;
}

.srfcs-skeleton--avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--srfcs-radius-full);
}

.srfcs-skeleton--button {
  height: 2.5rem;
  width: 6rem;
}

.srfcs-skeleton--image {
  height: 12rem;
  width: 100%;
}

.srfcs-skeleton--circular {
  border-radius: var(--srfcs-radius-full);
}

.srfcs-skeleton--animated {
  animation: srfcs-skeleton-shimmer 1.5s ease-in-out infinite;
}

@keyframes srfcs-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.srfcs-toast-container {
  position: fixed;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-4);
  pointer-events: none;
}

.srfcs-toast-container--top-right {
  top: 0;
  right: 0;
}

.srfcs-toast-container--top-left {
  top: 0;
  left: 0;
}

.srfcs-toast-container--bottom-right {
  bottom: 0;
  right: 0;
}

.srfcs-toast-container--bottom-left {
  bottom: 0;
  left: 0;
}

.srfcs-toast {
  display: flex;
  align-items: flex-start;
  gap: var(--srfcs-space-3);
  min-width: 20rem;
  max-width: 28rem;
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-bg-elevated);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  pointer-events: auto;
  animation: srfcs-toast-in 0.3s ease;
}

.srfcs-toast--success {
  border-left: 4px solid var(--srfcs-success);
}

.srfcs-toast--warning {
  border-left: 4px solid var(--srfcs-warning);
}

.srfcs-toast--danger {
  border-left: 4px solid var(--srfcs-danger);
}

.srfcs-toast--info {
  border-left: 4px solid var(--srfcs-info);
}

.srfcs-toast__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-toast__icon--success {
  color: var(--srfcs-success);
}

.srfcs-toast__icon--warning {
  color: var(--srfcs-warning);
}

.srfcs-toast__icon--danger {
  color: var(--srfcs-danger);
}

.srfcs-toast__icon--info {
  color: var(--srfcs-info);
}

.srfcs-toast__content {
  flex: 1;
  min-width: 0;
}

.srfcs-toast__title {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-1) 0;
}

.srfcs-toast__message {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  margin: 0;
}

.srfcs-toast__close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--srfcs-text-muted);
  cursor: pointer;
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-toast__close:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-toast__close svg {
  width: 1rem;
  height: 1rem;
}

@keyframes srfcs-toast-in {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.srfcs-loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-12);
  text-align: center;
}

.srfcs-loading-state__text {
  margin-top: var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-modal-backdrop,
.srfcs-modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-4);
  animation: srfcs-fade-in 0.2s ease;
}

.srfcs-modal--show {
  display: flex;
}

.srfcs-modal {
  position: relative;
  width: 100%;
  max-width: 32rem;
  max-height: calc(100vh - 2rem);
  background-color: var(--srfcs-bg);
  border-radius: var(--srfcs-radius-xl);
  box-shadow: var(--srfcs-shadow-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: srfcs-modal-in 0.3s ease;
}

.srfcs-modal--sm {
  max-width: 24rem;
}

.srfcs-modal--lg {
  max-width: 48rem;
}

.srfcs-modal--xl {
  max-width: 64rem;
}

.srfcs-modal--full,
.srfcs-modal--fullscreen {
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
}

.srfcs-modal__close-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-4) var(--srfcs-space-6);
  border-bottom: 1px solid var(--srfcs-border);
  flex-shrink: 0;
}

.srfcs-modal__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-modal__close, .srfcs-drawer__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--srfcs-text-muted);
  cursor: pointer;
  border-radius: var(--srfcs-radius-md);
}
.srfcs-modal__close:hover, .srfcs-drawer__close:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-modal__close svg, .srfcs-drawer__close svg {
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-modal__body {
  padding: var(--srfcs-space-6);
  overflow-y: auto;
  flex: 1;
}

.srfcs-modal__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-4) var(--srfcs-space-6);
  border-top: 1px solid var(--srfcs-border);
  background-color: var(--srfcs-bg-subtle);
  flex-shrink: 0;
}

@keyframes srfcs-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes srfcs-modal-in {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.srfcs-dropdown {
  position: relative;
  display: inline-block;
}

.srfcs-dropdown__trigger {
  cursor: pointer;
}

.srfcs-dropdown__menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50;
  min-width: 12rem;
  margin-top: var(--srfcs-space-1);
  padding: var(--srfcs-space-1);
  background-color: var(--srfcs-bg-elevated);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
}

.srfcs-dropdown__menu--right {
  left: auto;
  right: 0;
}

.srfcs-dropdown__menu--up {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--srfcs-space-1);
  transform: translateY(0.5rem);
}

.srfcs-dropdown.is-open .srfcs-dropdown__menu,
.srfcs-dropdown__menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.srfcs-dropdown__item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  text-align: left;
}
.srfcs-dropdown__item:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-dropdown__item--danger {
  color: var(--srfcs-danger);
}
.srfcs-dropdown__item--danger:hover {
  background-color: rgba(239, 68, 68, 0.1);
}

.srfcs-dropdown__item--disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.srfcs-dropdown__item--disabled:hover {
  background-color: transparent;
}

.srfcs-dropdown__icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--srfcs-text-muted);
}

.srfcs-dropdown__divider {
  height: 1px;
  margin: var(--srfcs-space-1) 0;
  background-color: var(--srfcs-border);
}

.srfcs-dropdown__header {
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.srfcs-tooltip {
  position: relative;
  display: inline-block;
}

.srfcs-tooltip__trigger {
  display: inline-block;
}

.srfcs-tooltip__content {
  position: absolute;
  z-index: 100;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-xs);
  color: white;
  background-color: var(--srfcs-gray-900);
  border-radius: var(--srfcs-radius-md);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0.15s ease;
  pointer-events: none;
}
.srfcs-tooltip__content::after {
  content: "";
  position: absolute;
  border: 5px solid transparent;
}

.srfcs-tooltip__content--top {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: var(--srfcs-space-2);
}
.srfcs-tooltip__content--top::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--srfcs-gray-900);
}

.srfcs-tooltip__content--bottom {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: var(--srfcs-space-2);
}
.srfcs-tooltip__content--bottom::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--srfcs-gray-900);
}

.srfcs-tooltip__content--left {
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-right: var(--srfcs-space-2);
}
.srfcs-tooltip__content--left::after {
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-left-color: var(--srfcs-gray-900);
}

.srfcs-tooltip__content--right {
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: var(--srfcs-space-2);
}
.srfcs-tooltip__content--right::after {
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-right-color: var(--srfcs-gray-900);
}

.srfcs-tooltip:hover .srfcs-tooltip__content,
.srfcs-tooltip:focus-within .srfcs-tooltip__content {
  opacity: 1;
  visibility: visible;
}

.srfcs-popover {
  position: relative;
  display: inline-block;
}

.srfcs-popover__content {
  position: absolute;
  z-index: 50;
  min-width: 16rem;
  padding: var(--srfcs-space-4);
  background-color: var(--srfcs-bg-elevated);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.srfcs-popover__content--top {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: var(--srfcs-space-2);
}

.srfcs-popover__content--bottom {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: var(--srfcs-space-2);
}

.srfcs-popover.is-open .srfcs-popover__content {
  opacity: 1;
  visibility: visible;
}

.srfcs-popover__header {
  font-weight: var(--srfcs-font-semibold);
  margin-bottom: var(--srfcs-space-2);
}

.srfcs-popover__body {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-drawer-backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 50;
  animation: srfcs-fade-in 0.2s ease;
}

.srfcs-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 51;
  width: 100%;
  max-width: 24rem;
  background-color: var(--srfcs-bg);
  box-shadow: var(--srfcs-shadow-xl);
  display: flex;
  flex-direction: column;
}

.srfcs-drawer--right {
  right: 0;
  animation: srfcs-drawer-right-in 0.3s ease;
}

.srfcs-drawer--left {
  left: 0;
  animation: srfcs-drawer-left-in 0.3s ease;
}

.srfcs-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
  flex-shrink: 0;
}

.srfcs-drawer__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  margin: 0;
}

.srfcs-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: var(--srfcs-space-4);
}

.srfcs-drawer__footer {
  padding: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
  flex-shrink: 0;
}

@keyframes srfcs-drawer-right-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes srfcs-drawer-left-in {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.srfcs-search {
  position: relative;
  display: flex;
  align-items: center;
}

.srfcs-search__input {
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  padding-left: 2.5rem;
  font-size: var(--srfcs-text-sm);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-search__input::placeholder {
  color: var(--srfcs-text-muted);
}
.srfcs-search__input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.srfcs-search__icon {
  position: absolute;
  left: var(--srfcs-space-3);
  width: 1rem;
  height: 1rem;
  color: var(--srfcs-text-muted);
  pointer-events: none;
}

.srfcs-search__clear {
  position: absolute;
  right: var(--srfcs-space-2);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-sm);
  color: var(--srfcs-text-muted);
  cursor: pointer;
}
.srfcs-search__clear:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-hover);
}
.srfcs-search__clear svg {
  width: 0.875rem;
  height: 0.875rem;
}

.srfcs-search--lg .srfcs-search__input {
  padding: var(--srfcs-space-3) var(--srfcs-space-5);
  padding-left: 3rem;
  font-size: var(--srfcs-text-base);
}

.srfcs-search--lg .srfcs-search__icon {
  left: var(--srfcs-space-4);
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-search-results {
  display: flex;
  flex-direction: column;
}

.srfcs-search-results__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-4) 0;
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-search-results__count {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-search-results__sort {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-search-results__list {
  display: flex;
  flex-direction: column;
}

.srfcs-search-result {
  display: flex;
  gap: var(--srfcs-space-4);
  padding: var(--srfcs-space-4) 0;
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-search-result:last-child {
  border-bottom: none;
}

.srfcs-search-result--clickable {
  cursor: pointer;
  transition: background-color 0.15s ease;
  padding: var(--srfcs-space-4);
  margin: 0 calc(-1 * var(--srfcs-space-4));
  border-radius: var(--srfcs-radius-md);
}
.srfcs-search-result--clickable:hover {
  background-color: var(--srfcs-bg-hover);
}

.srfcs-search-result__image {
  flex-shrink: 0;
  width: 5rem;
  height: 5rem;
  border-radius: var(--srfcs-radius-md);
  overflow: hidden;
  background-color: var(--srfcs-bg-muted);
}
.srfcs-search-result__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srfcs-search-result__content {
  flex: 1;
  min-width: 0;
}

.srfcs-search-result__title {
  font-size: var(--srfcs-text-base);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-1) 0;
}
.srfcs-search-result__title a {
  color: inherit;
  text-decoration: none;
}
.srfcs-search-result__title a:hover {
  color: var(--srfcs-primary);
}

.srfcs-search-result__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  margin-bottom: var(--srfcs-space-2);
}

.srfcs-search-result__meta-item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
}

.srfcs-search-result__snippet {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  line-height: 1.5;
  margin: 0;
}
.srfcs-search-result__snippet mark, .srfcs-search-result__snippet .highlight {
  background-color: rgba(245, 158, 11, 0.25);
  color: inherit;
  padding: 0 0.125rem;
  border-radius: 2px;
}

.srfcs-search-result__actions {
  display: flex;
  align-items: flex-start;
  gap: var(--srfcs-space-2);
  flex-shrink: 0;
}

.srfcs-search-result--compact {
  padding: var(--srfcs-space-2) 0;
  gap: var(--srfcs-space-3);
}

.srfcs-search-result--compact .srfcs-search-result__image {
  width: 3rem;
  height: 3rem;
}

.srfcs-facets {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-6);
}

.srfcs-facet {
  display: flex;
  flex-direction: column;
}

.srfcs-facet__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--srfcs-space-3);
}

.srfcs-facet__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}

.srfcs-facet__clear {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-primary);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}
.srfcs-facet__clear:hover {
  text-decoration: underline;
}

.srfcs-facet__list {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
}

.srfcs-facet__item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-facet__checkbox {
  width: 1rem;
  height: 1rem;
  accent-color: var(--srfcs-primary);
  cursor: pointer;
}

.srfcs-facet__label {
  flex: 1;
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  cursor: pointer;
}

.srfcs-facet__count {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  background-color: var(--srfcs-bg-muted);
  padding: 0.125rem 0.375rem;
  border-radius: var(--srfcs-radius-sm);
}

.srfcs-facet--collapsible .srfcs-facet__header {
  cursor: pointer;
  padding: var(--srfcs-space-2) 0;
  margin-bottom: 0;
}
.srfcs-facet--collapsible .srfcs-facet__header:hover {
  color: var(--srfcs-primary);
}

.srfcs-facet--collapsible .srfcs-facet__icon {
  width: 1rem;
  height: 1rem;
  color: var(--srfcs-text-muted);
  transition: transform 0.2s ease;
}
.srfcs-facet.is-open .srfcs-facet--collapsible .srfcs-facet__icon {
  transform: rotate(180deg);
}

.srfcs-facet--collapsible .srfcs-facet__list {
  display: none;
  padding-top: var(--srfcs-space-3);
}
.srfcs-facet.is-open .srfcs-facet--collapsible .srfcs-facet__list {
  display: flex;
}

.srfcs-facet__show-more {
  margin-top: var(--srfcs-space-2);
  padding: 0;
  background: transparent;
  border: none;
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-primary);
  cursor: pointer;
}
.srfcs-facet__show-more:hover {
  text-decoration: underline;
}

.srfcs-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-2);
  align-items: center;
}

.srfcs-active-filters__label {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  background-color: var(--srfcs-primary-light, rgba(37, 99, 235, 0.1));
  color: var(--srfcs-primary);
  border-radius: var(--srfcs-radius-md);
}

.srfcs-filter-tag__remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--srfcs-primary);
  cursor: pointer;
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-filter-tag__remove:hover {
  background-color: rgba(37, 99, 235, 0.2);
}
.srfcs-filter-tag__remove svg {
  width: 0.75rem;
  height: 0.75rem;
}

.srfcs-active-filters__clear-all {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-danger);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}
.srfcs-active-filters__clear-all:hover {
  text-decoration: underline;
}

.srfcs-search-layout {
  display: grid;
  grid-template-columns: 16rem 1fr;
  gap: var(--srfcs-space-8);
}
@media (max-width: 768px) {
  .srfcs-search-layout {
    grid-template-columns: 1fr;
  }
}

.srfcs-search-layout__sidebar {
  position: sticky;
  top: var(--srfcs-space-4);
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
}
@media (max-width: 768px) {
  .srfcs-search-layout__sidebar {
    position: static;
    max-height: none;
  }
}

.srfcs-search-layout__main {
  min-width: 0;
}

.srfcs-no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--srfcs-space-12);
  text-align: center;
}

.srfcs-no-results__icon {
  width: 4rem;
  height: 4rem;
  color: var(--srfcs-text-muted);
  margin-bottom: var(--srfcs-space-4);
}

.srfcs-no-results__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-2) 0;
}

.srfcs-no-results__message {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  margin: 0 0 var(--srfcs-space-4) 0;
  max-width: 24rem;
}

.srfcs-no-results__suggestions {
  text-align: left;
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-no-results__suggestions ul {
  margin: var(--srfcs-space-2) 0 0 0;
  padding-left: var(--srfcs-space-4);
}

.srfcs-no-results__suggestions li {
  margin-bottom: var(--srfcs-space-1);
}

:root {
  --srfcs-collab-user-1: #ef4444;
  --srfcs-collab-user-2: #f97316;
  --srfcs-collab-user-3: #eab308;
  --srfcs-collab-user-4: #22c55e;
  --srfcs-collab-user-5: #06b6d4;
  --srfcs-collab-user-6: #3b82f6;
  --srfcs-collab-user-7: #8b5cf6;
  --srfcs-collab-user-8: #ec4899;
  --srfcs-collab-selection-opacity: 0.25;
  --srfcs-collab-cursor-width: 2px;
  --srfcs-collab-presence-size: 10px;
}

.srfcs-cursor-caret {
  position: absolute;
  width: var(--srfcs-collab-cursor-width);
  height: 1.2em;
  background: var(--srfcs-text);
  animation: sfc-cursor-blink 1s step-end infinite;
  pointer-events: none;
  z-index: 10;
}

@keyframes sfc-cursor-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
.srfcs-remote-cursor {
  position: absolute;
  width: var(--srfcs-collab-cursor-width);
  height: 1.4em;
  pointer-events: none;
  z-index: 20;
  background: var(--srfcs-collab-user-1);
  box-shadow: 0 0 4px currentColor;
}
.srfcs-remote-cursor.srfcs-user-1 {
  background: var(--srfcs-collab-user-1);
}
.srfcs-remote-cursor.srfcs-user-2 {
  background: var(--srfcs-collab-user-2);
}
.srfcs-remote-cursor.srfcs-user-3 {
  background: var(--srfcs-collab-user-3);
}
.srfcs-remote-cursor.srfcs-user-4 {
  background: var(--srfcs-collab-user-4);
}
.srfcs-remote-cursor.srfcs-user-5 {
  background: var(--srfcs-collab-user-5);
}
.srfcs-remote-cursor.srfcs-user-6 {
  background: var(--srfcs-collab-user-6);
}
.srfcs-remote-cursor.srfcs-user-7 {
  background: var(--srfcs-collab-user-7);
}
.srfcs-remote-cursor.srfcs-user-8 {
  background: var(--srfcs-collab-user-8);
}

.srfcs-presence-dot {
  display: inline-block;
  width: var(--srfcs-collab-presence-size);
  height: var(--srfcs-collab-presence-size);
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--srfcs-success);
  box-shadow: 0 0 0 2px var(--srfcs-bg);
}
.srfcs-presence-dot.srfcs-presence-away {
  background: var(--srfcs-warning);
}
.srfcs-presence-dot.srfcs-presence-offline {
  background: var(--srfcs-gray-400);
}
.srfcs-presence-dot.srfcs-presence-busy {
  background: var(--srfcs-danger);
}
.srfcs-presence-dot.srfcs-presence-active {
  animation: sfc-presence-pulse 2s ease-in-out infinite;
}

@keyframes sfc-presence-pulse {
  0%, 100% {
    box-shadow: 0 0 0 2px var(--srfcs-bg), 0 0 0 4px rgba(16, 185, 129, 0.3);
  }
  50% {
    box-shadow: 0 0 0 2px var(--srfcs-bg), 0 0 0 8px rgba(16, 185, 129, 0);
  }
}
.srfcs-comment-bubble {
  display: flex;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3);
  background: var(--srfcs-bg);
  border-radius: var(--srfcs-radius-lg);
}
.srfcs-comment-bubble__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
.srfcs-comment-bubble__content {
  flex: 1;
  min-width: 0;
}
.srfcs-comment-bubble__header {
  display: flex;
  align-items: baseline;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-comment-bubble__author {
  font-weight: var(--srfcs-font-semibold);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}
.srfcs-comment-bubble__time {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-comment-bubble__text {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  line-height: 1.5;
}
.srfcs-comment-bubble__actions {
  display: flex;
  gap: var(--srfcs-space-2);
  margin-top: var(--srfcs-space-2);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.srfcs-comment-bubble:hover .srfcs-comment-bubble__actions {
  opacity: 1;
}

.srfcs-typing-indicator {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
}
.srfcs-typing-indicator__dots {
  display: inline-flex;
  gap: 3px;
}
.srfcs-typing-indicator__dot {
  width: 4px;
  height: 4px;
  background: var(--srfcs-text-lighter);
  border-radius: 50%;
  animation: sfc-typing-bounce 1.4s ease-in-out infinite;
}
.srfcs-typing-indicator__dot:nth-child(1) {
  animation-delay: 0s;
}
.srfcs-typing-indicator__dot:nth-child(2) {
  animation-delay: 0.2s;
}
.srfcs-typing-indicator__dot:nth-child(3) {
  animation-delay: 0.4s;
}
.srfcs-typing-indicator__text {
  font-style: italic;
}

@keyframes sfc-typing-bounce {
  0%, 60%, 100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-4px);
  }
}
.srfcs-avatar-stack {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.srfcs-avatar-stack__item {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--srfcs-bg);
  margin-left: -8px;
  position: relative;
  overflow: hidden;
  transition: transform 0.15s ease, z-index 0s;
}
.srfcs-avatar-stack__item:last-child {
  margin-left: 0;
}
.srfcs-avatar-stack__item:hover {
  transform: translateY(-2px);
  z-index: 10;
}
.srfcs-avatar-stack__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.srfcs-avatar-stack__overflow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--srfcs-bg);
  margin-left: -8px;
  background: var(--srfcs-gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text-light);
}
.srfcs-avatar-stack--sm .srfcs-avatar-stack__item, .srfcs-avatar-stack--sm .srfcs-avatar-stack__overflow {
  width: 24px;
  height: 24px;
  margin-left: -6px;
}
.srfcs-avatar-stack--lg .srfcs-avatar-stack__item, .srfcs-avatar-stack--lg .srfcs-avatar-stack__overflow {
  width: 40px;
  height: 40px;
  margin-left: -10px;
}

.srfcs-cursor-label {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  pointer-events: none;
  z-index: 25;
}
.srfcs-cursor-label__cursor {
  width: var(--srfcs-collab-cursor-width);
  height: 1.4em;
  background: currentColor;
}
.srfcs-cursor-label__name {
  padding: 2px 6px;
  font-size: 11px;
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-white);
  background: currentColor;
  border-radius: 0 var(--srfcs-radius-sm) var(--srfcs-radius-sm) var(--srfcs-radius-sm);
  white-space: nowrap;
  margin-top: -1px;
}
.srfcs-cursor-label__name span {
  color: var(--srfcs-white);
}
.srfcs-cursor-label.srfcs-user-1 {
  color: var(--srfcs-collab-user-1);
}
.srfcs-cursor-label.srfcs-user-2 {
  color: var(--srfcs-collab-user-2);
}
.srfcs-cursor-label.srfcs-user-3 {
  color: var(--srfcs-collab-user-3);
}
.srfcs-cursor-label.srfcs-user-4 {
  color: var(--srfcs-collab-user-4);
}
.srfcs-cursor-label.srfcs-user-5 {
  color: var(--srfcs-collab-user-5);
}
.srfcs-cursor-label.srfcs-user-6 {
  color: var(--srfcs-collab-user-6);
}
.srfcs-cursor-label.srfcs-user-7 {
  color: var(--srfcs-collab-user-7);
}
.srfcs-cursor-label.srfcs-user-8 {
  color: var(--srfcs-collab-user-8);
}

.srfcs-selection-highlight {
  position: absolute;
  pointer-events: none;
  z-index: 5;
  background: rgba(239, 68, 68, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-1 {
  background: rgba(239, 68, 68, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-2 {
  background: rgba(249, 115, 22, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-3 {
  background: rgba(234, 179, 8, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-4 {
  background: rgba(34, 197, 94, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-5 {
  background: rgba(6, 182, 212, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-6 {
  background: rgba(59, 130, 246, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-7 {
  background: rgba(139, 92, 246, var(--srfcs-collab-selection-opacity));
}
.srfcs-selection-highlight.srfcs-user-8 {
  background: rgba(236, 72, 153, var(--srfcs-collab-selection-opacity));
}

.srfcs-save-status {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
}
.srfcs-save-status__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.srfcs-save-status--saving {
  color: var(--srfcs-text-lighter);
}
.srfcs-save-status--saving .srfcs-save-status__icon {
  animation: sfc-save-spin 1s linear infinite;
}
.srfcs-save-status--saved {
  color: var(--srfcs-success);
}
.srfcs-save-status--offline {
  color: var(--srfcs-warning);
}
.srfcs-save-status--error {
  color: var(--srfcs-danger);
}

@keyframes sfc-save-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.srfcs-formatting-dropdown {
  position: relative;
  display: inline-block;
}
.srfcs-formatting-dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.15s ease;
}
.srfcs-formatting-dropdown__trigger:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-formatting-dropdown__trigger[aria-expanded=true] {
  background: var(--srfcs-gray-200);
}
.srfcs-formatting-dropdown__menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  margin-top: var(--srfcs-space-1);
  padding: var(--srfcs-space-1);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  z-index: 50;
}
.srfcs-formatting-dropdown__item {
  display: block;
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  text-align: left;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-formatting-dropdown__item:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-formatting-dropdown__item--active {
  background: var(--srfcs-primary-lighter);
  color: var(--srfcs-primary-active);
}
.srfcs-formatting-dropdown__item--h1 {
  font-size: var(--srfcs-text-xl);
  font-weight: var(--srfcs-font-bold);
}
.srfcs-formatting-dropdown__item--h2 {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-bold);
}
.srfcs-formatting-dropdown__item--h3 {
  font-size: var(--srfcs-text-base);
  font-weight: var(--srfcs-font-semibold);
}

.srfcs-insert-menu {
  display: flex;
  padding: var(--srfcs-space-2);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}
.srfcs-insert-menu__section {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
  padding: 0 var(--srfcs-space-2);
}
.srfcs-insert-menu__section:not(:last-child) {
  border-right: 1px solid var(--srfcs-border);
}
.srfcs-insert-menu__label {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-lighter);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
}
.srfcs-insert-menu__item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-insert-menu__item:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-insert-menu__item svg {
  width: 18px;
  height: 18px;
  color: var(--srfcs-text-light);
}

.srfcs-comment-thread {
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  overflow: hidden;
}
.srfcs-comment-thread__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  background: var(--srfcs-bg-subtle);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-comment-thread__context {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
  font-style: italic;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.srfcs-comment-thread__resolve {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-success);
  background: transparent;
  border: none;
  cursor: pointer;
}
.srfcs-comment-thread__resolve:hover {
  text-decoration: underline;
}
.srfcs-comment-thread__comments {
  max-height: 300px;
  overflow-y: auto;
}
.srfcs-comment-thread__comment {
  padding: var(--srfcs-space-3);
}
.srfcs-comment-thread__comment:not(:last-child) {
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-comment-thread__reply-form {
  display: flex;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-3);
  border-top: 1px solid var(--srfcs-border);
  background: var(--srfcs-bg-subtle);
}
.srfcs-comment-thread__input {
  flex: 1;
  padding: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  resize: none;
}
.srfcs-comment-thread__input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}
.srfcs-comment-thread--resolved {
  opacity: 0.6;
}
.srfcs-comment-thread--resolved .srfcs-comment-thread__header {
  background: var(--srfcs-success-light);
}

.srfcs-comment-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: var(--srfcs-warning);
  color: var(--srfcs-white);
  font-size: 11px;
  font-weight: var(--srfcs-font-bold);
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.15s ease;
}
.srfcs-comment-marker:hover {
  transform: scale(1.1);
}
.srfcs-comment-marker--resolved {
  background: var(--srfcs-success);
}
.srfcs-comment-marker--highlight {
  background: rgba(251, 191, 36, 0.3);
  border-bottom: 2px solid var(--srfcs-warning);
  border-radius: 0;
  width: auto;
  height: auto;
  padding: 0 2px;
}

.srfcs-suggestion-diff {
  display: inline;
}
.srfcs-suggestion-diff__removed {
  color: var(--srfcs-danger);
  background: rgba(239, 68, 68, 0.1);
  text-decoration: line-through;
}
.srfcs-suggestion-diff__added {
  color: var(--srfcs-success);
  background: rgba(34, 197, 94, 0.1);
}
.srfcs-suggestion-diff__actions {
  display: inline-flex;
  gap: var(--srfcs-space-1);
  margin-left: var(--srfcs-space-1);
  vertical-align: middle;
}
.srfcs-suggestion-diff__accept, .srfcs-suggestion-diff__reject {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  transition: transform 0.1s ease;
}
.srfcs-suggestion-diff__accept:hover, .srfcs-suggestion-diff__reject:hover {
  transform: scale(1.1);
}
.srfcs-suggestion-diff__accept svg, .srfcs-suggestion-diff__reject svg {
  width: 12px;
  height: 12px;
}
.srfcs-suggestion-diff__accept {
  background: var(--srfcs-success);
  color: var(--srfcs-white);
}
.srfcs-suggestion-diff__reject {
  background: var(--srfcs-danger);
  color: var(--srfcs-white);
}

.srfcs-version-card {
  display: flex;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-version-card:hover {
  border-color: var(--srfcs-primary-light);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.srfcs-version-card--active {
  border-color: var(--srfcs-primary);
  background: var(--srfcs-primary-lighter);
}
.srfcs-version-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
.srfcs-version-card__content {
  flex: 1;
  min-width: 0;
}
.srfcs-version-card__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-version-card__author {
  font-weight: var(--srfcs-font-semibold);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}
.srfcs-version-card__time {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
  white-space: nowrap;
}
.srfcs-version-card__preview {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.srfcs-version-card__stats {
  display: flex;
  gap: var(--srfcs-space-3);
  margin-top: var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
}
.srfcs-version-card__stat {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
}
.srfcs-version-card__stat--added {
  color: var(--srfcs-success);
}
.srfcs-version-card__stat--removed {
  color: var(--srfcs-danger);
}

.srfcs-permission-selector {
  position: relative;
  display: inline-block;
}
.srfcs-permission-selector__trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-1) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.srfcs-permission-selector__trigger:hover {
  border-color: var(--srfcs-border-dark);
}
.srfcs-permission-selector__menu {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 160px;
  margin-top: var(--srfcs-space-1);
  padding: var(--srfcs-space-1);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
  z-index: 50;
}
.srfcs-permission-selector__option {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  text-align: left;
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-permission-selector__option:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-permission-selector__option--active {
  background: var(--srfcs-primary-lighter);
}
.srfcs-permission-selector__label {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}
.srfcs-permission-selector__description {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}

.srfcs-link-share-card {
  padding: var(--srfcs-space-4);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}
.srfcs-link-share-card__header {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-3);
}
.srfcs-link-share-card__icon {
  width: 20px;
  height: 20px;
  color: var(--srfcs-text-light);
}
.srfcs-link-share-card__title {
  font-weight: var(--srfcs-font-semibold);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}
.srfcs-link-share-card__link-row {
  display: flex;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-3);
}
.srfcs-link-share-card__link-input {
  flex: 1;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: var(--srfcs-bg-muted);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-link-share-card__link-input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
}
.srfcs-link-share-card__copy-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-primary);
  background: var(--srfcs-primary-lighter);
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.15s ease;
}
.srfcs-link-share-card__copy-btn:hover {
  background: var(--srfcs-primary-light);
}
.srfcs-link-share-card__copy-btn--copied {
  color: var(--srfcs-success);
  background: rgba(34, 197, 94, 0.1);
}
.srfcs-link-share-card__access {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.srfcs-link-share-card__access-label {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
}

.srfcs-editor-header {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-4);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  background: var(--srfcs-bg);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-editor-header__back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.15s ease;
}
.srfcs-editor-header__back:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-editor-header__title-section {
  flex: 1;
  min-width: 0;
}
.srfcs-editor-header__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0;
}
.srfcs-editor-header__title[contenteditable=true] {
  outline: none;
  padding: var(--srfcs-space-1);
  margin: calc(-1 * var(--srfcs-space-1));
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-editor-header__title[contenteditable=true]:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-editor-header__title[contenteditable=true]:focus {
  background: var(--srfcs-bg);
  box-shadow: 0 0 0 2px var(--srfcs-primary-light);
}
.srfcs-editor-header__meta {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  margin-top: var(--srfcs-space-1);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-editor-header__collaborators {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
}
.srfcs-editor-header__actions {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}
.srfcs-editor-header__share-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-white);
  background: var(--srfcs-primary);
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.15s ease;
}
.srfcs-editor-header__share-btn:hover {
  background: var(--srfcs-primary-hover);
}

.srfcs-editor-toolbar {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  background: var(--srfcs-bg);
  border-bottom: 1px solid var(--srfcs-border);
  overflow-x: auto;
}
.srfcs-editor-toolbar__group {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
}
.srfcs-editor-toolbar__group:not(:last-child) {
  padding-right: var(--srfcs-space-2);
  border-right: 1px solid var(--srfcs-border);
  margin-right: var(--srfcs-space-2);
}
.srfcs-editor-toolbar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.1s ease, color 0.1s ease;
}
.srfcs-editor-toolbar__btn:hover {
  background: var(--srfcs-gray-100);
  color: var(--srfcs-text);
}
.srfcs-editor-toolbar__btn--active {
  background: var(--srfcs-primary-lighter);
  color: var(--srfcs-primary);
}
.srfcs-editor-toolbar__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.srfcs-editor-toolbar__btn svg {
  width: 18px;
  height: 18px;
}
.srfcs-editor-toolbar__spacer {
  flex: 1;
}

.srfcs-editor-canvas {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--srfcs-bg-subtle);
  overflow: auto;
}
.srfcs-editor-canvas__container {
  max-width: 816px;
  width: 100%;
  margin: var(--srfcs-space-8) auto;
  padding: var(--srfcs-space-12) var(--srfcs-space-16);
  background: var(--srfcs-bg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: var(--srfcs-radius-sm);
  min-height: calc(100vh - 200px);
}
.srfcs-editor-canvas__content {
  position: relative;
  outline: none;
  min-height: 100%;
  font-family: var(--srfcs-font-serif, Georgia, serif);
  font-size: 16px;
  line-height: 1.75;
  color: var(--srfcs-text);
}
.srfcs-editor-canvas__content h1 {
  font-size: 2em;
  font-weight: 700;
  margin: 1em 0 0.5em;
}
.srfcs-editor-canvas__content h2 {
  font-size: 1.5em;
  font-weight: 600;
  margin: 1em 0 0.5em;
}
.srfcs-editor-canvas__content h3 {
  font-size: 1.25em;
  font-weight: 600;
  margin: 1em 0 0.5em;
}
.srfcs-editor-canvas__content p {
  margin: 0 0 1em;
}
.srfcs-editor-canvas__content ul, .srfcs-editor-canvas__content ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
}
.srfcs-editor-canvas__content blockquote {
  margin: 1em 0;
  padding-left: 1em;
  border-left: 3px solid var(--srfcs-gray-300);
  color: var(--srfcs-text-light);
}
.srfcs-editor-canvas__content code {
  font-family: var(--srfcs-font-mono);
  font-size: 0.9em;
  background: var(--srfcs-gray-100);
  padding: 0.1em 0.3em;
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-editor-canvas__content pre {
  background: var(--srfcs-gray-900);
  color: var(--srfcs-gray-100);
  padding: 1em;
  border-radius: var(--srfcs-radius-md);
  overflow-x: auto;
}
.srfcs-editor-canvas__content pre code {
  background: none;
  padding: 0;
}
.srfcs-editor-canvas__placeholder {
  color: var(--srfcs-text-lighter);
  pointer-events: none;
  font-style: italic;
}

.srfcs-collaborator-sidebar {
  width: 280px;
  background: var(--srfcs-bg);
  border-left: 1px solid var(--srfcs-border);
  display: flex;
  flex-direction: column;
}
.srfcs-collaborator-sidebar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-collaborator-sidebar__title {
  font-weight: var(--srfcs-font-semibold);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}
.srfcs-collaborator-sidebar__count {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
  background: var(--srfcs-gray-100);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  border-radius: var(--srfcs-radius-full);
}
.srfcs-collaborator-sidebar__list {
  flex: 1;
  overflow-y: auto;
  padding: var(--srfcs-space-2);
}
.srfcs-collaborator-sidebar__user {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-2);
  border-radius: var(--srfcs-radius-md);
  transition: background 0.1s ease;
}
.srfcs-collaborator-sidebar__user:hover {
  background: var(--srfcs-gray-50);
}
.srfcs-collaborator-sidebar__avatar {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex-shrink: 0;
}
.srfcs-collaborator-sidebar__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.srfcs-collaborator-sidebar__avatar .srfcs-presence-dot {
  position: absolute;
  bottom: 0;
  right: 0;
}
.srfcs-collaborator-sidebar__info {
  flex: 1;
  min-width: 0;
}
.srfcs-collaborator-sidebar__name {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}
.srfcs-collaborator-sidebar__role {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-collaborator-sidebar__user-color {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

.srfcs-comments-panel {
  width: 320px;
  background: var(--srfcs-bg);
  border-left: 1px solid var(--srfcs-border);
  display: flex;
  flex-direction: column;
}
.srfcs-comments-panel__header {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-comments-panel__tabs {
  display: flex;
  flex: 1;
  gap: var(--srfcs-space-1);
}
.srfcs-comments-panel__tab {
  padding: var(--srfcs-space-1) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.1s ease, color 0.1s ease;
}
.srfcs-comments-panel__tab:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-comments-panel__tab--active {
  background: var(--srfcs-gray-200);
  color: var(--srfcs-text);
  font-weight: var(--srfcs-font-medium);
}
.srfcs-comments-panel__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-comments-panel__close:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-comments-panel__list {
  flex: 1;
  overflow-y: auto;
  padding: var(--srfcs-space-3);
}
.srfcs-comments-panel__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: var(--srfcs-space-8);
  text-align: center;
  color: var(--srfcs-text-lighter);
}
.srfcs-comments-panel__empty svg {
  width: 48px;
  height: 48px;
  margin-bottom: var(--srfcs-space-4);
  opacity: 0.5;
}
.srfcs-comments-panel__thread {
  margin-bottom: var(--srfcs-space-3);
}

.srfcs-version-panel {
  width: 320px;
  background: var(--srfcs-bg);
  border-left: 1px solid var(--srfcs-border);
  display: flex;
  flex-direction: column;
}
.srfcs-version-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-version-panel__title {
  font-weight: var(--srfcs-font-semibold);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}
.srfcs-version-panel__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-version-panel__close:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-version-panel__list {
  flex: 1;
  overflow-y: auto;
  padding: var(--srfcs-space-3);
}
.srfcs-version-panel__version {
  margin-bottom: var(--srfcs-space-2);
}
.srfcs-version-panel__actions {
  display: flex;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
  background: var(--srfcs-bg-subtle);
}
.srfcs-version-panel__restore-btn {
  flex: 1;
  padding: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-white);
  background: var(--srfcs-primary);
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-version-panel__restore-btn:hover {
  background: var(--srfcs-primary-hover);
}
.srfcs-version-panel__restore-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.srfcs-share-dialog {
  width: 480px;
  max-width: 90vw;
  background: var(--srfcs-bg);
  border-radius: var(--srfcs-radius-xl);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.srfcs-share-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-4) var(--srfcs-space-5);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-share-dialog__title {
  font-weight: var(--srfcs-font-semibold);
  font-size: var(--srfcs-text-lg);
  color: var(--srfcs-text);
}
.srfcs-share-dialog__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-share-dialog__close:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-share-dialog__body {
  padding: var(--srfcs-space-5);
}
.srfcs-share-dialog__section {
  margin-bottom: var(--srfcs-space-6);
}
.srfcs-share-dialog__section:last-child {
  margin-bottom: 0;
}
.srfcs-share-dialog__label {
  display: block;
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
  margin-bottom: var(--srfcs-space-2);
}
.srfcs-share-dialog__invite-row {
  display: flex;
  gap: var(--srfcs-space-2);
}
.srfcs-share-dialog__invite-input {
  flex: 1;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-share-dialog__invite-input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}
.srfcs-share-dialog__people-list {
  margin-top: var(--srfcs-space-4);
}
.srfcs-share-dialog__person {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-2) 0;
}
.srfcs-share-dialog__person:not(:last-child) {
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-share-dialog__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}
.srfcs-share-dialog__person-info {
  flex: 1;
  min-width: 0;
}
.srfcs-share-dialog__person-name {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}
.srfcs-share-dialog__person-email {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-share-dialog__divider {
  height: 1px;
  background: var(--srfcs-border);
  margin: var(--srfcs-space-4) 0;
}

.srfcs-collab-editor-layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background: var(--srfcs-bg-subtle);
}
.srfcs-collab-editor-layout__main {
  display: flex;
  flex: 1;
  overflow: hidden;
}
.srfcs-collab-editor-layout__canvas-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media (max-width: 768px) {
  .srfcs-collab-editor-layout .srfcs-collaborator-sidebar,
  .srfcs-collab-editor-layout .srfcs-comments-panel,
  .srfcs-collab-editor-layout .srfcs-version-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  .srfcs-collab-editor-layout .srfcs-collaborator-sidebar--open,
  .srfcs-collab-editor-layout .srfcs-comments-panel--open,
  .srfcs-collab-editor-layout .srfcs-version-panel--open {
    transform: translateX(0);
  }
}

.srfcs-message-bubble {
  display: inline-block;
  max-width: 80%;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-lg);
  font-size: var(--srfcs-text-sm);
  line-height: 1.5;
  word-wrap: break-word;
}
.srfcs-message-bubble--incoming {
  background: var(--srfcs-gray-100);
  color: var(--srfcs-text);
  border-bottom-left-radius: var(--srfcs-radius-sm);
}
.srfcs-message-bubble--outgoing {
  background: var(--srfcs-primary);
  color: var(--srfcs-white);
  border-bottom-right-radius: var(--srfcs-radius-sm);
}
.srfcs-message-bubble--system {
  background: var(--srfcs-gray-50);
  color: var(--srfcs-text-light);
  font-style: italic;
  text-align: center;
  max-width: 100%;
}

.srfcs-chat-input {
  width: 100%;
  padding: var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-family: var(--srfcs-font-sans);
  color: var(--srfcs-text);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  resize: none;
  min-height: 44px;
  max-height: 200px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-chat-input::placeholder {
  color: var(--srfcs-text-lighter);
}
.srfcs-chat-input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}
.srfcs-chat-input:disabled {
  background: var(--srfcs-gray-50);
  cursor: not-allowed;
}

.srfcs-send-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--srfcs-primary);
  color: var(--srfcs-white);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
  flex-shrink: 0;
}
.srfcs-send-button svg {
  width: 20px;
  height: 20px;
}
.srfcs-send-button:hover:not(:disabled) {
  background: var(--srfcs-primary-hover);
  transform: scale(1.05);
}
.srfcs-send-button:active:not(:disabled) {
  transform: scale(0.95);
}
.srfcs-send-button:disabled {
  background: var(--srfcs-gray-300);
  cursor: not-allowed;
}
.srfcs-send-button--sm {
  width: 32px;
  height: 32px;
}
.srfcs-send-button--sm svg {
  width: 16px;
  height: 16px;
}

.srfcs-read-receipt {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-read-receipt__icon {
  width: 14px;
  height: 14px;
}
.srfcs-read-receipt--sent {
  color: var(--srfcs-text-lighter);
}
.srfcs-read-receipt--delivered {
  color: var(--srfcs-text-light);
}
.srfcs-read-receipt--read {
  color: var(--srfcs-info);
}
.srfcs-read-receipt--failed {
  color: var(--srfcs-danger);
}

.srfcs-delivery-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}
.srfcs-delivery-status--sending {
  color: var(--srfcs-text-lighter);
  animation: sfc-status-pulse 1.5s ease-in-out infinite;
}
.srfcs-delivery-status--sent {
  color: var(--srfcs-text-lighter);
}
.srfcs-delivery-status--delivered {
  color: var(--srfcs-text-light);
}
.srfcs-delivery-status--read {
  color: var(--srfcs-info);
}
.srfcs-delivery-status--failed {
  color: var(--srfcs-danger);
}

@keyframes sfc-status-pulse {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}
.srfcs-reaction-emoji {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  background: var(--srfcs-gray-100);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-full);
  font-size: var(--srfcs-text-sm);
  cursor: pointer;
  transition: background 0.1s ease, transform 0.1s ease;
}
.srfcs-reaction-emoji:hover {
  background: var(--srfcs-gray-200);
  transform: scale(1.1);
}
.srfcs-reaction-emoji--active {
  background: var(--srfcs-primary-lighter);
  border-color: var(--srfcs-primary-light);
}
.srfcs-reaction-emoji__count {
  margin-left: var(--srfcs-space-1);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
}

.srfcs-unread-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 var(--srfcs-space-1);
  background: var(--srfcs-danger);
  color: var(--srfcs-white);
  font-size: 11px;
  font-weight: var(--srfcs-font-semibold);
  border-radius: var(--srfcs-radius-full);
}
.srfcs-unread-badge--large {
  min-width: 24px;
  height: 24px;
  font-size: var(--srfcs-text-xs);
}
.srfcs-unread-badge--muted {
  background: var(--srfcs-gray-400);
}

.srfcs-timestamp {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
  white-space: nowrap;
}
.srfcs-timestamp--inline {
  margin-left: var(--srfcs-space-2);
}

.srfcs-mention-tag {
  display: inline;
  padding: 1px 4px;
  background: var(--srfcs-primary-lighter);
  color: var(--srfcs-primary);
  border-radius: var(--srfcs-radius-sm);
  font-weight: var(--srfcs-font-medium);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-mention-tag:hover {
  background: var(--srfcs-primary-light);
}
.srfcs-mention-tag--self {
  background: rgba(251, 191, 36, 0.2);
  color: var(--srfcs-warning-hover);
}

.srfcs-link-preview {
  display: flex;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3);
  background: var(--srfcs-bg-subtle);
  border: 1px solid var(--srfcs-border);
  border-left: 3px solid var(--srfcs-primary);
  border-radius: var(--srfcs-radius-md);
  margin-top: var(--srfcs-space-2);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-link-preview:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-link-preview__image {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: var(--srfcs-radius-sm);
  flex-shrink: 0;
}
.srfcs-link-preview__content {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.srfcs-link-preview__domain {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-link-preview__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.srfcs-link-preview__description {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: var(--srfcs-space-1);
}

.srfcs-message-item {
  display: flex;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-1) 0;
}
.srfcs-message-item__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
.srfcs-message-item__content {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
  max-width: 70%;
}
.srfcs-message-item__header {
  display: flex;
  align-items: baseline;
  gap: var(--srfcs-space-2);
}
.srfcs-message-item__author {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}
.srfcs-message-item__meta {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  margin-top: var(--srfcs-space-1);
}
.srfcs-message-item--outgoing {
  flex-direction: row-reverse;
}
.srfcs-message-item--outgoing .srfcs-message-item__content {
  align-items: flex-end;
}
.srfcs-message-item--continued .srfcs-message-item__avatar {
  visibility: hidden;
}
.srfcs-message-item--continued .srfcs-message-item__header {
  display: none;
}

.srfcs-message-group {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
}
.srfcs-message-group__header {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-message-group__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}
.srfcs-message-group__author {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}
.srfcs-message-group__time {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-message-group__messages {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
  padding-left: calc(36px + var(--srfcs-space-2));
}

.srfcs-chat-input-bar {
  display: flex;
  align-items: flex-end;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-3);
  background: var(--srfcs-bg);
  border-top: 1px solid var(--srfcs-border);
}
.srfcs-chat-input-bar__input-wrapper {
  flex: 1;
  position: relative;
}
.srfcs-chat-input-bar__actions {
  display: flex;
  gap: var(--srfcs-space-1);
}
.srfcs-chat-input-bar__action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.1s ease, color 0.1s ease;
}
.srfcs-chat-input-bar__action-btn:hover {
  background: var(--srfcs-gray-100);
  color: var(--srfcs-text);
}
.srfcs-chat-input-bar__action-btn svg {
  width: 20px;
  height: 20px;
}

.srfcs-reactions-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-1);
  margin-top: var(--srfcs-space-1);
}
.srfcs-reactions-bar__add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: transparent;
  border: 1px dashed var(--srfcs-border);
  border-radius: var(--srfcs-radius-full);
  color: var(--srfcs-text-lighter);
  cursor: pointer;
  transition: border-color 0.1s ease, color 0.1s ease;
}
.srfcs-reactions-bar__add-btn:hover {
  border-color: var(--srfcs-text-light);
  color: var(--srfcs-text-light);
}

.srfcs-unread-divider {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3) 0;
}
.srfcs-unread-divider::before, .srfcs-unread-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--srfcs-danger-light);
}
.srfcs-unread-divider__text {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-danger);
  white-space: nowrap;
}

.srfcs-thread-preview {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2);
  background: var(--srfcs-bg-subtle);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-thread-preview:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-thread-preview__avatars {
  display: flex;
  flex-direction: row-reverse;
}
.srfcs-thread-preview__avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--srfcs-bg);
  margin-left: -8px;
}
.srfcs-thread-preview__avatar:last-child {
  margin-left: 0;
}
.srfcs-thread-preview__text {
  flex: 1;
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-primary);
  font-weight: var(--srfcs-font-medium);
}
.srfcs-thread-preview__time {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}

.srfcs-comment-card {
  display: flex;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}
.srfcs-comment-card__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
.srfcs-comment-card__body {
  flex: 1;
  min-width: 0;
}
.srfcs-comment-card__header {
  display: flex;
  align-items: baseline;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-comment-card__author {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}
.srfcs-comment-card__time {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-comment-card__text {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  line-height: 1.5;
}
.srfcs-comment-card__actions {
  display: flex;
  gap: var(--srfcs-space-3);
  margin-top: var(--srfcs-space-2);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.srfcs-comment-card:hover .srfcs-comment-card__actions {
  opacity: 1;
}
.srfcs-comment-card__action {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
  background: none;
  border: none;
  cursor: pointer;
}
.srfcs-comment-card__action:hover {
  color: var(--srfcs-primary);
}
.srfcs-comment-card--resolved {
  opacity: 0.6;
  background: var(--srfcs-success-light);
  border-color: var(--srfcs-success);
}

.srfcs-reply-input {
  display: flex;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2);
  background: var(--srfcs-bg-subtle);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-reply-input__field {
  flex: 1;
  padding: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-reply-input__field:focus {
  outline: none;
  border-color: var(--srfcs-primary);
}
.srfcs-reply-input__submit {
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-white);
  background: var(--srfcs-primary);
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-reply-input__submit:hover {
  background: var(--srfcs-primary-hover);
}

.srfcs-notification-item {
  display: flex;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3);
  background: var(--srfcs-bg);
  border-bottom: 1px solid var(--srfcs-border);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-notification-item:hover {
  background: var(--srfcs-bg-subtle);
}
.srfcs-notification-item--unread {
  background: var(--srfcs-primary-lighter);
}
.srfcs-notification-item--unread:hover {
  background: var(--srfcs-primary-light);
}
.srfcs-notification-item__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--srfcs-gray-100);
  border-radius: 50%;
  flex-shrink: 0;
}
.srfcs-notification-item__icon svg {
  width: 20px;
  height: 20px;
  color: var(--srfcs-text-light);
}
.srfcs-notification-item__body {
  flex: 1;
  min-width: 0;
}
.srfcs-notification-item__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}
.srfcs-notification-item__description {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
  margin-top: var(--srfcs-space-1);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.srfcs-notification-item__time {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
  white-space: nowrap;
}
.srfcs-notification-item__actions {
  display: flex;
  gap: var(--srfcs-space-2);
  margin-top: var(--srfcs-space-2);
}

.srfcs-quoted-message {
  display: flex;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  background: var(--srfcs-bg-subtle);
  border-left: 3px solid var(--srfcs-primary);
  border-radius: 0 var(--srfcs-radius-md) var(--srfcs-radius-md) 0;
  margin-bottom: var(--srfcs-space-2);
  cursor: pointer;
}
.srfcs-quoted-message:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-quoted-message__author {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-primary);
}
.srfcs-quoted-message__text {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.srfcs-pinned-indicator {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-warning);
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-pinned-indicator svg {
  width: 12px;
  height: 12px;
}

.srfcs-forwarded-header {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
  font-style: italic;
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-forwarded-header svg {
  width: 12px;
  height: 12px;
}

.srfcs-message-thread {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--srfcs-bg);
}
.srfcs-message-thread__header {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-message-thread__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.srfcs-message-thread__info {
  flex: 1;
}
.srfcs-message-thread__name {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}
.srfcs-message-thread__status {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-message-thread__messages {
  flex: 1;
  overflow-y: auto;
  padding: var(--srfcs-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
}
.srfcs-message-thread__input {
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-chat-room {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--srfcs-bg);
}
.srfcs-chat-room__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-chat-room__title {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}
.srfcs-chat-room__members {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
}
.srfcs-chat-room__messages {
  flex: 1;
  overflow-y: auto;
  padding: var(--srfcs-space-4);
}
.srfcs-chat-room__typing {
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-conversation-list {
  display: flex;
  flex-direction: column;
  background: var(--srfcs-bg);
}
.srfcs-conversation-list__item {
  display: flex;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
  cursor: pointer;
  transition: background 0.1s ease;
}
.srfcs-conversation-list__item:hover {
  background: var(--srfcs-bg-subtle);
}
.srfcs-conversation-list__item--active {
  background: var(--srfcs-primary-lighter);
}
.srfcs-conversation-list__item--unread {
  background: var(--srfcs-bg-subtle);
}
.srfcs-conversation-list__item--unread .srfcs-conversation-list__name {
  font-weight: var(--srfcs-font-bold);
}
.srfcs-conversation-list__item--unread .srfcs-conversation-list__preview {
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
}
.srfcs-conversation-list__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.srfcs-conversation-list__content {
  flex: 1;
  min-width: 0;
}
.srfcs-conversation-list__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.srfcs-conversation-list__name {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  font-size: var(--srfcs-text-sm);
}
.srfcs-conversation-list__time {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}
.srfcs-conversation-list__preview {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: var(--srfcs-space-1);
}

.srfcs-activity-inbox {
  display: flex;
  flex-direction: column;
  background: var(--srfcs-bg);
}
.srfcs-activity-inbox__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-activity-inbox__title {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}
.srfcs-activity-inbox__filters {
  display: flex;
  gap: var(--srfcs-space-1);
}
.srfcs-activity-inbox__filter {
  padding: var(--srfcs-space-1) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-activity-inbox__filter:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-activity-inbox__filter--active {
  background: var(--srfcs-gray-200);
  color: var(--srfcs-text);
  font-weight: var(--srfcs-font-medium);
}
.srfcs-activity-inbox__list {
  flex: 1;
  overflow-y: auto;
}
.srfcs-activity-inbox__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--srfcs-space-12);
  color: var(--srfcs-text-lighter);
  text-align: center;
}
.srfcs-activity-inbox__empty svg {
  width: 48px;
  height: 48px;
  margin-bottom: var(--srfcs-space-4);
  opacity: 0.5;
}

.srfcs-notification-dropdown {
  width: 360px;
  max-height: 480px;
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.srfcs-notification-dropdown__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-notification-dropdown__title {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}
.srfcs-notification-dropdown__mark-read {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-primary);
  background: none;
  border: none;
  cursor: pointer;
}
.srfcs-notification-dropdown__mark-read:hover {
  text-decoration: underline;
}
.srfcs-notification-dropdown__list {
  max-height: 400px;
  overflow-y: auto;
}
.srfcs-notification-dropdown__footer {
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
  text-align: center;
}
.srfcs-notification-dropdown__footer a {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-primary);
  text-decoration: none;
}
.srfcs-notification-dropdown__footer a:hover {
  text-decoration: underline;
}

.srfcs-toast-container {
  position: fixed;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
  pointer-events: none;
}
.srfcs-toast-container--top-right {
  top: var(--srfcs-space-4);
  right: var(--srfcs-space-4);
}
.srfcs-toast-container--top-left {
  top: var(--srfcs-space-4);
  left: var(--srfcs-space-4);
}
.srfcs-toast-container--bottom-right {
  bottom: var(--srfcs-space-4);
  right: var(--srfcs-space-4);
}
.srfcs-toast-container--bottom-left {
  bottom: var(--srfcs-space-4);
  left: var(--srfcs-space-4);
}
.srfcs-toast-container--top-center {
  top: var(--srfcs-space-4);
  left: 50%;
  transform: translateX(-50%);
}
.srfcs-toast-container--bottom-center {
  bottom: var(--srfcs-space-4);
  left: 50%;
  transform: translateX(-50%);
}

.srfcs-toast {
  display: flex;
  align-items: flex-start;
  gap: var(--srfcs-space-3);
  min-width: 300px;
  max-width: 420px;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.2);
  pointer-events: auto;
  animation: sfc-toast-slide-in 0.3s ease;
}
.srfcs-toast__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.srfcs-toast__content {
  flex: 1;
}
.srfcs-toast__title {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  font-size: var(--srfcs-text-sm);
}
.srfcs-toast__message {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  margin-top: var(--srfcs-space-1);
}
.srfcs-toast__close {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--srfcs-text-lighter);
  background: none;
  border: none;
  cursor: pointer;
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-toast__close:hover {
  background: var(--srfcs-gray-100);
  color: var(--srfcs-text);
}
.srfcs-toast--success {
  border-left: 4px solid var(--srfcs-success);
}
.srfcs-toast--success .srfcs-toast__icon {
  color: var(--srfcs-success);
}
.srfcs-toast--error {
  border-left: 4px solid var(--srfcs-danger);
}
.srfcs-toast--error .srfcs-toast__icon {
  color: var(--srfcs-danger);
}
.srfcs-toast--warning {
  border-left: 4px solid var(--srfcs-warning);
}
.srfcs-toast--warning .srfcs-toast__icon {
  color: var(--srfcs-warning);
}
.srfcs-toast--info {
  border-left: 4px solid var(--srfcs-info);
}
.srfcs-toast--info .srfcs-toast__icon {
  color: var(--srfcs-info);
}

@keyframes sfc-toast-slide-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.srfcs-document-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--srfcs-text-light);
}
.srfcs-document-icon svg {
  width: 100%;
  height: 100%;
}
.srfcs-document-icon--sm {
  width: 24px;
  height: 24px;
}
.srfcs-document-icon--md {
  width: 32px;
  height: 32px;
}
.srfcs-document-icon--lg {
  width: 48px;
  height: 48px;
}
.srfcs-document-icon--pdf {
  color: #dc2626;
}
.srfcs-document-icon--doc, .srfcs-document-icon--docx {
  color: #2563eb;
}
.srfcs-document-icon--xls, .srfcs-document-icon--xlsx {
  color: #16a34a;
}
.srfcs-document-icon--ppt, .srfcs-document-icon--pptx {
  color: #ea580c;
}
.srfcs-document-icon--txt {
  color: var(--srfcs-text-light);
}

.srfcs-document-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--srfcs-gray-100);
  border-radius: var(--srfcs-radius-md);
  overflow: hidden;
}
.srfcs-document-thumbnail__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.srfcs-document-thumbnail__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--srfcs-text-lighter);
}
.srfcs-document-thumbnail__fallback svg {
  width: 60%;
  height: 60%;
}
.srfcs-document-thumbnail--sm {
  width: 64px;
  height: 80px;
}
.srfcs-document-thumbnail--md {
  width: 120px;
  height: 150px;
}
.srfcs-document-thumbnail--lg {
  width: 200px;
  height: 250px;
}

.srfcs-version-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  background: var(--srfcs-gray-100);
  color: var(--srfcs-text-light);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-version-badge--current {
  background: var(--srfcs-primary-lighter);
  color: var(--srfcs-primary);
}

.srfcs-share-status-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  cursor: help;
}
.srfcs-share-status-indicator svg {
  width: 100%;
  height: 100%;
}
.srfcs-share-status-indicator--public {
  color: var(--srfcs-success);
}
.srfcs-share-status-indicator--private {
  color: var(--srfcs-text-light);
}
.srfcs-share-status-indicator--restricted {
  color: var(--srfcs-warning);
}

.srfcs-document-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  background: var(--srfcs-gray-100);
  color: var(--srfcs-text);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  border-radius: var(--srfcs-radius-sm);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.srfcs-document-type-badge--pdf {
  background: rgba(220, 38, 38, 0.1);
  color: #dc2626;
}
.srfcs-document-type-badge--doc, .srfcs-document-type-badge--docx {
  background: rgba(37, 99, 235, 0.1);
  color: #2563eb;
}
.srfcs-document-type-badge--xls, .srfcs-document-type-badge--xlsx {
  background: rgba(22, 163, 74, 0.1);
  color: #16a34a;
}
.srfcs-document-type-badge--ppt, .srfcs-document-type-badge--pptx {
  background: rgba(234, 88, 12, 0.1);
  color: #ea580c;
}

.srfcs-last-modified-timestamp {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
}

.srfcs-file-size-indicator {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
}

.srfcs-document-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.srfcs-document-status-dot--draft {
  background: var(--srfcs-warning);
}
.srfcs-document-status-dot--published {
  background: var(--srfcs-success);
}
.srfcs-document-status-dot--archived {
  background: var(--srfcs-gray-400);
}

.srfcs-document-card {
  display: flex;
  flex-direction: column;
  padding: var(--srfcs-space-4);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  cursor: pointer;
  transition: all 0.15s ease;
}
.srfcs-document-card:hover {
  border-color: var(--srfcs-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.srfcs-document-card__thumbnail {
  width: 100%;
  height: 160px;
  margin-bottom: var(--srfcs-space-3);
  border-radius: var(--srfcs-radius-md);
  overflow: hidden;
  background: var(--srfcs-gray-50);
  display: flex;
  align-items: center;
  justify-content: center;
}
.srfcs-document-card__content {
  flex: 1;
}
.srfcs-document-card__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin-bottom: var(--srfcs-space-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.srfcs-document-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-2);
}
.srfcs-document-card__status {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  margin-top: var(--srfcs-space-2);
}
.srfcs-document-card__actions {
  display: flex;
  gap: var(--srfcs-space-2);
  margin-top: var(--srfcs-space-3);
  padding-top: var(--srfcs-space-3);
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-document-header {
  padding: var(--srfcs-space-4) 0;
  border-bottom: 1px solid var(--srfcs-border);
  margin-bottom: var(--srfcs-space-6);
}
.srfcs-document-header__breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
}
.srfcs-document-header__breadcrumb-item {
  color: var(--srfcs-text-light);
  text-decoration: none;
}
.srfcs-document-header__breadcrumb-item:hover {
  color: var(--srfcs-primary);
}
.srfcs-document-header__breadcrumb-item:not(:last-child)::after {
  content: "›";
  margin-left: var(--srfcs-space-2);
  color: var(--srfcs-text-lighter);
}
.srfcs-document-header__main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--srfcs-space-4);
}
.srfcs-document-header__title {
  font-size: var(--srfcs-text-2xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
  margin: 0;
  flex: 1;
}
.srfcs-document-header__actions {
  display: flex;
  gap: var(--srfcs-space-2);
}

.srfcs-document-actions-bar {
  display: flex;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) 0;
}
.srfcs-document-actions-bar__action {
  display: inline-flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: all 0.1s ease;
}
.srfcs-document-actions-bar__action:hover {
  background: var(--srfcs-gray-100);
  border-color: var(--srfcs-text-light);
}
.srfcs-document-actions-bar__action svg {
  flex-shrink: 0;
}
.srfcs-document-actions-bar__action--danger {
  color: var(--srfcs-danger);
  border-color: var(--srfcs-danger-light);
}
.srfcs-document-actions-bar__action--danger:hover {
  background: var(--srfcs-danger-lighter);
  border-color: var(--srfcs-danger);
}

.srfcs-delete-confirmation-dialog {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.srfcs-delete-confirmation-dialog__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}
.srfcs-delete-confirmation-dialog__content {
  position: relative;
  width: 90%;
  max-width: 400px;
  padding: var(--srfcs-space-6);
  background: var(--srfcs-bg);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: 0 20px 60px -10px rgba(0, 0, 0, 0.3);
}
.srfcs-delete-confirmation-dialog__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-3) 0;
}
.srfcs-delete-confirmation-dialog__message {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  margin: 0 0 var(--srfcs-space-6) 0;
  line-height: 1.5;
}
.srfcs-delete-confirmation-dialog__actions {
  display: flex;
  gap: var(--srfcs-space-2);
  justify-content: flex-end;
}
.srfcs-delete-confirmation-dialog__cancel {
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-delete-confirmation-dialog__cancel:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-delete-confirmation-dialog__confirm {
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-white);
  background: var(--srfcs-danger);
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-delete-confirmation-dialog__confirm:hover {
  background: var(--srfcs-danger-hover);
}

.srfcs-restore-confirmation-dialog {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.srfcs-restore-confirmation-dialog__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}
.srfcs-restore-confirmation-dialog__content {
  position: relative;
  width: 90%;
  max-width: 400px;
  padding: var(--srfcs-space-6);
  background: var(--srfcs-bg);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: 0 20px 60px -10px rgba(0, 0, 0, 0.3);
}
.srfcs-restore-confirmation-dialog__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-3) 0;
}
.srfcs-restore-confirmation-dialog__message {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  margin: 0 0 var(--srfcs-space-6) 0;
  line-height: 1.5;
}
.srfcs-restore-confirmation-dialog__actions {
  display: flex;
  gap: var(--srfcs-space-2);
  justify-content: flex-end;
}
.srfcs-restore-confirmation-dialog__cancel {
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-restore-confirmation-dialog__cancel:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-restore-confirmation-dialog__confirm {
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-white);
  background: var(--srfcs-primary);
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-restore-confirmation-dialog__confirm:hover {
  background: var(--srfcs-primary-hover);
}

.srfcs-document-metadata-panel {
  padding: var(--srfcs-space-4);
  background: var(--srfcs-bg-subtle);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}
.srfcs-document-metadata-panel__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-4) 0;
}
.srfcs-document-metadata-panel__list {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-3);
  margin: 0;
  padding: 0;
}
.srfcs-document-metadata-panel__item {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
}
.srfcs-document-metadata-panel__item dt {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-lighter);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.srfcs-document-metadata-panel__item dd {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-document-row {
  border-bottom: 1px solid var(--srfcs-border);
  transition: background 0.1s ease;
}
.srfcs-document-row:hover {
  background: var(--srfcs-bg-subtle);
}
.srfcs-document-row__icon {
  width: 48px;
  padding: var(--srfcs-space-3);
}
.srfcs-document-row__title {
  padding: var(--srfcs-space-3);
}
.srfcs-document-row__title-text {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
  display: block;
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-document-row__meta {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}
.srfcs-document-row__author {
  padding: var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
}
.srfcs-document-row__modified {
  padding: var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
}
.srfcs-document-row__size {
  padding: var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
}
.srfcs-document-row__actions {
  padding: var(--srfcs-space-3);
  text-align: right;
}

.srfcs-share-settings-panel {
  padding: var(--srfcs-space-4);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
}
.srfcs-share-settings-panel__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-4) 0;
}
.srfcs-share-settings-panel__section {
  margin-bottom: var(--srfcs-space-4);
}
.srfcs-share-settings-panel__section:last-child {
  margin-bottom: 0;
}
.srfcs-share-settings-panel__label {
  display: block;
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
  margin-bottom: var(--srfcs-space-2);
}
.srfcs-share-settings-panel__label input[type=checkbox] {
  margin-right: var(--srfcs-space-2);
}
.srfcs-share-settings-panel__status {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2);
  background: var(--srfcs-bg-subtle);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-share-settings-panel__status-text {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
}
.srfcs-share-settings-panel__hint {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-lighter);
  margin: var(--srfcs-space-1) 0 0 0;
}
.srfcs-share-settings-panel__collaborators {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
}
.srfcs-share-settings-panel__collaborator {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-2);
  background: var(--srfcs-bg-subtle);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-share-settings-panel__collaborator-name {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}
.srfcs-share-settings-panel__collaborator-role {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-light);
  text-transform: capitalize;
}
.srfcs-share-settings-panel__actions {
  margin-top: var(--srfcs-space-4);
  padding-top: var(--srfcs-space-4);
  border-top: 1px solid var(--srfcs-border);
}
.srfcs-share-settings-panel__invite-btn {
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-white);
  background: var(--srfcs-primary);
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-share-settings-panel__invite-btn:hover {
  background: var(--srfcs-primary-hover);
}

.srfcs-documents-index {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.srfcs-documents-index__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--srfcs-space-4);
  padding: var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-documents-index__search {
  flex: 1;
  max-width: 400px;
}
.srfcs-documents-index__search-input {
  width: 100%;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-documents-index__search-input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
}
.srfcs-documents-index__controls {
  display: flex;
  gap: var(--srfcs-space-2);
  align-items: center;
}
.srfcs-documents-index__view-toggle {
  padding: var(--srfcs-space-2);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
}
.srfcs-documents-index__view-toggle:hover {
  background: var(--srfcs-gray-100);
}
.srfcs-documents-index__sort {
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-documents-index__content {
  display: flex;
  flex: 1;
  overflow: hidden;
}
.srfcs-documents-index__filters {
  width: 240px;
  padding: var(--srfcs-space-4);
  border-right: 1px solid var(--srfcs-border);
  overflow-y: auto;
}
.srfcs-documents-index__filters h3 {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-4) 0;
}
.srfcs-documents-index__filter-group {
  margin-bottom: var(--srfcs-space-4);
}
.srfcs-documents-index__filter-group label {
  display: block;
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-light);
  margin-bottom: var(--srfcs-space-2);
}
.srfcs-documents-index__filter-group select {
  width: 100%;
  padding: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-documents-index__main {
  flex: 1;
  padding: var(--srfcs-space-4);
  overflow-y: auto;
}
.srfcs-documents-index__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--srfcs-space-4);
}
.srfcs-documents-index__grid--list {
  grid-template-columns: 1fr;
  gap: var(--srfcs-space-2);
}

.srfcs-document-viewer {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.srfcs-document-viewer__body {
  display: flex;
  flex: 1;
  overflow: hidden;
}
.srfcs-document-viewer__content {
  flex: 1;
  padding: var(--srfcs-space-6);
  overflow-y: auto;
}
.srfcs-document-viewer__sidebar {
  width: 320px;
  padding: var(--srfcs-space-4);
  border-left: 1px solid var(--srfcs-border);
  overflow-y: auto;
  background: var(--srfcs-bg-subtle);
}

.srfcs-document-trash {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.srfcs-document-trash__header {
  padding: var(--srfcs-space-6);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-document-trash__title {
  font-size: var(--srfcs-text-2xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
  margin: 0 0 var(--srfcs-space-2) 0;
}
.srfcs-document-trash__description {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-light);
  margin: 0;
}
.srfcs-document-trash__content {
  flex: 1;
  padding: var(--srfcs-space-6);
  overflow-y: auto;
}
.srfcs-document-trash__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--srfcs-space-4);
}

.srfcs-document-sharing {
  display: flex;
  flex-direction: column;
  max-width: 600px;
  margin: 0 auto;
}
.srfcs-document-sharing__header {
  padding: var(--srfcs-space-6);
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-document-sharing__title {
  font-size: var(--srfcs-text-2xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
  margin: 0;
}
.srfcs-document-sharing__content {
  padding: var(--srfcs-space-6);
}

.srfcs-app-rail {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 48px;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  padding: var(--srfcs-space-2) 0;
  z-index: 50;
  border-right: 1px solid var(--srfcs-border);
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.08);
}

.srfcs-app-rail--dark {
  background-color: #0f172a;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: none;
}
.srfcs-app-rail--dark .srfcs-app-rail__btn {
  color: rgba(255, 255, 255, 0.7);
}
.srfcs-app-rail--dark .srfcs-app-rail__btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.srfcs-app-rail--dark .srfcs-app-rail__btn--active {
  background-color: rgba(59, 130, 246, 0.2);
  color: #ffffff;
}
.srfcs-app-rail--dark .srfcs-app-rail__btn--active .srfcs-app-rail__indicator {
  background-color: var(--srfcs-primary);
}
.srfcs-app-rail--dark .srfcs-app-rail__initials {
  background-color: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.srfcs-app-rail--dark .srfcs-app-rail__btn--user .srfcs-app-rail__icon {
  color: rgba(255, 255, 255, 0.7);
}

.srfcs-app-rail__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--srfcs-space-1);
}

.srfcs-app-rail__bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--srfcs-space-1);
}

.srfcs-app-rail__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--srfcs-radius-md);
  background: transparent;
  border: none;
  color: var(--srfcs-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.srfcs-app-rail__btn:hover {
  background-color: var(--srfcs-gray-100);
  color: var(--srfcs-text);
}
.srfcs-app-rail__btn:focus-visible {
  outline: 2px solid var(--srfcs-primary);
  outline-offset: 2px;
}
.srfcs-app-rail__btn--active {
  background-color: #374151;
  color: #ffffff;
}
.srfcs-app-rail__btn--active .srfcs-app-rail__indicator {
  opacity: 1;
  transform: scaleY(1);
}
.srfcs-app-rail__btn--active .srfcs-app-rail__icon,
.srfcs-app-rail__btn--active .srfcs-app-rail__icon svg {
  color: #ffffff;
  stroke: #ffffff;
}
.srfcs-app-rail__btn--active:hover {
  background-color: #4b5563;
  color: #ffffff;
}
.srfcs-app-rail__btn--user {
  margin-top: var(--srfcs-space-2);
}

.srfcs-app-rail__indicator {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scaleY(0);
  width: 3px;
  height: 24px;
  background-color: #374151;
  border-radius: 0 var(--srfcs-radius-sm) var(--srfcs-radius-sm) 0;
  opacity: 0;
  transition: all 0.15s ease;
}

.srfcs-app-rail__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: inherit;
}
.srfcs-app-rail__icon svg {
  display: block;
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}
.srfcs-app-rail__icon [class^=hero-],
.srfcs-app-rail__icon [class*=" hero-"] {
  display: inline-block;
  width: 24px;
  height: 24px;
}

.hero-sun {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-check-circle {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-map-pin {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-document-text {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-chat-bubble-bottom-center-text {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 0 1 .865-.501 48.172 48.172 0 0 0 3.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 0 1 .865-.501 48.172 48.172 0 0 0 3.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-book-open {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-question-mark-circle {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-cog-6-tooth {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.hero-user {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.srfcs-app-rail__avatar {
  width: 32px;
  height: 32px;
  border-radius: var(--srfcs-radius-full);
  object-fit: cover;
}

.srfcs-app-rail__initials {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--srfcs-radius-full);
  background-color: var(--srfcs-gray-200);
  color: var(--srfcs-gray-700);
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  text-transform: uppercase;
}

.srfcs-app-rail__btn[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  background-color: var(--srfcs-gray-900);
  color: #ffffff;
  font-size: var(--srfcs-text-xs);
  white-space: nowrap;
  border-radius: var(--srfcs-radius-sm);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0.15s ease;
  z-index: 100;
  pointer-events: none;
}
.srfcs-app-rail__btn[data-tooltip]:hover::after {
  opacity: 1;
  visibility: visible;
}

.srfcs-app-rail__user-menu {
  position: relative;
}

.srfcs-app-rail__user-dropdown {
  position: absolute;
  left: calc(100% + 8px);
  bottom: 0;
  min-width: 200px;
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  box-shadow: var(--srfcs-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-8px);
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
  z-index: 100;
}

.srfcs-app-rail__user-menu:hover .srfcs-app-rail__user-dropdown,
.srfcs-app-rail__user-menu:focus-within .srfcs-app-rail__user-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.srfcs-app-rail__user-header {
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  border-bottom: 1px solid var(--srfcs-border);
}

.srfcs-app-rail__user-name {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  font-size: var(--srfcs-text-sm);
}

.srfcs-app-rail__user-email {
  color: var(--srfcs-text-muted);
  font-size: var(--srfcs-text-xs);
  margin-top: 2px;
}

.srfcs-app-rail__user-links {
  padding: var(--srfcs-space-2) 0;
}

.srfcs-app-rail__user-link {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3);
  padding: var(--srfcs-space-2) var(--srfcs-space-4);
  color: var(--srfcs-text);
  text-decoration: none;
  font-size: var(--srfcs-text-sm);
  transition: background-color 0.15s ease;
}
.srfcs-app-rail__user-link:hover {
  background-color: var(--srfcs-bg-hover);
}
.srfcs-app-rail__user-link .srfcs-icon {
  width: 1rem;
  height: 1rem;
  color: var(--srfcs-text-muted);
}

.srfcs-app-rail__user-link--danger {
  color: var(--srfcs-danger);
}
.srfcs-app-rail__user-link--danger .srfcs-icon {
  color: var(--srfcs-danger);
}
.srfcs-app-rail__user-link--danger:hover {
  background-color: var(--srfcs-danger-subtle);
}

.srfcs-app-rail__user-divider {
  height: 1px;
  background-color: var(--srfcs-border);
  margin: var(--srfcs-space-2) 0;
}

.srfcs-with-app-rail {
  margin-left: 48px;
}

@media (max-width: 640px) {
  .srfcs-app-rail--responsive {
    display: none;
  }
  .srfcs-with-app-rail--responsive {
    margin-left: 0;
  }
}
.srfcs-icon {
  display: inline-block;
  vertical-align: middle;
  width: 1.25rem;
  height: 1.25rem;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.srfcs-icon--sm {
  width: 1rem;
  height: 1rem;
}

.srfcs-icon--lg {
  width: 1.5rem;
  height: 1.5rem;
}

.srfcs-icon--xl {
  width: 2rem;
  height: 2rem;
}

.hero-pencil {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10'/%3E%3C/svg%3E");
}

.hero-trash {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0'/%3E%3C/svg%3E");
}

.hero-eye {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E");
}

.hero-plus {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 4.5v15m7.5-7.5h-15'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 4.5v15m7.5-7.5h-15'/%3E%3C/svg%3E");
}

.hero-x-mark {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18 18 6M6 6l12 12'/%3E%3C/svg%3E");
}

.hero-check {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m4.5 12.75 6 6 9-13.5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m4.5 12.75 6 6 9-13.5'/%3E%3C/svg%3E");
}

.hero-cog-6-tooth {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E");
}

.hero-arrow-path {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99'/%3E%3C/svg%3E");
}

.hero-information-circle {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z'/%3E%3C/svg%3E");
}

.hero-exclamation-circle {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z'/%3E%3C/svg%3E");
}

.hero-chevron-down {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.hero-chevron-right {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m8.25 4.5 7.5 7.5-7.5 7.5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m8.25 4.5 7.5 7.5-7.5 7.5'/%3E%3C/svg%3E");
}

.hero-magnifying-glass {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z'/%3E%3C/svg%3E");
}

.hero-bars-3 {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5'/%3E%3C/svg%3E");
}

.hero-user {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z'/%3E%3C/svg%3E");
}

.hero-question-mark-circle {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z'/%3E%3C/svg%3E");
}

.hero-play {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986V5.653Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986V5.653Z'/%3E%3C/svg%3E");
}

.hero-stop {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5.25 7.5A2.25 2.25 0 0 1 7.5 5.25h9a2.25 2.25 0 0 1 2.25 2.25v9a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-9Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5.25 7.5A2.25 2.25 0 0 1 7.5 5.25h9a2.25 2.25 0 0 1 2.25 2.25v9a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-9Z'/%3E%3C/svg%3E");
}

.hero-arrow-right-on-rectangle {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9'/%3E%3C/svg%3E");
}

.srfcs-color-swatch-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 2px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s ease;
  box-shadow: var(--srfcs-shadow-sm);
}
.srfcs-color-swatch-btn:hover {
  border-color: var(--srfcs-text);
  transform: scale(1.05);
}
.srfcs-color-swatch-btn:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px var(--srfcs-primary-light);
}

.srfcs-color-picker {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-3);
}

.srfcs-color-picker__mode-toggle {
  display: flex;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-1);
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-lg);
}

.srfcs-color-picker__mode-btn {
  flex: 1;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  background: transparent;
  border: none;
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  transition: all 0.15s ease;
}
.srfcs-color-picker__mode-btn:hover {
  color: var(--srfcs-text);
}
.srfcs-color-picker__mode-btn.is-active {
  background-color: var(--srfcs-bg);
  color: var(--srfcs-text);
  box-shadow: var(--srfcs-shadow-sm);
}

.srfcs-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-2);
}

.srfcs-color-swatch {
  cursor: pointer;
}

.srfcs-color-swatch__color {
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: var(--srfcs-radius-full);
  border: 2px solid transparent;
  transition: all 0.15s ease;
  box-shadow: var(--srfcs-shadow-sm);
}
.srfcs-color-swatch__color:hover {
  transform: scale(1.1);
  border-color: var(--srfcs-border);
}

.srfcs-color-swatch__color--selected {
  border-color: var(--srfcs-text) !important;
  box-shadow: 0 0 0 3px var(--srfcs-primary-light), var(--srfcs-shadow-md);
  transform: scale(1.1);
}

.srfcs-color-swatches--lg .srfcs-color-swatch__color {
  width: 2.5rem;
  height: 2.5rem;
}

.srfcs-color-swatches--sm .srfcs-color-swatch__color {
  width: 1.5rem;
  height: 1.5rem;
}

.srfcs-color-wheel {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-4);
}

.srfcs-color-wheel__preview-row {
  display: flex;
  gap: var(--srfcs-space-3);
  align-items: flex-start;
}

.srfcs-color-wheel__preview {
  width: 4rem;
  height: 4rem;
  border-radius: var(--srfcs-radius-lg);
  border: 1px solid var(--srfcs-border);
  flex-shrink: 0;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
}

.srfcs-color-wheel__values {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
}

.srfcs-color-wheel__hex-group {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-color-wheel__hex-label {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text-muted);
  width: 2.5rem;
}

.srfcs-color-wheel__hex-input {
  flex: 1;
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  font-family: "SF Mono", Monaco, Consolas, monospace;
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
}
.srfcs-color-wheel__hex-input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px var(--srfcs-primary-light);
}

.srfcs-color-wheel__rgb-sliders {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-3);
}

.srfcs-color-wheel__slider-group {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-color-wheel__slider-label {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text-muted);
  width: 1rem;
  text-align: center;
}

.srfcs-color-wheel__slider {
  flex: 1;
  height: 0.5rem;
  appearance: none;
  background: linear-gradient(to right, #000, #f00);
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
}
.srfcs-color-wheel__slider::-webkit-slider-thumb {
  appearance: none;
  width: 1rem;
  height: 1rem;
  background: var(--srfcs-bg);
  border: 2px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
  box-shadow: var(--srfcs-shadow-sm);
  transition: transform 0.15s ease;
}
.srfcs-color-wheel__slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
}
.srfcs-color-wheel__slider::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background: var(--srfcs-bg);
  border: 2px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
}

.srfcs-color-wheel__slider--red {
  background: linear-gradient(to right, #000, #f00);
}

.srfcs-color-wheel__slider--green {
  background: linear-gradient(to right, #000, #0f0);
}

.srfcs-color-wheel__slider--blue {
  background: linear-gradient(to right, #000, #00f);
}

.srfcs-color-wheel__slider-value {
  font-size: var(--srfcs-text-xs);
  font-family: "SF Mono", Monaco, Consolas, monospace;
  color: var(--srfcs-text-muted);
  width: 2rem;
  text-align: right;
}

.srfcs-color-native {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-color-native__input {
  width: 3rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md);
  cursor: pointer;
  overflow: hidden;
}
.srfcs-color-native__input::-webkit-color-swatch-wrapper {
  padding: 0;
}
.srfcs-color-native__input::-webkit-color-swatch {
  border: none;
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-color-native__input::-moz-color-swatch {
  border: none;
}
.srfcs-color-native__input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px var(--srfcs-primary-light);
}

.srfcs-color-native__label {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
}

.srfcs-color-picker--compact .srfcs-color-wheel__preview {
  width: 2.5rem;
  height: 2.5rem;
}
.srfcs-color-picker--compact .srfcs-color-swatches {
  gap: var(--srfcs-space-1);
}
.srfcs-color-picker--compact .srfcs-color-swatch__color {
  width: 1.5rem;
  height: 1.5rem;
}

:root {
  --co-inbox-primary: #CC0000;
  --co-inbox-primary-hover: #AA0000;
  --co-inbox-primary-light: #FDE8E8;
  --co-inbox-text: #323130;
  --co-inbox-text-secondary: #605E5C;
  --co-inbox-text-tertiary: #A19F9D;
  --co-inbox-bg-white: #FFFFFF;
  --co-inbox-bg-gray: #F3F3F3;
  --co-inbox-bg-light: #F9F9FB;
  --co-inbox-bg-hover: #F5F5F5;
  --co-inbox-bg-selected: #FDE8E8;
  --co-inbox-border: #E1E1E1;
  --co-inbox-border-dark: #D1D1D1;
  --co-inbox-rail-bg: #001F3F;
  --outlook-blue: #CC0000;
  --outlook-blue-hover: #AA0000;
  --outlook-blue-light: #FDE8E8;
  --outlook-border: #E1E1E1;
  --outlook-border-dark: #D1D1D1;
  --outlook-bg-gray: #F3F3F3;
  --outlook-bg-light: #F9F9FB;
  --outlook-text: #323130;
  --outlook-text-secondary: #605E5C;
  --outlook-text-tertiary: #A19F9D;
  --outlook-unread-bar: #CC0000;
  --outlook-selected-bg: #FDE8E8;
  --outlook-hover-bg: #F5F5F5;
}

:root {
  --co-inbox-font-family: Segoe UI, -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, sans-serif;
  --co-inbox-font-mono: Cascadia Code, Fira Code, Consolas, Monaco, Courier New, monospace;
}

.admin-dashboard {
  display: flex;
  min-height: 100vh;
  background-color: #f9fafb;
}
.admin-dashboard .admin-dashboard-sidebar {
  width: 16rem;
  background-color: #1f2937;
  color: #fff;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
.admin-dashboard .admin-dashboard-sidebar .admin-dashboard-sidebar-header {
  padding: 1.5rem;
  border-bottom: 1px solid #374151;
}
.admin-dashboard .admin-dashboard-sidebar .admin-dashboard-logo {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.admin-dashboard .admin-dashboard-sidebar .admin-dashboard-sidebar-nav {
  flex: 1;
  padding: 1rem;
  overflow-y: auto;
}
.admin-dashboard .admin-dashboard-sidebar .admin-dashboard-sidebar-nav a {
  display: block;
  padding: 0.75rem 1rem;
  color: #9ca3af;
  text-decoration: none;
  border-radius: 6px;
  margin-bottom: 0.5rem;
  transition: all 0.2s;
}
.admin-dashboard .admin-dashboard-sidebar .admin-dashboard-sidebar-nav a:hover {
  background-color: #374151;
  color: #fff;
}
.admin-dashboard .admin-dashboard-sidebar .admin-dashboard-sidebar-nav a.active {
  background-color: blueviolet;
  color: #fff;
}
.admin-dashboard .admin-dashboard-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.admin-dashboard .admin-dashboard-header {
  background-color: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 1.5rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}
.admin-dashboard .admin-dashboard-header .admin-dashboard-header-content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.admin-dashboard .admin-dashboard-header .admin-dashboard-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #111827;
  margin: 0;
}
.admin-dashboard .admin-dashboard-header .admin-dashboard-user {
  font-size: 0.95rem;
  color: #6b7280;
}
.admin-dashboard .admin-dashboard-header .admin-dashboard-header-actions {
  display: flex;
  gap: 0.75rem;
}
.admin-dashboard .admin-dashboard-content {
  flex: 1;
  padding: 2rem;
  overflow-y: auto;
}
.admin-dashboard .admin-dashboard-content .stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.admin-dashboard-condensed .admin-dashboard-sidebar {
  width: 12rem;
}
.admin-dashboard-condensed .admin-dashboard-header {
  padding: 1rem 1.5rem;
}
.admin-dashboard-condensed .admin-dashboard-title {
  font-size: 1.5rem;
}
.admin-dashboard-condensed .admin-dashboard-content {
  padding: 1.5rem;
}

.admin-dashboard-wide .admin-dashboard-sidebar {
  width: 18rem;
}
.admin-dashboard-wide .admin-dashboard-content {
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}

@media (max-width: 1024px) {
  .admin-dashboard .admin-dashboard-sidebar {
    width: 14rem;
  }
}
@media (max-width: 768px) {
  .admin-dashboard .admin-dashboard-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 50;
    transform: translateX(-100%);
    transition: transform 0.3s;
  }
  .admin-dashboard .admin-dashboard-sidebar.open {
    transform: translateX(0);
  }
  .admin-dashboard .admin-dashboard-header {
    padding: 1rem;
  }
  .admin-dashboard .admin-dashboard-title {
    font-size: 1.25rem;
  }
  .admin-dashboard .admin-dashboard-content {
    padding: 1rem;
  }
  .admin-dashboard .admin-dashboard-content .stats-grid {
    grid-template-columns: 1fr;
  }
}
.profile-page {
  max-width: 1024px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
}
.profile-page .profile-page-header {
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 2rem;
  margin-bottom: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}
.profile-page .profile-page-header .profile-page-header-content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
}
.profile-page .profile-page-header .profile-page-avatar {
  flex-shrink: 0;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  overflow: hidden;
}
.profile-page .profile-page-header .profile-page-avatar .profile-page-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.profile-page .profile-page-header .profile-page-avatar .profile-page-avatar-placeholder {
  width: 100%;
  height: 100%;
  background-color: blueviolet;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 600;
}
.profile-page .profile-page-header .profile-page-info {
  flex: 1;
}
.profile-page .profile-page-header .profile-page-name {
  font-size: 1.75rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 0.5rem 0;
}
.profile-page .profile-page-header .profile-page-email {
  font-size: 1rem;
  color: #6b7280;
  margin: 0;
}
.profile-page .profile-page-header .profile-page-header-actions {
  flex-shrink: 0;
}
.profile-page .profile-page-header .profile-page-edit-btn {
  padding: 0.625rem 1.25rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #fff;
  background-color: blueviolet;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}
.profile-page .profile-page-header .profile-page-edit-btn:hover {
  background-color: #7c3aed;
}
.profile-page .profile-page-tabs {
  display: flex;
  gap: 0.5rem;
  border-bottom: 2px solid #e5e7eb;
  margin-bottom: 2rem;
}
.profile-page .profile-page-tabs .profile-page-tab {
  padding: 0.75rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #6b7280;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.profile-page .profile-page-tabs .profile-page-tab:hover {
  color: #111827;
  background-color: #f9fafb;
}
.profile-page .profile-page-tabs .profile-page-tab:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.1);
}
.profile-page .profile-page-tabs .profile-page-tab.profile-page-tab-active {
  color: blueviolet;
  border-bottom-color: blueviolet;
}
.profile-page .profile-page-content .profile-page-section {
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 2rem;
}

.profile-page-compact {
  padding: 1.5rem 1rem;
}
.profile-page-compact .profile-page-header {
  padding: 1.5rem;
}
.profile-page-compact .profile-page-avatar {
  width: 4rem;
  height: 4rem;
}
.profile-page-compact .profile-page-name {
  font-size: 1.5rem;
}
.profile-page-compact .profile-page-content .profile-page-section {
  padding: 1.5rem;
}

.profile-page-wide {
  max-width: 1400px;
}
.profile-page-wide .profile-page-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
  gap: 2rem;
}

@media (max-width: 768px) {
  .profile-page {
    padding: 1rem;
  }
  .profile-page .profile-page-header {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem;
  }
  .profile-page .profile-page-header .profile-page-header-content {
    flex-direction: column;
    align-items: flex-start;
  }
  .profile-page .profile-page-header .profile-page-header-actions {
    width: 100%;
  }
  .profile-page .profile-page-header .profile-page-header-actions .profile-page-edit-btn {
    width: 100%;
  }
  .profile-page .profile-page-avatar {
    width: 4rem;
    height: 4rem;
  }
  .profile-page .profile-page-name {
    font-size: 1.5rem;
  }
  .profile-page .profile-page-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .profile-page .profile-page-tabs .profile-page-tab {
    flex-shrink: 0;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
  }
  .profile-page .profile-page-content .profile-page-section {
    padding: 1.5rem;
  }
}
#layout {
  display: grid;
  grid-template-columns: 160px 1fr;
  grid-template-rows: 50px auto;
  gap: 20px;
}

#layout-top {
  grid-row: 1;
  grid-column-start: 1;
  grid-column-end: 3;
  background-color: #fff;
  border-bottom: 1px silver solid;
}

#layout-left {
  grid-column: 1;
  grid-row: 2;
}

#layout-middle {
  grid-column: 2;
  grid-row: 2;
}

#layout-right {
  grid-column: 3;
  grid-row: 2;
}

#layout-bottom {
  grid-column: 3/3;
  grid-row: 3;
}

.layout-co {
  width: auto;
  display: inline-block;
  vertical-align: top;
}

.container {
  margin: 0 auto;
  max-width: 100%;
  padding: 0 2rem;
  position: relative;
  width: 100%;
}

main,
.phx-connected {
  width: auto;
}

.dashboard {
  padding: 1em;
}
.dashboard .card {
  border: 1px solid #ccc;
  background-color: #fff;
  width: 300px;
  min-height: 300px;
  display: inline-block;
  margin: 0.5em;
  box-shadow: 1px #ccc;
}
.dashboard .card h4.card-title {
  margin: 1em;
  border-bottom: 1px solid #ccc;
}
.dashboard .recent-transactions table,
.dashboard .upcoming-transactions table {
  font-size: 0.85em;
}
.dashboard .recent-transactions table .date,
.dashboard .upcoming-transactions table .date {
  white-space: nowrap;
}

.footer-nav {
  background-color: #1f2937;
  color: #9ca3af;
  padding: 3rem 0 1.5rem;
  margin-top: 4rem;
}
.footer-nav .footer-nav-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.footer-nav .footer-nav-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}
.footer-nav .footer-nav-group .footer-nav-group-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 1rem 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.footer-nav .footer-nav-group .footer-nav-group-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.footer-nav .footer-nav-group .footer-nav-item {
  margin: 0;
}
.footer-nav .footer-nav-group .footer-nav-link {
  font-size: 0.95rem;
  color: #9ca3af;
  text-decoration: none;
  transition: color 0.2s;
}
.footer-nav .footer-nav-group .footer-nav-link:hover {
  color: #fff;
}
.footer-nav .footer-nav-bottom {
  padding-top: 2rem;
  border-top: 1px solid #374151;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}
.footer-nav .footer-nav-copyright {
  font-size: 0.875rem;
  color: #6b7280;
}
.footer-nav .footer-nav-social {
  display: flex;
  gap: 1rem;
}
.footer-nav .footer-nav-social a {
  color: #9ca3af;
  transition: color 0.2s;
}
.footer-nav .footer-nav-social a:hover {
  color: #fff;
}

.footer-nav-simple {
  padding: 2rem 0;
  background-color: #f9fafb;
  color: #6b7280;
  margin-top: 2rem;
}
.footer-nav-simple .footer-nav-bottom {
  padding-top: 0;
  border-top: none;
  justify-content: center;
}
.footer-nav-simple .footer-nav-copyright {
  color: #6b7280;
}

.footer-nav-detailed {
  padding: 4rem 0 2rem;
}
.footer-nav-detailed .footer-nav-content {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 3rem;
  margin-bottom: 4rem;
}
.footer-nav-detailed .footer-nav-group-title {
  font-size: 1.05rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  .footer-nav {
    padding: 2rem 0 1rem;
  }
  .footer-nav .footer-nav-container {
    padding: 0 1rem;
  }
  .footer-nav .footer-nav-content {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
  .footer-nav .footer-nav-bottom {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
}
@media (max-width: 480px) {
  .footer-nav .footer-nav-content {
    grid-template-columns: 1fr;
  }
}
.header-nav {
  background-color: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 1rem 0;
}
.header-nav .header-nav-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.header-nav .header-nav-logo {
  flex-shrink: 0;
}
.header-nav .header-nav-logo .header-nav-logo-link {
  font-size: 1.25rem;
  font-weight: 700;
  color: blueviolet;
  text-decoration: none;
  transition: opacity 0.2s;
}
.header-nav .header-nav-logo .header-nav-logo-link:hover {
  opacity: 0.8;
}
.header-nav .header-nav-menu {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.header-nav .header-nav-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s;
  white-space: nowrap;
}
.header-nav .header-nav-link:hover {
  background-color: #f9fafb;
  color: #111827;
}
.header-nav .header-nav-link.header-nav-link-active {
  background-color: #f3f4f6;
  color: blueviolet;
}
.header-nav .header-nav-link .header-nav-link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-nav .header-nav-actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.header-nav .header-nav-mobile-toggle {
  display: none;
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: #374151;
  border-radius: 6px;
  transition: all 0.2s;
}
.header-nav .header-nav-mobile-toggle:hover {
  background-color: #f9fafb;
}
.header-nav .header-nav-mobile-toggle svg {
  width: 1.5rem;
  height: 1.5rem;
}

.header-nav-sticky {
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.header-nav-transparent {
  background-color: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.header-nav-transparent .header-nav-logo-link,
.header-nav-transparent .header-nav-link {
  color: #fff;
}
.header-nav-transparent .header-nav-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.header-nav-transparent .header-nav-link-active {
  background-color: rgba(255, 255, 255, 0.2);
}

@media (max-width: 768px) {
  .header-nav .header-nav-container {
    padding: 0 1rem;
  }
  .header-nav .header-nav-menu {
    display: none;
  }
  .header-nav .header-nav-mobile-toggle {
    display: block;
  }
  .header-nav .header-nav-actions {
    gap: 0.5rem;
  }
}
.sfc-user-nav {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.sfc-user-nav__login-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: white;
  background-color: blueviolet;
  border-radius: 0.375rem;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.sfc-user-nav__login-btn:hover {
  background-color: #7c3aed;
}

.sfc-user-nav__dropdown-container {
  position: relative;
}

.sfc-user-nav__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem;
  background: transparent;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.sfc-user-nav__trigger:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.sfc-user-nav__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: blueviolet;
  color: white;
  font-weight: 600;
  font-size: 0.75rem;
  overflow: hidden;
}
.sfc-user-nav__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sfc-user-nav__initials {
  text-transform: uppercase;
  user-select: none;
}

.sfc-user-nav__chevron {
  color: #6b7280;
  transition: transform 0.15s ease;
}

.sfc-user-nav__dropdown-container.is-open .sfc-user-nav__chevron {
  transform: rotate(180deg);
}
.sfc-user-nav__dropdown-container.is-open .sfc-user-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sfc-user-nav__dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 0.5rem;
  min-width: 220px;
  background-color: white;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
  z-index: 50;
}

.sfc-user-nav__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
}

.sfc-user-nav__header-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: blueviolet;
  color: white;
  font-weight: 600;
  font-size: 0.875rem;
  overflow: hidden;
  flex-shrink: 0;
}
.sfc-user-nav__header-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sfc-user-nav__header-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.sfc-user-nav__header-name {
  font-weight: 600;
  font-size: 0.875rem;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sfc-user-nav__header-email {
  font-size: 0.75rem;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sfc-user-nav__divider {
  height: 1px;
  background-color: #e5e7eb;
  margin: 0.25rem 0;
}

.sfc-user-nav__menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  color: #374151;
  text-decoration: none;
  transition: background-color 0.1s ease;
}
.sfc-user-nav__menu-item:hover {
  background-color: #f3f4f6;
}

.sfc-user-nav__menu-icon {
  color: #6b7280;
  flex-shrink: 0;
}

.sfc-user-nav__logout {
  color: #dc2626;
}
.sfc-user-nav__logout .sfc-user-nav__menu-icon {
  color: #dc2626;
}
.sfc-user-nav__logout:hover {
  background-color: #fef2f2;
}

.nav-admin {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1em;
  background-color: #eee;
  font-size: 1em;
  list-style: none;
  margin-bottom: 0;
}

.date-period-nav {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.75rem;
  margin: 1rem auto;
  width: fit-content;
  min-width: 600px;
  max-width: 800px;
}
.date-period-nav .nav-container {
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  align-items: flex-start;
  gap: 0.5rem;
}
.date-period-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.date-period-nav .years-list {
  display: flex;
  position: relative;
  margin-bottom: 0;
}
.date-period-nav .year-item {
  flex: 1;
  position: relative;
}
.date-period-nav .year-item:first-child .period-year {
  border-radius: 8px 0 0 0;
  border-right: none;
}
.date-period-nav .year-item:nth-child(2) .period-year {
  border-radius: 0;
  border-left: none;
  border-right: none;
}
.date-period-nav .year-item:last-child .period-year {
  border-radius: 0 8px 0 0;
  border-left: none;
}
.date-period-nav .year-item::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 100px;
  background: white;
  border: 1px solid #e2e8f0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  z-index: 9;
  display: none;
  padding: 0.75rem;
}
.date-period-nav .quarters-list,
.date-period-nav .months-list {
  display: none;
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 0.75rem;
  right: 0.75rem;
  z-index: 10;
  background: transparent;
  border: none;
  padding: 0;
}
.date-period-nav .months-list {
  top: calc(100% + 60px);
}
.date-period-nav .year-item:has(.period-year.current)::before {
  display: block;
}
.date-period-nav .year-item:has(.period-year.current) .quarters-list,
.date-period-nav .year-item:has(.period-year.current) .months-list {
  display: grid;
}
.date-period-nav .year-item:hover::before {
  display: block !important;
}
.date-period-nav .year-item:hover .quarters-list,
.date-period-nav .year-item:hover .months-list {
  display: grid !important;
}
.date-period-nav .years-list:hover .year-item:not(:hover)::before,
.date-period-nav .years-list:hover .year-item:not(:hover) .quarters-list,
.date-period-nav .years-list:hover .year-item:not(:hover) .months-list {
  display: none;
}
.date-period-nav .quarters-list {
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}
.date-period-nav .months-list {
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 0.25rem;
}
.date-period-nav .year-nav-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: white;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 16px;
  font-weight: bold;
  color: #64748b;
}
.date-period-nav .year-nav-arrow:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #475569;
}
.date-period-nav .year-nav-arrow:active {
  background: #e2e8f0;
}
.date-period-nav .period-item {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 0.5rem;
  border-radius: 4px;
  transition: all 0.2s ease;
  color: #475569;
  border: 1px solid #e2e8f0;
  background: white;
}
.date-period-nav .period-item:hover {
  text-decoration: none;
  background: #f1f5f9;
  border-color: #8b5cf6;
  color: #7c3aed;
}
.date-period-nav .period-item.current {
  background: #8b5cf6;
  color: white;
  border-color: #8b5cf6;
}
.date-period-nav .period-item.current:hover {
  background: #7c3aed;
}
.date-period-nav .period-year {
  font-size: 1rem;
  font-weight: 600;
  padding: 0.75rem 1rem;
  border-bottom: none;
}
.date-period-nav .period-quarter {
  font-size: 0.75rem;
  padding: 0.4rem 0.5rem;
}
.date-period-nav .period-month {
  font-size: 0.65rem;
  padding: 0.3rem 0.4rem;
}
@media (max-width: 768px) {
  .date-period-nav {
    min-width: 300px;
    max-width: 350px;
  }
  .date-period-nav .quarters-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .date-period-nav .months-list {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
  }
  .date-period-nav .period-month {
    font-size: 0.6rem;
    padding: 0.25rem 0.3rem;
  }
}

.nav-user {
  position: absolute;
  top: 0px;
  right: 0px;
  padding: 1em;
  background-color: #eee;
  font-size: 0.8em;
  list-style: none;
}

.nav-user:hover {
  z-index: 100;
}

ul.nav-user {
  margin-right: 30px;
  padding: 0px;
}

.nav-user li {
  padding: 0px;
  margin-bottom: 2px;
  width: 150px;
}

.nav-user li a {
  color: gray;
  display: block;
  width: 100%;
  margin: 0px;
  padding: 8px 12px;
  line-height: 1.2em;
  font-size: 12px;
  background-color: #eee;
}

.nav-user li a:hover {
  background-color: #7c7c7c;
  color: #000;
}

.nav-user li.user-nav-settings,
.nav-user li.user-nav-logout {
  display: none;
}

.nav-user:hover li.user-nav-acct,
.nav-user:hover li.user-nav-settings,
.nav-user:hover li.user-nav-logout {
  display: block;
}

.nav-main {
  padding-left: 0;
}
.nav-main .li {
  list-style: none;
  width: 100%;
  background: #eee;
}
.nav-main .li a {
  display: inline-block;
  color: #fff;
  font-size: 12px;
  width: 100%;
  padding: 4px 8px;
  font-weight: bold;
  width: auto;
}
.nav-main li.nav-parent {
  margin-top: 15px;
  background-color: transparent;
  border: none;
}
.nav-main li.nav-parent a.nav-parent {
  font-size: 1em;
  font-weight: bold;
  background-color: #fff;
  display: block;
}
.nav-main li.nav-parent ul.nav-child {
  margin-left: 15px;
  padding-left: 0px;
}

.nav.horz {
  background-color: #eee;
  display: inline-block;
  padding: 4px 12px;
  border-radius: 3px;
}
.nav.horz .nav-label {
  display: inline-block;
  font-weight: bold;
}
.nav.horz ul.nav-views {
  display: inline-block;
  margin: 0px;
  padding: 8px 8px;
}
.nav.horz ul.nav-views li {
  display: inline-block;
}
.nav.horz ul.nav-views li a {
  padding: 0;
  background-color: #fff;
  padding: 4px 8px;
}
.nav.horz ul.nav-views li a:hover {
  background-color: purple;
  color: lime;
}

.nav.prev-next {
  display: inline-block;
  padding: 4px 12px;
}
.nav.prev-next a {
  display: inline-block;
  padding: 0;
  background-color: #ccc;
  height: 40px;
  color: #000;
  position: relative;
  width: auto;
  text-align: center;
  line-height: 40px;
  padding: 0px 20px;
  font-size: 0.9em;
}
.nav.prev-next a.prev:before {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
  right: 100%;
  top: 0;
  border: 20px solid transparent;
  border-right: 20px solid #ccc;
}
.nav.prev-next a.next:after {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
  left: 100%;
  top: 0;
  border: 20px solid transparent;
  border-left: 20px solid #ccc;
}
.nav.prev-next a.prev:hover,
.nav.prev-next a.next:hover {
  background-color: blue;
  color: #fff;
}
.nav.prev-next a.prev:hover:before {
  border-right-color: blue;
}
.nav.prev-next a.next:hover:after {
  border-left-color: blue;
}

.srfcs-directional-nav {
  background: var(--color-base-200, #f8fafc);
  border-bottom: 1px solid var(--color-base-300, #e2e8f0);
  padding: 0 1.5rem;
}

.srfcs-directional-nav__container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  height: 52px;
}

.srfcs-directional-nav__leading {
  position: relative;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--color-base-content, #1e293b);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem 0.5rem 1rem;
  min-width: max-content;
  text-decoration: none;
  transition: color 0.15s, background-color 0.15s;
  margin-right: 0.5rem;
  background: var(--color-base-100, #ffffff);
  border-radius: 0.375rem 0 0 0.375rem;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
  filter: drop-shadow(0 0 0 var(--color-primary, #ee2824)) drop-shadow(1px 0 0 var(--color-primary, #ee2824)) drop-shadow(-1px 0 0 var(--color-primary, #ee2824)) drop-shadow(0 1px 0 var(--color-primary, #ee2824)) drop-shadow(0 -1px 0 var(--color-primary, #ee2824));
}
.srfcs-directional-nav__leading:hover {
  background: var(--color-base-200, #f8fafc);
}
.srfcs-directional-nav__leading--active {
  background: var(--color-primary, #ee2824);
  color: var(--color-primary-content, #ffffff);
  filter: none;
}
.srfcs-directional-nav__leading--active svg {
  opacity: 1;
}
.srfcs-directional-nav__leading svg {
  width: 18px;
  height: 18px;
  opacity: 0.6;
}

.srfcs-directional-nav__tabs {
  display: flex;
  align-items: center;
  gap: 0;
  background: transparent;
  padding: 0;
}

.srfcs-directional-nav__tab {
  position: relative;
  padding: 0.5rem 1.25rem 0.5rem 1.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-base-content, #1e293b);
  text-decoration: none;
  opacity: 0.7;
  transition: all 0.15s ease;
  cursor: pointer;
  background: var(--color-base-100, #ffffff);
  margin-right: 2px;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
  filter: drop-shadow(0 0 0 var(--color-primary, #ee2824)) drop-shadow(1px 0 0 var(--color-primary, #ee2824)) drop-shadow(-1px 0 0 var(--color-primary, #ee2824)) drop-shadow(0 1px 0 var(--color-primary, #ee2824)) drop-shadow(0 -1px 0 var(--color-primary, #ee2824));
}
.srfcs-directional-nav__tab:hover {
  opacity: 1;
  background: var(--color-base-200, #f8fafc);
}
.srfcs-directional-nav__tab--first {
  padding-left: 1rem;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.srfcs-directional-nav__tab--last {
  padding-right: 1rem;
  margin-right: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%);
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}
.srfcs-directional-nav__tab--first.srfcs-directional-nav__tab--last {
  clip-path: none;
  border-radius: 0.375rem;
}
.srfcs-directional-nav__tab--active {
  opacity: 1;
  background: var(--color-primary, #ee2824);
  color: var(--color-primary-content, #ffffff);
  font-weight: 600;
  filter: none;
}

.layout-nav li {
  list-style: none;
}
.layout-nav .nav a {
  text-decoration: none;
}
.layout-nav .nav.horz {
  background-color: #eee;
  padding: 4px 8px;
  display: inline-block;
}
.layout-nav .nav.horz ul {
  padding: 0;
  margin: 0;
}
.layout-nav .nav.horz ul li {
  margin: 0;
  padding: 4px 8px;
  background-color: #fff;
}

.pagination .pagination-stats,
.pagination .pagination-nav {
  margin: 20px;
}
a {
  text-decoration: none;
}

h2 {
  margin-bottom: 0.25em;
}

.machine-details {
  color: #aaa;
  padding-bottom: 0.5em;
  font-size: 0.75em;
  margin-bottom: 1em;
}
.machine-details .id,
.machine-details .acronym {
  display: inline-block;
}

body {
  padding: 0;
  margin: 0;
  font-family: sans-serif;
}

.hide {
  display: none;
}

.date {
  white-space: nowrap;
}

table tr:hover {
  background-color: #efefef;
}

.trx-show div {
  padding: 2px;
  margin-bottom: 10px;
}

dl div {
  margin-bottom: 10px;
}

dt,
dd {
  display: inline-block;
}

dt {
  font-weight: bold;
  text-align: right;
}

dt {
  min-width: 120px;
}

dd {
  margin: 0;
}

.breadcrumb p {
  display: inline-block;
  background-color: #eee;
  font-size: 0.85em;
  padding: 4px 8px;
}
.status-needs-statement {
  background-color: #878787;
}

.status-fix-categories,
.status-needs-inputting {
  background-color: #bd4747;
}

.status-needs-review {
  background-color: #d28b19;
}

.status-inputted {
  background-color: #24b5bf;
}

.status-review-ma {
  background-color: #d2ba21;
}

.status-review-wk {
  background-color: #3d81af;
}

.status-categories-corrected {
  background-color: #2ebb51;
}

.status-transaction-budgeted {
  background-color: #a3e7b4;
  color: #09611f;
}

.status-transaction-pending {
  background-color: #12ab9f;
}

.status-transaction-planned {
  background-color: #3d81af;
}

.status-transaction-covered {
  background-color: #d2ba21;
}

.strong {
  font-weight: bold;
}

.status-transaction-overdue {
  background-color: #bd4747;
}

.status-transaction-overdue-urgent {
  background-color: #fe3d83;
}

.status-transaction-overdue-refi {
  background-color: #8f1a1a;
}

.status-transaction-overdue-refi-ca {
  background-color: #663030;
}

.status-transaction-processing {
  background-color: #d98638;
}

.status-transaction-cleared {
  background-color: #2789cf;
}

.status-transaction-paid {
  background-color: #2ebb51;
}

button,
.button,
.button a {
  display: inline-block;
  width: auto;
  padding: 8px 16px;
  color: #fff;
  font-size: 0.9em;
  border-radius: 3px;
  border: transparent 0px solid;
  cursor: pointer;
}

button.button-primary,
.button.button-primary {
  background-color: blueviolet;
}

button.button-primary:hover,
.button.button-primary:hover {
  background-color: #6a2d8f;
}

button.button-secondary,
.button.button-secondary {
  background-color: #505050;
}

button.button-secondary:hover,
.button.button-secondary:hover {
  background-color: #303030;
}

button:hover,
.button:hover {
  cursor: pointer;
}

button.button-admin,
.button.button-admin {
  padding: 0.5em 0.75em;
  line-height: 2em;
  height: auto;
  font-size: 12px;
}

.buttons-admin a {
  font-size: 0.8em;
  padding: 0;
  margin: 0;
}

.col-buttons-admin {
  width: auto;
  position: relative;
}

.buttons-admin .button {
  padding: 0.5em 0.75em;
  line-height: 2em;
  height: auto;
}

.buttons-admin .button a {
  font-size: 12px;
  color: white;
  line-height: 1em;
}

.checkbox-wrapper {
  display: inline-block;
  margin: 0.5rem 0;
}

.checkbox-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
.checkbox-label .checkbox-input {
  margin: 0;
  margin-right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  accent-color: blueviolet;
}
.checkbox-label .checkbox-input:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.checkbox-label .checkbox-text {
  color: #333;
  font-size: 1rem;
  line-height: 1.5;
}
.checkbox-label:hover .checkbox-input:not(:disabled) {
  opacity: 0.8;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  border-radius: 12px;
  white-space: nowrap;
  transition: all 0.2s;
}

.badge-small {
  padding: 0.15rem 0.5rem;
  font-size: 0.75rem;
}

.badge-medium {
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
}

.badge-large {
  padding: 0.4rem 1rem;
  font-size: 1rem;
}

.badge-default {
  background-color: #e0e0e0;
  color: #333;
}

.badge-primary {
  background-color: blueviolet;
  color: #fff;
}

.badge-success {
  background-color: #10b981;
  color: #fff;
}

.badge-warning {
  background-color: #f59e0b;
  color: #fff;
}

.badge-danger {
  background-color: #ef4444;
  color: #fff;
}

.badge-info {
  background-color: #3b82f6;
  color: #fff;
}

.divider {
  border: 0;
  background-color: #e0e0e0;
}

.divider-horizontal {
  width: 100%;
  height: 1px;
}

.divider-vertical {
  width: 1px;
  height: 100%;
  display: inline-block;
}

.divider-solid {
  background-color: #e0e0e0;
}

.divider-dashed {
  background: repeating-linear-gradient(to right, #e0e0e0 0px, #e0e0e0 8px, transparent 8px, transparent 16px);
}

.divider-dotted {
  background: repeating-linear-gradient(to right, #e0e0e0 0px, #e0e0e0 3px, transparent 3px, transparent 8px);
}

.divider-spacing-small {
  margin: 0.5rem 0;
}

.divider-horizontal.divider-spacing-small {
  margin: 0.5rem 0;
}

.divider-vertical.divider-spacing-small {
  margin: 0 0.5rem;
}

.divider-spacing-medium {
  margin: 1rem 0;
}

.divider-horizontal.divider-spacing-medium {
  margin: 1rem 0;
}

.divider-vertical.divider-spacing-medium {
  margin: 0 1rem;
}

.divider-spacing-large {
  margin: 2rem 0;
}

.divider-horizontal.divider-spacing-large {
  margin: 2rem 0;
}

.divider-vertical.divider-spacing-large {
  margin: 0 2rem;
}

fieldset {
  width: auto;
  border: none;
}

div.modal {
  border: 1px solid silver;
  width: 800px;
  box-shadow: 6px 6px 10px silver;
  padding: 20px;
  margin: 20px;
  margin-bottom: 50px;
  background-color: #eee;
}

form div {
  margin-bottom: 10px;
}

form {
  font-weight: bold;
}
form label {
  vertical-align: top;
}

form input,
form select {
  padding: 4px;
}

.radio.horz {
  margin-left: 100px;
}
.radio.horz div {
  display: inline-block;
  width: auto;
}
.radio.horz label {
  min-width: auto;
}

div.modal {
  position: relative;
}
div.modal .modal-close,
div.modal button.close {
  position: absolute;
  top: 0;
  right: 0;
}

.form-modal form {
  vertical-align: top;
  margin-bottom: 0;
}

.form-modal-title {
  font-weight: bold;
}

.form-modal label {
  font-size: 0.9em;
}

.form-modal .input,
.form-modal button {
  display: inline-block;
  vertical-align: top;
}

.form-modal button {
  margin-top: 30px;
}

table {
  margin-top: 1em;
  margin-bottom: 1em;
}
table th {
  white-space: nowrap;
}
table td {
  padding: 3px 3px;
}

.status-needs-statement {
  background-color: #878787;
}

.status-fix-categories,
.status-needs-inputting {
  background-color: #bd4747;
}

.status-needs-review {
  background-color: #d28b19;
}

.status-inputted {
  background-color: #24b5bf;
}

.status-review-ma {
  background-color: #d2ba21;
}

.status-review-wk {
  background-color: #3d81af;
}

.status-categories-corrected {
  background-color: #2ebb51;
}

.status-transaction-budgeted {
  background-color: #a3e7b4;
  color: #09611f;
}

.status-transaction-pending {
  background-color: #12ab9f;
}

.status-transaction-planned {
  background-color: #3d81af;
}

.status-transaction-covered {
  background-color: #d2ba21;
}

.strong {
  font-weight: bold;
}

.red {
  color: #bd4747;
}

.status-transaction-overdue {
  background-color: #bd4747;
}

.status-transaction-overdue-urgent {
  background-color: #fe3d83;
}

.status-transaction-overdue-refi {
  background-color: #8f1a1a;
}

.status-transaction-overdue-refi-ca {
  background-color: #663030;
}

.status-transaction-processing {
  background-color: #d98638;
}

.status-transaction-cleared {
  background-color: #2789cf;
}

.status-transaction-paid {
  background-color: #2ebb51;
}

.pill {
  display: inline-block;
  font-size: 0.8em;
  color: #fff;
  margin: 4px;
  padding: 0em 1em;
  line-height: 2.2em;
  border-radius: 3px;
  background-color: #aaa;
}
.pill a {
  color: #fff;
}

.alert {
  position: relative;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  border: 1px solid transparent;
  margin-bottom: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
}
.alert .alert-content {
  flex: 1;
  display: flex;
  gap: 0.75rem;
}
.alert .alert-icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}
.alert .alert-icon svg {
  width: 100%;
  height: 100%;
}
.alert .alert-body {
  flex: 1;
}
.alert .alert-title {
  font-weight: 600;
  margin-bottom: 0.25rem;
  font-size: 0.95rem;
}
.alert .alert-message {
  font-size: 0.875rem;
  line-height: 1.5;
}
.alert .alert-close {
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.2s;
  color: currentColor;
  opacity: 0.6;
}
.alert .alert-close:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.05);
}
.alert .alert-close .alert-close-icon {
  width: 1rem;
  height: 1rem;
}

.alert-success {
  background-color: #d1fae5;
  border-color: #6ee7b7;
  color: #065f46;
}
.alert-success .alert-icon {
  color: #059669;
}

.alert-error {
  background-color: #fee2e2;
  border-color: #fca5a5;
  color: #991b1b;
}
.alert-error .alert-icon {
  color: #dc2626;
}

.alert-warning {
  background-color: #fef3c7;
  border-color: #fcd34d;
  color: #92400e;
}
.alert-warning .alert-icon {
  color: #f59e0b;
}

.alert-info {
  background-color: #dbeafe;
  border-color: #93c5fd;
  color: #1e40af;
}
.alert-info .alert-icon {
  color: #3b82f6;
}

.sfc-avatar-stack {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
}

.sfc-avatar-stack__item,
.sfc-avatar-stack__overflow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid white;
  background-color: blueviolet;
  color: white;
  font-weight: 600;
  overflow: hidden;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  font-size: 0.75rem;
  margin-left: -8px;
}
.sfc-avatar-stack__item:last-child,
.sfc-avatar-stack__overflow:last-child {
  margin-left: 0;
}
.sfc-avatar-stack__item img,
.sfc-avatar-stack__overflow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sfc-avatar-stack__initials {
  text-transform: uppercase;
  user-select: none;
}

.sfc-avatar-stack__overflow {
  background-color: #6b7280;
  font-size: 0.65rem;
  font-weight: 500;
}

.sfc-avatar-stack--sm .sfc-avatar-stack__item,
.sfc-avatar-stack--sm .sfc-avatar-stack__overflow {
  width: 24px;
  height: 24px;
  font-size: 0.6rem;
  margin-left: -6px;
  border-width: 1.5px;
}
.sfc-avatar-stack--sm .sfc-avatar-stack__item:last-child,
.sfc-avatar-stack--sm .sfc-avatar-stack__overflow:last-child {
  margin-left: 0;
}
.sfc-avatar-stack--sm .sfc-avatar-stack__overflow {
  font-size: 0.55rem;
}

.sfc-avatar-stack--lg .sfc-avatar-stack__item,
.sfc-avatar-stack--lg .sfc-avatar-stack__overflow {
  width: 40px;
  height: 40px;
  font-size: 0.875rem;
  margin-left: -10px;
  border-width: 2.5px;
}
.sfc-avatar-stack--lg .sfc-avatar-stack__item:last-child,
.sfc-avatar-stack--lg .sfc-avatar-stack__overflow:last-child {
  margin-left: 0;
}
.sfc-avatar-stack--lg .sfc-avatar-stack__overflow {
  font-size: 0.75rem;
}

.sfc-user-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: inherit;
  border-radius: 9999px;
  padding-right: 0.75rem;
  background-color: #f3f4f6;
  transition: background-color 0.15s ease;
}

.sfc-user-badge--clickable {
  cursor: pointer;
}
.sfc-user-badge--clickable:hover {
  background-color: #e5e7eb;
}
.sfc-user-badge--clickable:active {
  background-color: #d1d5db;
}

.sfc-user-badge__avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: blueviolet;
  color: white;
  font-weight: 600;
  overflow: hidden;
  flex-shrink: 0;
}
.sfc-user-badge__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sfc-user-badge__initials {
  text-transform: uppercase;
  user-select: none;
}

.sfc-user-badge__name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
}

.sfc-user-badge__status {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid white;
}

.sfc-user-badge__status--online {
  background-color: #22c55e;
}

.sfc-user-badge__status--away {
  background-color: #eab308;
}

.sfc-user-badge__status--busy {
  background-color: #ef4444;
}

.sfc-user-badge__status--offline {
  background-color: #6b7280;
}

.sfc-user-badge--xs {
  gap: 0.35rem;
  padding-right: 0.5rem;
}
.sfc-user-badge--xs .sfc-user-badge__avatar {
  width: 20px;
  height: 20px;
  font-size: 0.6rem;
}
.sfc-user-badge--xs .sfc-user-badge__name {
  font-size: 0.75rem;
  max-width: 100px;
}
.sfc-user-badge--xs .sfc-user-badge__status {
  width: 6px;
  height: 6px;
  border-width: 1px;
}

.sfc-user-badge--sm {
  gap: 0.4rem;
  padding-right: 0.6rem;
}
.sfc-user-badge--sm .sfc-user-badge__avatar {
  width: 24px;
  height: 24px;
  font-size: 0.65rem;
}
.sfc-user-badge--sm .sfc-user-badge__name {
  font-size: 0.8rem;
  max-width: 120px;
}
.sfc-user-badge--sm .sfc-user-badge__status {
  width: 7px;
  height: 7px;
}

.sfc-user-badge--md .sfc-user-badge__avatar {
  width: 32px;
  height: 32px;
  font-size: 0.75rem;
}
.sfc-user-badge--md .sfc-user-badge__name {
  font-size: 0.875rem;
}

.sfc-user-badge--lg {
  gap: 0.6rem;
  padding-right: 1rem;
}
.sfc-user-badge--lg .sfc-user-badge__avatar {
  width: 40px;
  height: 40px;
  font-size: 0.9rem;
}
.sfc-user-badge--lg .sfc-user-badge__name {
  font-size: 1rem;
  max-width: 200px;
}
.sfc-user-badge--lg .sfc-user-badge__status {
  width: 10px;
  height: 10px;
  border-width: 2px;
}

.breadcrumb {
  margin-bottom: 1.5rem;
}
.breadcrumb .breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
}
.breadcrumb .breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
}
.breadcrumb .breadcrumb-link {
  color: blueviolet;
  text-decoration: none;
  transition: all 0.2s;
}
.breadcrumb .breadcrumb-link:hover {
  text-decoration: underline;
  color: #6a2d8f;
}
.breadcrumb .breadcrumb-current {
  color: #666;
  font-weight: 500;
}
.breadcrumb .breadcrumb-separator {
  color: #999;
  margin: 0 0.25rem;
  user-select: none;
}

.card {
  background-color: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.2s;
}
.card.card-default {
  border: 1px solid #e5e7eb;
}
.card.card-elevated {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.card.card-elevated:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.card.card-outlined {
  border: 2px solid blueviolet;
}
.card.card-padding-none .card-header,
.card.card-padding-none .card-body,
.card.card-padding-none .card-footer {
  padding: 0;
}
.card.card-padding-small .card-header,
.card.card-padding-small .card-body,
.card.card-padding-small .card-footer {
  padding: 0.75rem;
}
.card.card-padding-medium .card-header,
.card.card-padding-medium .card-body,
.card.card-padding-medium .card-footer {
  padding: 1.5rem;
}
.card.card-padding-large .card-header,
.card.card-padding-large .card-body,
.card.card-padding-large .card-footer {
  padding: 2rem;
}
.card .card-header {
  border-bottom: 1px solid #e5e7eb;
  background-color: #f9fafb;
}
.card .card-header h1, .card .card-header h2, .card .card-header h3, .card .card-header h4, .card .card-header h5, .card .card-header h6 {
  margin: 0;
  font-weight: 600;
}
.card .card-body {
  flex: 1;
}
.card .card-footer {
  border-top: 1px solid #e5e7eb;
  background-color: #f9fafb;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.collapsible {
  position: relative;
}
.collapsible .collapsible-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.collapsible .collapsible-toggle .toggle-arrow {
  font-size: 1.2rem;
  color: #666;
  transition: color 0.2s;
}
.collapsible .collapsible-toggle:hover .toggle-arrow {
  color: blueviolet;
}
.collapsible .collapsible-content {
  overflow: hidden;
  transition: all 0.3s ease;
  opacity: 1;
  max-height: 1000vh;
}
.collapsible .collapsible-content.content-collapsed {
  max-height: 0;
  opacity: 0;
}

.collapsible-horizontal {
  display: flex;
  align-items: flex-start;
}
.collapsible-horizontal .collapsible-toggle.toggle-start {
  order: -1;
  margin-right: 0.5rem;
}
.collapsible-horizontal .collapsible-toggle.toggle-end {
  order: 1;
  margin-left: 0.5rem;
}
.collapsible-horizontal .collapsible-content {
  flex: 1;
}
.collapsible-horizontal.collapsed .collapsible-content {
  width: 0;
  min-width: 0;
}

.collapsible-vertical {
  display: flex;
  flex-direction: column;
}
.collapsible-vertical .collapsible-toggle.toggle-start {
  order: -1;
  margin-bottom: 0.5rem;
}
.collapsible-vertical .collapsible-toggle.toggle-end {
  order: 1;
  margin-top: 0.5rem;
}
.collapsible-vertical .collapsible-content {
  flex: 1;
}
.collapsible-vertical.collapsed .collapsible-content {
  height: 0;
  min-height: 0;
}

.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown .dropdown-trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #374151;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}
.dropdown .dropdown-trigger:hover {
  background-color: #f9fafb;
  border-color: #9ca3af;
}
.dropdown .dropdown-trigger:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.1);
}
.dropdown .dropdown-trigger .dropdown-caret {
  width: 1rem;
  height: 1rem;
  transition: transform 0.2s;
}
.dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  margin-top: 0.5rem;
  min-width: 12rem;
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s;
  z-index: 50;
}
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown:hover .dropdown-trigger .dropdown-caret, .dropdown:focus-within .dropdown-trigger .dropdown-caret {
  transform: rotate(180deg);
}
.dropdown .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1rem;
  font-size: 0.95rem;
  color: #374151;
  text-decoration: none;
  transition: all 0.2s;
}
.dropdown .dropdown-item:hover {
  background-color: #f9fafb;
  color: #111827;
}
.dropdown .dropdown-item .dropdown-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: #6b7280;
}
.dropdown .dropdown-divider {
  height: 1px;
  background-color: #e5e7eb;
  margin: 0.5rem 0;
}

.dropdown-left .dropdown-menu {
  left: 0;
}

.dropdown-right .dropdown-menu {
  right: 0;
}

.dropdown-up .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.5rem;
  transform: translateY(8px);
}

.dropdown-up:hover .dropdown-menu,
.dropdown-up:focus-within .dropdown-menu {
  transform: translateY(0);
}

.dropdown-up:hover .dropdown-trigger .dropdown-caret,
.dropdown-up:focus-within .dropdown-trigger .dropdown-caret {
  transform: rotate(0);
}

@media (max-width: 640px) {
  .dropdown .dropdown-menu {
    left: 0;
    right: 0;
    min-width: 100%;
  }
}
.expandable-section {
  margin-bottom: 0.5rem;
}
.expandable-section .section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.5rem;
  color: #333;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all 0.2s;
  font-weight: 500;
  cursor: pointer;
}
.expandable-section .section-header:hover {
  background-color: #f5f5f5;
  border-left-color: blueviolet;
}
.expandable-section .section-header .section-title {
  font-size: 0.95rem;
}
.expandable-section .section-header .section-count {
  background: #f0f0f0;
  padding: 0.15rem 0.5rem;
  border-radius: 10px;
  font-size: 0.8rem;
  color: #666;
}
.expandable-section.active .section-header {
  background-color: #f9f9f9;
  border-left-color: blueviolet;
  color: blueviolet;
}
.expandable-section .section-content {
  padding: 0.5rem 0;
  background: #fafafa;
  animation: slideDown 0.2s ease-out;
}
.expandable-section.level-0 .section-header {
  padding-left: 1.5rem;
}
.expandable-section.level-1 .section-header {
  padding-left: 2rem;
}
.expandable-section.level-2 .section-header {
  padding-left: 2.5rem;
}
.expandable-section.level-3 .section-header {
  padding-left: 3rem;
}

@keyframes slideDown {
  from {
    opacity: 0;
    max-height: 0;
  }
  to {
    opacity: 1;
    max-height: 1000px;
  }
}
.form-container {
  max-width: 100%;
  margin-bottom: 2rem;
}
.form-container .form-header {
  margin-bottom: 1.5rem;
}
.form-container .form-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #111827;
  margin: 0 0 0.5rem 0;
}
.form-container .form-description {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}
.form-container .form-body {
  background-color: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}
.form-container .form-fields {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form-container .form-actions {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

@media (max-width: 640px) {
  .form-container .form-body {
    padding: 1rem;
  }
  .form-container .form-actions {
    flex-direction: column;
  }
  .form-container .form-actions button {
    width: 100%;
  }
}
.glossary-term {
  border-bottom: 1px dotted var(--srfcs-color-primary);
  cursor: help;
  position: relative;
}
.glossary-term:hover, .glossary-term:focus {
  background: var(--srfcs-color-primary-light);
  outline: none;
}
.glossary-term:hover::after, .glossary-term:focus::after {
  content: attr(data-definition);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--srfcs-color-surface);
  color: var(--srfcs-color-text);
  border: 1px solid var(--srfcs-color-border);
  border-radius: var(--srfcs-radius-md);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  line-height: 1.4;
  white-space: normal;
  max-width: 300px;
  min-width: 150px;
  box-shadow: var(--srfcs-shadow-lg);
  z-index: 1000;
  pointer-events: none;
  margin-bottom: var(--srfcs-space-2);
}
.glossary-term:hover::before, .glossary-term:focus::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--srfcs-color-border);
  z-index: 1001;
}

.glossary-term--inline {
  border-bottom: none;
  cursor: default;
}
.glossary-term--inline:hover, .glossary-term--inline:focus {
  background: transparent;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  padding: 1rem;
}
.modal-overlay.modal-show {
  opacity: 1;
  visibility: visible;
}
.modal-overlay.modal-show .modal {
  transform: scale(1);
}

.modal {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  transform: scale(0.95);
  transition: transform 0.3s;
}
.modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #e5e7eb;
}
.modal .modal-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.modal .modal-close {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  border-radius: 6px;
  color: #6b7280;
  transition: all 0.2s;
}
.modal .modal-close:hover {
  background-color: #f3f4f6;
  color: #111827;
}
.modal .modal-close .modal-close-icon {
  width: 1.25rem;
  height: 1.25rem;
}
.modal .modal-body {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}
.modal .modal-footer {
  padding: 1.5rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.modal-small {
  width: 100%;
  max-width: 400px;
}

.modal-medium {
  width: 100%;
  max-width: 600px;
}

.modal-large {
  width: 100%;
  max-width: 900px;
}

.modal-fullscreen {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border-radius: 0;
  margin: 0;
}

@media (max-width: 640px) {
  .modal {
    width: 100%;
    max-width: none;
    margin: 0.5rem;
  }
  .modal-footer {
    flex-direction: column;
  }
  .modal-footer button {
    width: 100%;
  }
}
.pagination {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}
.pagination .pagination-list {
  display: flex;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.pagination .pagination-item {
  display: inline-block;
}
.pagination .pagination-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #374151;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
}
.pagination .pagination-link:hover:not(.pagination-disabled):not(.pagination-active) {
  background-color: #f9fafb;
  border-color: #9ca3af;
  color: #111827;
}
.pagination .pagination-link:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.2);
}
.pagination .pagination-link.pagination-active {
  background-color: blueviolet;
  border-color: blueviolet;
  color: #fff;
  cursor: default;
}
.pagination .pagination-link.pagination-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pagination .pagination-ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  color: #9ca3af;
}

.pagination-simple .pagination-link {
  border: none;
  background-color: transparent;
}
.pagination-simple .pagination-link:hover:not(.pagination-disabled):not(.pagination-active) {
  background-color: #f3f4f6;
}
.pagination-simple .pagination-link.pagination-active {
  background-color: #f3f4f6;
  color: blueviolet;
}

.pagination-compact .pagination-list {
  gap: 0.25rem;
}
.pagination-compact .pagination-link {
  min-width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  padding: 0 0.5rem;
}
.pagination-compact .pagination-ellipsis {
  min-width: 2rem;
  height: 2rem;
}

@media (max-width: 640px) {
  .pagination .pagination-list {
    gap: 0.25rem;
  }
  .pagination .pagination-link {
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.5rem;
    font-size: 0.875rem;
  }
  .pagination .pagination-ellipsis {
    min-width: 1.5rem;
  }
}
.stat-card {
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1.5rem;
  transition: all 0.2s;
}
.stat-card:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.stat-card .stat-card-content {
  display: flex;
  gap: 1rem;
}
.stat-card .stat-card-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f3f4f6;
  border-radius: 10px;
  color: blueviolet;
}
.stat-card .stat-card-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}
.stat-card .stat-card-body {
  flex: 1;
}
.stat-card .stat-card-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.stat-card .stat-card-value {
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
.stat-card .stat-card-change {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.stat-card .stat-card-change .stat-card-trend-icon {
  font-size: 1.125rem;
  line-height: 1;
}
.stat-card .stat-card-change.stat-card-change-up {
  color: #16a34a;
}
.stat-card .stat-card-change.stat-card-change-down {
  color: #dc2626;
}

.stat-card-compact {
  padding: 1rem;
}
.stat-card-compact .stat-card-value {
  font-size: 1.5rem;
}
.stat-card-compact .stat-card-icon {
  width: 2.5rem;
  height: 2.5rem;
}
.stat-card-compact .stat-card-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.stat-card-detailed {
  padding: 2rem;
}
.stat-card-detailed .stat-card-label {
  font-size: 1rem;
}
.stat-card-detailed .stat-card-value {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.stat-card-detailed .stat-card-icon {
  width: 3.5rem;
  height: 3.5rem;
}
.stat-card-detailed .stat-card-icon svg {
  width: 2rem;
  height: 2rem;
}

@media (max-width: 640px) {
  .stat-card .stat-card-value {
    font-size: 1.75rem;
  }
  .stat-card .stat-card-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.tabs-container {
  margin-bottom: 1.5rem;
}
.tabs-container .tabs {
  display: flex;
  gap: 0.5rem;
  border-bottom: 2px solid #e5e7eb;
}
.tabs-container .tab {
  padding: 0.75rem 1.25rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #6b7280;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.tabs-container .tab:hover:not(.tab-disabled) {
  color: #111827;
  background-color: #f9fafb;
}
.tabs-container .tab:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.1);
}
.tabs-container .tab.tab-active {
  color: blueviolet;
  border-bottom-color: blueviolet;
}
.tabs-container .tab.tab-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.tabs-pills .tabs {
  border-bottom: none;
}
.tabs-pills .tab {
  border-radius: 6px;
  border-bottom: none;
  margin-bottom: 0;
}
.tabs-pills .tab.tab-active {
  background-color: blueviolet;
  color: #fff;
}

.tabs-underline .tabs {
  border-bottom: 1px solid #e5e7eb;
}
.tabs-underline .tab {
  padding: 0.5rem 1rem;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
}
.tabs-underline .tab.tab-active {
  border-bottom-color: blueviolet;
}

@media (max-width: 640px) {
  .tabs-container .tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .tabs-container .tab {
    flex-shrink: 0;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
  }
}
.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
}
.icon svg {
  width: 100%;
  height: 100%;
}

table.acct-credit-cards {
  background-color: #eee;
}
table.acct-credit-cards th {
  background-color: silver;
  vertical-align: top;
  padding: 5px;
  text-align: center;
}
table.acct-credit-cards td {
  vertical-align: top;
  padding: 5px;
  text-align: center;
  background-color: #fff;
}
table.acct-credit-cards td.acct-name {
  text-align: left;
  font-weight: bold;
}
table.acct-credit-cards tr:hover,
table.acct-credit-cards tr:hover td {
  background-color: #ccc;
}

.calendar .acct-stmt,
.calendar .acct-min-pymt {
  font-size: 0.85em;
  border-bottom: 1px solid #ccc;
  padding: 4px 8px;
}

.account-totals-summary {
  margin: 2rem 0;
  padding: 1.5rem;
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}
.account-totals-summary .totals-summary-title {
  margin: 0 0 1.5rem 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #495057;
  border-bottom: 2px solid #dee2e6;
  padding-bottom: 0.5rem;
}
.account-totals-summary .totals-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.account-totals-summary .summary-card {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.account-totals-summary .summary-card h4 {
  margin: 0 0 0.75rem 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.account-totals-summary .balance-card .balance-amount {
  font-size: 1.5rem;
  font-weight: 700;
  color: #28a745;
  margin-bottom: 0.5rem;
}
.account-totals-summary .dr-cr-amounts {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.account-totals-summary .debit-total, .account-totals-summary .credit-total {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f1f3f4;
}
.account-totals-summary .debit-total .amount {
  color: #dc3545;
}
.account-totals-summary .credit-total .amount {
  color: #28a745;
}
.account-totals-summary .recent-card {
  text-align: center;
}
.account-totals-summary .recent-card .count {
  color: #007bff;
  font-size: 1.3rem;
  font-weight: 600;
}
.account-totals-summary .monthly-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.75rem;
}
.account-totals-summary .month-total {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  padding: 0.75rem;
  text-align: center;
}
.account-totals-summary .vendor-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.account-totals-summary .vendor-total {
  display: flex;
  justify-content: space-between;
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  padding: 0.75rem;
}
.account-totals-summary .vendor-amount {
  font-weight: 600;
  color: #28a745;
}

.transaction-details {
  display: none;
}

.transaction-details:hover {
  display: block;
}

.transaction {
  width: 100%;
}

.transactions {
  border-spacing: 0px;
}
.transactions .transaction td {
  border-bottom: 1px solid #eee;
  vertical-align: top;
}
.transactions .transaction .transaction-date {
  width: 150px;
  display: inline-block;
}
.transactions .transaction .transaction-vendor {
  width: 150px;
  display: inline-block;
}
.transactions .transaction .transaction-acct {
  width: 150px;
  display: inline-block;
}
.transactions .transaction .transaction-amt-total,
.transactions .transaction .transaction-amt-tax,
.transactions .transaction .transaction-amt-sub,
.transactions .transaction .transaction-amt-biz,
.transactions .transaction .transaction-amt-pers,
.transactions .transaction .transaction-admin {
  width: 75px;
  display: inline-block;
}
.transactions .transaction .transaction-desc {
  width: 200px;
  display: inline-block;
}
.transactions .transaction:hover td {
  background-color: #eee;
}

.transactions .transactions-header div {
  white-space: nowrap;
  font-weight: bold;
  padding: 5px;
}

.transactions .amount_total {
  white-space: nowrap;
}

.budget-header div {
  text-align: center;
}

.statement-transactions {
  text-align: center;
}

.ttransaction-amt {
  width: 200px;
}

.trx-dr {
  text-align: left;
}

.trx-cr {
  text-align: left;
  margin-left: 100px;
  border-left: 1px;
  white-space: nowrap;
}

.sstatement-transaction .ttransaction-dr-cr,
.sstatement-transaction .trx-dr-cr,
.trx-dr-cr {
  text-transform: uppercase;
}

th.ttransaction-amt-dr,
th.ttransaction-amt-cr {
  border-bottom: 1px solid gray;
}

th.ttransaction-amt-dr,
td.ttransaction-amt-dr {
  border-right: 1px solid gray;
}

.transaction-brief .amount-vendor,
.transaction-brief .details,
.transaction-brief .details div {
  display: inline-block;
}
.transaction-brief .amount-vendor a,
.transaction-brief .details a,
.transaction-brief .details div a {
  display: inline-block;
}

.transactions-status-totals {
  margin-top: 25px;
  margin-bottom: 10px;
}
.transactions-status-totals h4 {
  font-size: 1.1em;
  margin: 0;
}
.transactions-status-totals .label {
  font-weight: bold;
}
.transactions-status-totals .transactions-status-total {
  display: inline-block;
  margin-right: 10px;
  padding: 5px 0;
}
.transactions-status-totals .transaction-sum {
  font-weight: bold;
}

.income-chart {
  margin: 20px 0;
  padding: 15px;
  background-color: #faf9fc;
  border-radius: 8px;
  border: 1px solid #e9e6f2;
  max-width: 100%;
}
.income-chart #income-chart {
  width: 100%;
}
.income-chart #income-chart svg {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
}

.income-by-month {
  margin: 30px 0;
}
.income-by-month h3 {
  margin-bottom: 15px;
  font-size: 1.2em;
  color: #4c1d95;
}
.income-by-month .month-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: 15px;
  max-width: 100%;
}
.income-by-month .month-item {
  text-align: center;
  padding: 10px;
  background-color: #faf9fc;
  border-radius: 6px;
  border: 1px solid #e9e6f2;
  transition: all 0.2s ease;
}
.income-by-month .month-item:hover {
  background-color: #f3f0ff;
  border-color: #c4b5fd;
  transform: translateY(-2px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.income-by-month .month-item .month-name {
  font-weight: 600;
  font-size: 0.9em;
  color: #6b21a8;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.income-by-month .month-item .month-name a {
  color: inherit;
  text-decoration: none;
}
.income-by-month .month-item .month-name a:hover {
  color: #7c3aed;
  text-decoration: underline;
}
.income-by-month .month-item .month-amount {
  font-size: 1.1em;
  font-weight: 600;
  color: #1e293b;
}

/* STATEMENTS */
/* Account container - prevent overflow */
.account {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  padding-right: 1rem;
}

/* Account Section Headers - consistent styling for Transactions and Statements sections */
.account-section-header {
  font-size: 1.25rem;
  font-weight: 600;
  color: #495057;
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.account-section-header .button {
  font-size: 0.875rem;
  padding: 0.4rem 0.8rem;
  margin: 0;
}

h3.statement-name {
  font-size: 22px;
  margin-bottom: 0;
}

h4.statement-period {
  display: inline-block;
  font-size: 15px;
}

.statement-period-dates {
  font-size: 15px;
}

.statement-show {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 1.5rem;
  padding: 1rem;
  height: 100vh;
}

.statement-show .statement-header {
  grid-row: 1;
  grid-column: 1/3;
  position: relative;
  padding-bottom: 1rem;
  border-bottom: 2px solid #dee2e6;
}
.statement-show .statement-header .statement-account-link {
  display: block;
  margin-bottom: 0.75rem;
  clear: both;
}
.statement-show .statement-header .statement-account-link a {
  font-size: 1.25rem;
  font-weight: bold;
  color: #212529;
  text-decoration: none;
  display: block;
}
.statement-show .statement-header .statement-account-link a:hover {
  color: #007bff;
  text-decoration: underline;
}
.statement-show .statement-header .nav.prev-next {
  display: block;
  clear: both;
  margin-bottom: 1rem;
}
.statement-show .statement-header h3 {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.statement-show .statement-header .statement-period-dates {
  color: #6c757d;
  margin-bottom: 0.5rem;
}
.statement-show .statement-header .statement-balance {
  margin: 0.5rem 0;
  font-size: 1.1rem;
}
.statement-show .statement-header .statement-actions {
  margin-top: 1rem;
  display: flex;
  gap: 0.5rem;
}

.statement-show .statement-transactions {
  grid-column: 1;
  grid-row: 2;
  vertical-align: top;
  overflow-y: auto;
  padding-right: 1rem;
}
.statement-show .statement-transactions .no-transactions {
  color: #6c757d;
  font-style: italic;
  padding: 2rem;
  text-align: center;
  background-color: #f8f9fa;
  border-radius: 4px;
}

.statement-show .statement-pdf {
  grid-column: 2;
  grid-row: 2;
  height: 100%;
  position: relative;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  overflow: hidden;
}
.statement-show .statement-pdf .pdf-missing,
.statement-show .statement-pdf .pdf-error {
  padding: 2rem;
  text-align: center;
  background-color: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 4px;
  margin: 2rem;
}
.statement-show .statement-pdf .pdf-missing code,
.statement-show .statement-pdf .pdf-error code {
  display: block;
  margin: 1rem 0;
  padding: 0.5rem;
  background-color: #f8f9fa;
  border-radius: 4px;
  font-size: 0.85rem;
  word-break: break-all;
}
.statement-show .statement-pdf .pdf-missing button,
.statement-show .statement-pdf .pdf-error button {
  margin-top: 1rem;
}
.statement-show .statement-pdf .pdf-error {
  background-color: #f8d7da;
  border-color: #dc3545;
}

.stmt-form {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 2rem;
}
.stmt-form form {
  width: 100%;
}
.stmt-form label {
  display: block !important;
  text-align: left !important;
  min-width: auto !important;
  margin-bottom: 0.5rem;
  font-weight: bold;
  color: #495057;
}
.stmt-form input[type=text],
.stmt-form input[type=file],
.stmt-form select {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  font-size: 1rem;
  font-family: inherit;
}
.stmt-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0.5rem;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  font-size: 1rem;
  font-family: inherit;
  min-height: 100px;
  max-height: 150px;
  resize: vertical;
  box-sizing: border-box;
}
.stmt-form .stmt_acct-status {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #dee2e6;
}
.stmt-form .stmt_acct-details {
  display: block;
  width: 100%;
}
.stmt-form .stmt_acct {
  margin-bottom: 1.5rem;
  width: 250px;
  max-width: 250px;
}
.stmt-form .stmt_acct select {
  width: 100%;
}
.stmt-form .stmt_desc {
  margin-bottom: 1.5rem;
  width: 250px !important;
  max-width: 250px !important;
  box-sizing: border-box;
}
.stmt-form .stmt_desc textarea {
  width: 250px !important;
  max-width: 250px !important;
  box-sizing: border-box;
}
.stmt-form .stmt_date-reporting-or {
  margin-top: 1rem;
  width: 250px;
  max-width: 250px;
}
.stmt-form .stmt_date-reporting-or input[type=text] {
  width: 100%;
}
.stmt-form .stmt_dates {
  display: grid;
  grid-template-columns: 250px 250px;
  gap: 2rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #dee2e6;
}
.stmt-form .stmt_date-start,
.stmt-form .stmt_date-end {
  display: block !important;
  vertical-align: top;
  max-width: 250px;
}
.stmt-form .stmt_date-start input[type=text],
.stmt-form .stmt_date-end input[type=text] {
  width: 100%;
}
.stmt-form .stmt_amts {
  display: grid;
  grid-template-columns: 250px 250px;
  gap: 2rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #dee2e6;
}
.stmt-form .stmt_pymt-min,
.stmt-form .stmt_pymt-balance {
  display: block !important;
  max-width: 250px;
}
.stmt-form .stmt_amt-pymt-min,
.stmt-form .stmt_min-pymt-amt,
.stmt-form .stmt_amt-balance,
.stmt-form .stmt_balance-date {
  margin-bottom: 1rem;
  max-width: 250px;
}
.stmt-form .stmt_amt-pymt-min input[type=text],
.stmt-form .stmt_min-pymt-amt input[type=text],
.stmt-form .stmt_amt-balance input[type=text],
.stmt-form .stmt_balance-date input[type=text] {
  width: 100%;
}
.stmt-form .stmt_file {
  margin-bottom: 2rem;
  max-width: 500px;
}
.stmt-form .stmt_file input[type=file] {
  width: 100%;
}
.stmt-form .stmt_file p {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #6c757d;
  line-height: 1.5;
  font-weight: normal;
}
.stmt-form button[type=submit] {
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
}

ul.statements li {
  display: inline-block;
  background-color: #bbb;
  border: 1px;
  border-color: gray;
  border-radius: 2px;
  padding: 0.25em 0.75em;
  margin: 0.25em;
  width: 160px;
  text-align: center;
}

ul.statements li:hover {
  display: inline-block;
  background-color: #aaa;
}

ul.statements li a {
  display: block;
  padding-top: 2px;
  color: #fff;
}

.statement-transaction {
  display: grid;
  grid-template-columns: 20px 120px 100px 1fr 100px;
  gap: 7px;
  font-size: 0.8em;
}

.statement-transaction {
  border-bottom: 1px solid silver;
  padding: 4px 10px;
}

.statement-transaction:hover {
  background-color: #eee;
}

.statement-transaction .transaction-id {
  grid-column: 1;
}

.statement-transaction .transaction-date {
  grid-column: 2;
}

.statement-transaction .transaction-credit {
  grid-column: 3;
}

.statement-transaction .transaction-debit {
  grid-column: 4;
}

.statement-transaction .transaction-amount {
  grid-column: 5;
  text-align: right;
}

/* ============================================
   STATEMENT COMPONENTS - REUSABLE PATTERNS
   ============================================ */
/* Statement Month Pill - Base Component
   Usage: Individual statement link/button
   Context: Used in statement lists, grids, and timelines */
.statement-month-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.6rem;
  background: #f8f9fa;
  border: none;
  border-radius: 3px;
  text-decoration: none;
  color: #495057;
  font-weight: 500;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  cursor: pointer;
  white-space: nowrap;
  min-width: 60px;
  max-width: 80px;
  text-align: center;
  box-sizing: border-box;
  flex-shrink: 0;
}
.statement-month-box:hover {
  background-color: #e9ecef;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}
.statement-month-box:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.statement-month-box.status-needs-input {
  background-color: #fff3cd;
}
.statement-month-box.status-needs-input:hover {
  background-color: #ffe69c;
}
.statement-month-box.status-needs-review {
  background-color: #cfe2ff;
}
.statement-month-box.status-needs-review:hover {
  background-color: #9ec5fe;
}
.statement-month-box.status-complete {
  background-color: #d1e7dd;
}
.statement-month-box.status-complete:hover {
  background-color: #a3cfbb;
}
.statement-month-box.has-pdf::after {
  content: "📄";
  margin-left: 0.5rem;
  font-size: 0.75rem;
}
.statement-month-box.needs-review::after {
  content: "⚠️";
  margin-left: 0.5rem;
  font-size: 0.75rem;
}
.statement-month-box.missing-pdf {
  border: 1px dashed #dc3545;
}

/* Missing Statement Placeholder */
.statement-month-missing {
  background-color: #f8d7da;
  color: #721c24;
  cursor: default;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0.25rem;
}
.statement-month-missing .month-label {
  font-size: 0.9rem;
  font-weight: 500;
}
.statement-month-missing .missing-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #dc3545;
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 1px;
}
.statement-month-missing:hover {
  background-color: #f8d7da;
  transform: none;
  box-shadow: none;
}

/* Invisible placeholder for months outside account active period */
.statement-month-placeholder {
  background-color: transparent;
  cursor: default;
  visibility: hidden;
}
.statement-month-placeholder:hover {
  background-color: transparent;
  transform: none;
  box-shadow: none;
}

/* Statement Month Grid - Pattern Component
   Usage: Horizontal display of statements for a single year
   Context: Account detail pages, year summaries */
.statements-month-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
  max-width: 100%;
  box-sizing: border-box;
  width: 100%;
}

/* Account opened box - stacked vertical text with arrow edge */
.account-opened-box {
  background-color: #dee2e6;
  flex-direction: column;
  gap: 0.1rem;
  font-size: 0.67rem;
  color: #000000;
  cursor: default;
  font-weight: 500;
  padding: 0.4rem 0.5rem 0.4rem 0.4rem;
  position: relative;
  border: none;
  justify-content: center;
  align-items: center;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%, 3px 100%, 0 calc(100% - 3px), 0 3px, 3px 0);
}
.account-opened-box:hover {
  background-color: #dee2e6;
  transform: none;
  box-shadow: none;
}
.account-opened-box .account-opened-line {
  display: block;
  line-height: 1.2;
  margin-right: 3px;
}

/* Statement Year Section - Pattern Component
   Usage: Year header + month grid combination
   Context: Multi-year statement displays */
.statements-year-section {
  margin-bottom: 2rem;
}
.statements-year-section .statements-year-header {
  font-size: 1rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #dee2e6;
}

/* Account Statements Section - Wrapper with card styling */
.account-statements-section {
  margin-top: 2rem;
  margin-bottom: 2rem;
  max-width: 100%;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  padding: 1.5rem;
  background-color: #fafafa;
}
.account-statements-section .account-section-header {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

/* Account Statements Container - Pattern Component
   Usage: Container for all statement year sections
   Context: Account detail pages */
.account-statements-by-year {
  max-width: 100%;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}
.account-statements-by-year .statements-year-section {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}
.account-statements-by-year .statements-year-section.collapsed .statements-month-grid {
  display: none;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .statement-month-box {
    padding: 0.4rem 0.25em;
    font-size: 0.85rem;
    min-width: 50px;
  }
  .statements-month-grid {
    gap: 0.5rem;
  }
}
#platform-logo a {
  display: block;
  color: #9fe9af;
  font-size: 30px;
  font-weight: bold;
  padding: 5px 10px;
}

#platform-logo a:hover {
  color: #fff;
}

.form-add-organization {
  border: 1px solid silver;
  padding: 1em;
  background-color: #eee;
}

.form-add-organization input {
  background-color: #fff;
}

#organization_name {
  display: inline-block;
  width: 200px;
  margin-right: 20px;
}

#organization_description {
  display: inline-block;
  width: 600px;
  margin-right: 20px;
}

.organization-types {
  display: inline-block;
  width: 200px;
}

.organization-types input,
.organization-types .chosen .chzn-drop {
  width: 100%;
}

/* Accounts */
.account .organization,
.account .category,
.payment .vendor,
.payment .payment-method {
  display: inline-block;
  margin-right: 1em;
}

.amounts .currency {
  display: inline-block;
  width: 14em;
  font-size: 0.65em;
}

.amounts .amount {
  display: inline-block;
  width: 10em;
  font-size: 0.65em;
  margin-right: 1em;
}

.description {
  font-size: 14px;
}

.account-statements li.account-statement {
  list-style: none;
  margin: 8px 0px;
}

.account-statements li.account-statement a {
  display: inline-block;
  color: white;
  font-size: 14px;
  width: 150px;
  background-color: rgb(91, 91, 198);
  color: white;
  list-style: none;
  padding: 4px 4px;
  text-align: center;
}

.account-statements li.account-statement a:hover {
  background-color: navy;
}

.account-statements .statement-date {
  display: inline-block;
}

.account-statements .account-statement-statuses {
  display: inline-block;
}

.account-statements .account-statement-statuses .account-statement-status {
  display: inline-block;
  font-size: 0.8em;
  background-color: gray;
  color: #fff;
  margin: 4px;
  padding: 2px 8px;
  border-radius: 3px;
}

/* Chart of Accounts */
.accounts-fs .account-fs {
  display: inline-block;
  vertical-align: top;
  padding: 1em;
  margin: 1em;
}
.accounts-fs .account-fs a.account-name {
  display: block;
  font-weight: bold;
  font-size: 1.5em;
  border-bottom: 1px solid gray;
}
.accounts-fs .account-fs .account-subheader {
  margin-bottom: 1em;
}
.accounts-fs .account-fs .account-subheader .account-acronym,
.accounts-fs .account-fs .account-subheader .account-admin {
  width: 48%;
  display: inline-block;
  font-size: 1em;
  font-size: 0.8em;
  color: gray;
}
.accounts-fs .account-fs .account-subheader .account-acronym {
  font-style: italic;
}
.accounts-fs .account-fs .account-subheader .account-admin {
  text-align: right;
}
.accounts-fs .account-fs a.account-child {
  font-size: 1.2em;
}
.accounts-fs .account-fs a.account-grandchild {
  font-size: 1.1em;
}
.accounts-fs .account-fs a.account-great-grandchild {
  font-size: 1em;
}

table.organizations tr.organizations-organization:hover {
  background-color: #eee;
}

table.organizations tr.organizations-organization td {
  padding: 0;
  font-size: 0.9em;
  line-height: 1em;
}

table.organizations tr.organizations-organization td.organization-name a {
  display: block;
  padding: 0.75em 0.5em;
  line-height: 2em;
}

form .row {
  margin-bottom: 1em;
}

form select#transaction-form_date_payment_hour,
form select#transaction-form_date_payment_minute {
  display: none;
}

.amounts {
  text-align: left;
}

/* temporary overrrides */
label {
  text-transform: capitalize;
  font-size: 0.8em;
  color: gray;
}

/* temporary overrrides */
.stmt-form .chzn-drop {
  z-index: 10000 !important;
  min-width: 240px;
}

.stmt-form .chzn-choices {
  min-width: 240px !important;
}

.stmt-form .chzn-choices li,
.stmt-form .chzn-container .chzn-results li {
  white-space: nowrap !important;
  border-bottom: 0.25px #eee solid;
}

.budget-header {
  margin: 20px;
  width: auto;
  border-top: 1px solid silver;
  border-bottom: 1px solid silver;
}
.budget-header .budget-subtotal {
  display: inline-block;
  margin: 10px;
}
.budget-header .budget-heading {
  font-weight: bold;
  padding: 5px;
  text-align: center;
}

.budget-transactions {
  border-collapse: collapse;
}
.budget-transactions td {
  padding: 3px;
}

.past-transaction {
  background-color: #fcfcfc;
}

.today-transaction {
  background-color: #fffed1;
}

nav.nav-taxes-org-year {
  display: block;
  margin: 1em;
}
nav.nav-taxes-org-year a {
  display: inline-block;
  padding: 8px 8px;
  margin: 3px;
  font-size: 0.9em;
  background-color: #eee;
}

.header-budget-month {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, 1fr);
}
.header-budget-month .budget-title {
  grid-column: auto;
}
.header-budget-month .budget-title h1 {
  margin-bottom: 0.1em;
}
.header-budget-month .nav-months {
  align-self: start;
}
.header-budget-month .nav-months a {
  display: inline-block;
}
.header-budget-month .budget-nav {
  grid-column: auto;
}

.calendar {
  width: 90%;
}
.calendar .calendar-body .calendar-header-days {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(7, 1fr);
}
.calendar .calendar-body .calendar-header-days .calendar-header-day {
  grid-column: auto;
  background-color: #dedede;
  font-weight: bold;
  padding: 4px;
  text-align: center;
}
.calendar .calendar-body .calendar-weeks .calendar-week {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: auto;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day {
  grid-column: auto;
  height: 200px;
  vertical-align: top;
  border: 0.5px solid #c7c7c7;
  overflow-y: auto;
  overflow-x: hidden;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .day-date {
  padding-bottom: 4px;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .day-date .date {
  background-color: #dedede;
  color: #000;
  width: auto;
  display: block;
  font-size: 0.8em;
  font-weight: bold;
  padding: 4px;
  display: inline-block;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day {
  display: block;
  padding: 2px;
  padding-bottom: 8px;
  padding-left: 5px;
  height: 1em;
  max-width: 100%;
  overflow: hidden;
  font-size: 0.9em;
  border-left: 3px solid transparent;
  margin-bottom: 2px;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day div {
  display: inline-block;
  vertical-align: top;
  font-size: 0.9em;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day .amount-vendor {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: clip;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day .details {
  display: none;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-paid {
  border-left-color: #28a745;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-paid:hover {
  background-color: #d4edda;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-budgeted {
  border-left-color: #ffc107;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-budgeted:hover {
  background-color: #fff3cd;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-pending {
  border-left-color: #17a2b8;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-pending:hover {
  background-color: #d1ecf1;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-overdue {
  border-left-color: #dc3545;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-overdue:hover {
  background-color: #f8d7da;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-unknown, .calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-other {
  border-left-color: #6c757d;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-unknown:hover, .calendar .calendar-body .calendar-weeks .calendar-week .day .transaction-calendar-day.status-other:hover {
  background-color: #e2e3e5;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day.this-month {
  background-color: #fff;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day.other-month {
  background-color: #f3f3f3;
}
.calendar .calendar-body .calendar-weeks .calendar-week .day:hover {
  background-color: rgb(255, 255, 174);
}

.top-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: #fff;
  border-bottom: 1px solid #e5e7eb;
  height: 4rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
}
.top-nav .top-nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 1.5rem;
  max-width: 100%;
}
.top-nav .top-nav-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}
.top-nav .sidebar-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  background: transparent;
  border-radius: 0.375rem;
  cursor: pointer;
  color: #6b7280;
  transition: all 0.2s;
}
.top-nav .sidebar-toggle-btn:hover {
  background-color: #f3f4f6;
  color: #111827;
}
.top-nav .sidebar-toggle-btn svg {
  width: 1.5rem;
  height: 1.5rem;
}
.top-nav .brand-logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  padding: 0.5rem;
  border-radius: 0.375rem;
  transition: background-color 0.2s;
}
.top-nav .brand-logo:hover {
  background-color: #f9fafb;
}
.top-nav .brand-logo .brand-logo-img {
  height: 2rem;
  width: auto;
  object-fit: contain;
}
.top-nav .brand-logo .brand-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--sfc-primary, #7c1861);
  line-height: 1.2;
}
.top-nav .brand-logo .brand-tagline {
  font-size: 0.75rem;
  color: #6b7280;
  line-height: 1;
  font-weight: 500;
}
.top-nav .top-nav-center {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  justify-content: center;
  margin: 0 2rem;
}
@media (max-width: 768px) {
  .top-nav .top-nav-center {
    display: none;
  }
}
.top-nav .top-nav-right {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  z-index: 101;
}
.top-nav .nav-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #4b5563;
  text-decoration: none;
  border-radius: 0.375rem;
  transition: all 0.2s;
  white-space: nowrap;
}
.top-nav .nav-link:hover {
  background-color: #f3f4f6;
  color: #111827;
}
.top-nav .nav-link.active {
  background-color: rgba(124, 24, 97, 0.1);
  color: var(--sfc-primary, #7c1861);
  font-weight: 600;
}
.top-nav .nav-link svg {
  width: 1.25rem;
  height: 1.25rem;
}
@media (max-width: 768px) {
  .top-nav .nav-link .link-text {
    display: none;
  }
}
.top-nav .draft-badge {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  background-color: #e5e7eb;
  color: #374151;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 0;
  text-transform: uppercase;
}

.utility-overview {
  max-width: 800px;
}

.utility-section {
  margin-bottom: 3rem;
}
.utility-section h2 {
  font-size: 1.75rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #1f2937;
}
.utility-section h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: #374151;
}
.utility-section p {
  line-height: 1.6;
  color: #6b7280;
  margin-bottom: 1rem;
}
.utility-section pre {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 1rem;
  overflow-x: auto;
  margin-top: 1rem;
}
.utility-section pre code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875rem;
  color: #1f2937;
}
.utility-section code:not(pre code) {
  background: #f3f4f6;
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875rem;
  color: #8b5cf6;
}

.utility-list {
  list-style: none;
  padding: 0;
}
.utility-list li {
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e7eb;
}
.utility-list li:last-child {
  border-bottom: none;
}
.utility-list li a {
  color: #8b5cf6;
  text-decoration: none;
  font-weight: 500;
}
.utility-list li a:hover {
  text-decoration: underline;
}

.color-swatches {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.color-swatch {
  aspect-ratio: 1;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s;
}
.color-swatch:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.color-swatch .color-label {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.25rem;
}
.color-swatch .color-value {
  font-size: 0.75rem;
  opacity: 0.9;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.spacing-scale {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1.5rem 0;
}

.spacing-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.spacing-item .spacing-box {
  border-radius: 4px;
}
.spacing-item .spacing-label {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875rem;
  color: #6b7280;
}

.typography-scale {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1.5rem 0;
}

.typography-item {
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e7eb;
}
.typography-item:last-child {
  border-bottom: none;
}
.typography-item span {
  color: #374151;
}

.radius-scale {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
}

.radius-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.radius-item .radius-box {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.radius-item .radius-label {
  font-weight: 500;
  color: #374151;
}
.radius-item .radius-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.75rem;
  color: #6b7280;
}

.app-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.app-layout {
  display: flex;
  flex: 1;
  overflow: hidden;
}

.app-main {
  flex: 1;
  overflow-y: auto;
  margin-left: 280px;
  transition: margin-left 0.3s ease;
  background-color: #f9fafb;
}
.app-main.sidebar-collapsed {
  margin-left: 0;
}

.app-content {
  padding: 2rem;
  max-width: 1400px;
  margin: 0 auto;
}

.component-library-layout {
  display: flex;
  min-height: 100vh;
  position: relative;
}

.component-library-sidebar {
  position: fixed;
  left: 0;
  top: 4rem;
  height: calc(100vh - 4rem);
  width: 280px;
  background: #fff;
  border-right: 1px solid #e0e0e0;
  overflow-y: auto;
  transition: transform 0.3s ease;
  z-index: 100;
}
.component-library-sidebar.sidebar-collapsed {
  transform: translateX(-240px);
}

.sidebar-toggle-float {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  border-radius: 4px;
  z-index: 10;
}
.sidebar-toggle-float .toggle-arrow {
  font-size: 1.5rem;
  color: #666;
  transition: color 0.2s;
}
.sidebar-toggle-float:hover {
  background: #f5f5f5;
}
.sidebar-toggle-float:hover .toggle-arrow {
  color: var(--sfc-primary);
}

.sidebar-nav {
  padding: 1rem 0 0.5rem 0;
}
.sidebar-nav .nav-section {
  margin-bottom: 1.5rem;
}
.sidebar-nav .nav-section:first-child {
  margin-top: 0;
}
.sidebar-nav .nav-section.nav-section-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.sidebar-nav .nav-section.nav-section-search {
  position: sticky;
  top: 3.5rem;
  z-index: 10;
  background: #fff;
  padding: 0.4rem 0.6rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.sidebar-nav .nav-section.nav-section-layers {
  padding-top: 0.5rem;
}
.sidebar-nav .nav-section.nav-section-utilities {
  border-top: 1px solid #e0e0e0;
  margin-top: 1rem;
  padding-top: 1rem;
}
.sidebar-nav .nav-link-home {
  display: block;
  padding: 0.75rem 1rem;
  color: #333;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.2s;
}
.sidebar-nav .nav-link-home:hover {
  background-color: #f5f5f5;
  color: var(--sfc-primary);
}
.sidebar-nav .nav-heading {
  font-size: 0.85rem;
  text-transform: uppercase;
  color: #999;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0.5rem 1rem;
  margin: 0;
}
.sidebar-nav .nav-search-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.sidebar-nav .nav-search-input {
  flex: 1;
  min-width: 0;
}
.sidebar-nav .expand-collapse-toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}
.sidebar-nav .expand-collapse-toggle:hover {
  background-color: #f5f5f5;
  border-color: blueviolet;
  color: var(--sfc-primary);
}
.sidebar-nav .expand-collapse-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(138, 43, 226, 0.2);
}
.sidebar-nav .expand-collapse-icon {
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}
.sidebar-nav .expand-collapse-icon--expanded {
  transform: rotate(180deg);
}
.sidebar-nav .nav-layer-group {
  margin-bottom: 0;
}
.sidebar-nav .nav-layer-group--level-0 .nav-link-layer-wrapper {
  padding-left: 0.5rem;
}
.sidebar-nav .nav-layer-group--level-0 .nav-component-list {
  margin-left: 1.5rem;
}
.sidebar-nav .nav-layer-group--level-1 .nav-link-layer-wrapper {
  padding-left: 0.5rem;
}
.sidebar-nav .nav-layer-group--level-1 .nav-component-list {
  margin-left: 2.5rem;
}
.sidebar-nav .nav-layer-group--level-2 .nav-link-layer-wrapper {
  padding-left: 0.5rem;
}
.sidebar-nav .nav-layer-group--level-2 .nav-component-list {
  margin-left: 3.5rem;
}
.sidebar-nav .nav-layer-group--level-3 .nav-link-layer-wrapper {
  padding-left: 0.5rem;
}
.sidebar-nav .nav-layer-group--level-3 .nav-component-list {
  margin-left: 4.5rem;
}
.sidebar-nav .nav-layer-indent-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  color: #c0c0c0;
  flex-shrink: 0;
  margin-right: 2px;
}
.sidebar-nav .nav-layer-indent-arrow svg {
  width: 14px;
  height: 14px;
}
.nav-layer-group--level-1 .sidebar-nav .nav-layer-indent-arrow {
  margin-left: 0.5rem;
}
.nav-layer-group--level-2 .sidebar-nav .nav-layer-indent-arrow {
  margin-left: 1rem;
}
.nav-layer-group--level-3 .sidebar-nav .nav-layer-indent-arrow {
  margin-left: 1.5rem;
}
.sidebar-nav .nav-link-layer-wrapper {
  display: flex;
  align-items: center;
  padding-left: 0.5rem;
  padding-bottom: 0.35rem;
  margin-bottom: 0.35rem;
  border-bottom: 1px solid #e8e8e8;
}
.sidebar-nav .nav-link-layer-toggle {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  transition: all 0.2s;
  border-radius: 4px;
}
.sidebar-nav .nav-link-layer-toggle:hover {
  background-color: #f0f0f0;
  color: #333;
}
.sidebar-nav .nav-link-layer-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(138, 43, 226, 0.2);
}
.sidebar-nav .nav-link-layer-toggle-icon {
  width: 14px;
  height: 14px;
  transition: transform 0.2s;
  transform: rotate(0deg);
}
.sidebar-nav .nav-link-layer-toggle-icon--expanded {
  transform: rotate(90deg);
}
.sidebar-nav .nav-link {
  display: block;
  padding: 0.75rem 1rem;
  color: #333;
  text-decoration: none;
  transition: all 0.2s;
}
.sidebar-nav .nav-link:hover {
  background-color: #f5f5f5;
  color: var(--sfc-primary);
}
.sidebar-nav .nav-link.nav-link-active {
  background-color: #f9f9f9;
  color: var(--sfc-primary);
}
.sidebar-nav .nav-link-layer {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1rem 0.6rem 0.5rem;
  color: #333;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: all 0.2s;
  border-radius: 4px;
  margin-right: 0.5rem;
}
.sidebar-nav .nav-link-layer:hover {
  background-color: #f5f5f5;
  color: var(--sfc-primary);
}
.sidebar-nav .nav-link-layer.nav-link-active {
  background-color: rgba(138, 43, 226, 0.08);
  color: var(--sfc-primary);
}
.sidebar-nav .nav-link-layer .nav-link-text {
  flex: 1;
}
.sidebar-nav .nav-link-layer .nav-link-count {
  background: #e8e8e8;
  padding: 0.1rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  color: #666;
  font-weight: 500;
}
.sidebar-nav .nav-component-list {
  padding: 0.25rem 0 0.5rem 0;
  margin-left: 1.5rem;
  border-left: 1px solid #e0e0e0;
}
.sidebar-nav .nav-category {
  margin-bottom: 0.5rem;
}
.sidebar-nav .nav-category:last-child {
  margin-bottom: 0;
}
.sidebar-nav .nav-category-name {
  padding: 0.4rem 1rem 0.4rem 1rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #999;
}
.sidebar-nav .nav-component-link {
  display: block;
  padding: 0.4rem 1rem 0.4rem 1rem;
  color: #666;
  text-decoration: none;
  font-size: 0.875rem;
  transition: all 0.2s;
}
.sidebar-nav .nav-component-link:hover {
  background-color: #f5f5f5;
  color: #333;
}
.sidebar-nav .nav-component-link.nav-component-active {
  background-color: rgba(138, 43, 226, 0.08);
  color: var(--sfc-primary);
  font-weight: 500;
}

.component-library-main {
  margin-left: 280px;
  width: calc(100% - 280px);
  transition: margin-left 0.3s ease, width 0.3s ease;
}
.component-library-main.sidebar-collapsed {
  margin-left: 0;
  width: 100%;
}

.component-library-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 3rem;
}

.page-header {
  margin-bottom: 3rem;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 1.5rem;
  position: relative;
}
.page-header .header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
}
.page-header h1 {
  font-size: 2.5rem;
  margin: 0 0 0.5rem 0;
  color: #333;
}
.page-header p {
  color: #666;
  font-size: 1.1rem;
  margin: 0;
}
.page-header .header-filters {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-end;
  min-width: 300px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .page-header .header-filters {
    width: 100%;
    min-width: auto;
    align-items: stretch;
  }
}
.page-header .filter-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
.page-header .filter-group .filter-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #666;
  margin: 0;
}
.page-header .filter-group .filter-select {
  padding: 0.5rem 0.75rem;
  font-size: 0.9rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background-color: #fff;
  color: #333;
  cursor: pointer;
  transition: all 0.2s;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}
.page-header .filter-group .filter-select:hover {
  border-color: blueviolet;
}
.page-header .filter-group .filter-select:focus {
  outline: none;
  border-color: blueviolet;
  box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.1);
}
.page-header .filter-group .header-search {
  width: 100%;
}
.page-header .component-meta {
  color: #888;
  font-size: 0.95rem;
}
.page-header .refresh-button {
  flex-shrink: 0;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  cursor: pointer;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background-color: #fff;
  color: #333;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.page-header .refresh-button:hover {
  background-color: #f9fafb;
  border-color: blueviolet;
  color: var(--sfc-primary);
}
.page-header .refresh-button:active {
  transform: translateY(1px);
}
.page-header .breadcrumbs {
  margin-bottom: 1rem;
  font-size: 0.9rem;
}
.page-header .breadcrumbs .breadcrumb-link {
  color: var(--sfc-primary);
  text-decoration: none;
}
.page-header .breadcrumbs .breadcrumb-link:hover {
  text-decoration: underline;
}
.page-header .breadcrumbs .breadcrumb-separator {
  margin: 0 0.5rem;
  color: #999;
}
.page-header .breadcrumbs .breadcrumb-current {
  color: #666;
}

.page-content {
  min-height: 400px;
}

.welcome-message h2 {
  font-size: 2rem;
  margin: 0 0 1rem 0;
  color: #333;
}
.welcome-message p {
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.welcome-message .quick-stats {
  background: #f9f9f9;
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid blueviolet;
}
.welcome-message .quick-stats h3 {
  margin: 0 0 1rem 0;
  font-size: 1.2rem;
  color: #333;
}
.welcome-message .quick-stats ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.welcome-message .quick-stats ul li {
  padding: 0.5rem 0;
  color: #666;
}

.components-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

.component-card {
  display: block;
  padding: 1.5rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s;
}
.component-card:hover {
  border-color: blueviolet;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.component-card h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.3rem;
  color: #333;
}
.component-card .component-description {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0 0 1rem 0;
}
.component-card .component-category {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: #f0f0f0;
  border-radius: 12px;
  font-size: 0.85rem;
  color: #666;
}

.empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: #999;
}
.empty-state p {
  font-size: 1.1rem;
  margin: 0.5rem 0;
}

.component-detail .component-section {
  margin-bottom: 3rem;
}
.component-detail .component-section h2 {
  font-size: 1.8rem;
  margin: 0 0 1rem 0;
  color: #333;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 0.5rem;
}
.component-detail .component-section p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #666;
}
.component-detail .component-examples .component-example {
  margin-bottom: 2rem;
  padding: 1.5rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}
.component-detail .component-examples .component-example h3 {
  margin: 0 0 1rem 0;
  font-size: 1.2rem;
  color: #333;
}
.component-detail .component-examples .component-example .example-preview {
  padding: 2rem;
  background: #f9f9f9;
  border-radius: 4px;
  margin-bottom: 1rem;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px dashed #e0e0e0;
}
.component-detail .component-examples .component-example .example-preview .live-button-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.component-detail .component-examples .component-example .example-preview .live-link-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 1rem;
}
.component-detail .component-examples .component-example .example-preview .live-divider-preview {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
.component-detail .component-examples .component-example .example-preview .live-form-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
.component-detail .component-examples .component-example .example-preview .live-feedback-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.component-detail .component-examples .component-example .example-preview .live-display-preview {
  width: 100%;
  text-align: center;
}
.component-detail .component-examples .component-example .example-preview .live-media-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.5rem;
}
.component-detail .component-examples .component-example .example-preview .live-media-preview .image {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.component-detail .component-examples .component-example .example-preview .live-media-preview .avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  font-weight: 600;
}
.component-detail .component-examples .component-example .example-preview .live-media-preview .avatar.avatar-small {
  width: 32px;
  height: 32px;
  font-size: 0.75rem;
}
.component-detail .component-examples .component-example .example-preview .live-media-preview .avatar.avatar-medium {
  width: 48px;
  height: 48px;
  font-size: 1rem;
}
.component-detail .component-examples .component-example .example-preview .live-media-preview .avatar.avatar-large {
  width: 64px;
  height: 64px;
  font-size: 1.25rem;
}
.component-detail .component-examples .component-example .example-preview .live-media-preview .avatar .avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.component-detail .component-examples .component-example .example-preview .live-media-preview .avatar .avatar-initials {
  text-transform: uppercase;
}
.component-detail .component-examples .component-example .example-preview .live-overlay-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100px;
}
.component-detail .component-examples .component-example .example-live-preview {
  width: 100%;
}
.component-detail .component-examples .component-example .example-preview-placeholder {
  text-align: center;
  color: #999;
  width: 100%;
}
.component-detail .component-examples .component-example .example-preview-placeholder p {
  margin: 0.5rem 0;
  font-size: 0.95rem;
}
.component-detail .component-examples .component-example .example-preview-placeholder .preview-box {
  margin-top: 1rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-family: "Monaco", "Menlo", monospace;
  font-size: 0.85rem;
  color: #666;
  text-align: left;
}
.component-detail .component-examples .component-example .example-placeholder {
  text-align: center;
  color: #999;
}
.component-detail .component-examples .component-example .example-placeholder p {
  margin: 0.5rem 0;
  font-size: 0.95rem;
}
.component-detail .component-examples .component-example .example-error {
  padding: 1rem;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 4px;
  color: #856404;
}
.component-detail .component-examples .component-example .example-error p {
  margin: 0.5rem 0;
  font-size: 0.9rem;
}
.component-detail .component-examples .component-example .example-error strong {
  color: #721c24;
}
.component-detail .component-examples .component-example .example-error details {
  margin-top: 1rem;
}
.component-detail .component-examples .component-example .example-error details summary {
  cursor: pointer;
  font-weight: 500;
  color: #856404;
}
.component-detail .component-examples .component-example .example-error details summary:hover {
  text-decoration: underline;
}
.component-detail .component-examples .component-example .example-error details pre {
  margin: 1rem 0 0 0;
  padding: 1rem;
  background: #fff;
  border: 1px solid #ffc107;
  border-radius: 4px;
  overflow-x: auto;
}
.component-detail .component-examples .component-example .example-error details pre code {
  color: #333;
  font-family: "Monaco", "Menlo", monospace;
  font-size: 0.85rem;
}
.component-detail .component-examples .component-example .example-code summary {
  cursor: pointer;
  color: var(--sfc-primary);
  font-weight: 500;
  padding: 0.5rem 0;
}
.component-detail .component-examples .component-example .example-code summary:hover {
  text-decoration: underline;
}
.component-detail .component-examples .component-example .example-code pre {
  margin: 1rem 0 0 0;
  padding: 1rem;
  background: #2d2d2d;
  border-radius: 4px;
  overflow-x: auto;
}
.component-detail .component-examples .component-example .example-code pre code {
  color: #f0f0f0;
  font-family: "Monaco", "Menlo", monospace;
  font-size: 0.9rem;
  line-height: 1.5;
}
.component-detail .variant-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.component-detail .variant-list li {
  padding: 0.5rem 1rem;
  background: #f0f0f0;
  border-radius: 4px;
}
.component-detail .variant-list li code {
  color: #333;
  font-family: "Monaco", "Menlo", monospace;
  font-size: 0.9rem;
}
.component-detail .module-name {
  display: inline-block;
  padding: 0.75rem 1rem;
  background: #f9f9f9;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-family: "Monaco", "Menlo", monospace;
  font-size: 0.95rem;
  color: #333;
}

.surfaces-overview {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 2rem;
}
.surfaces-overview .overview-header {
  text-align: center;
  margin-bottom: 4rem;
  padding: 3rem 0;
  border-bottom: 2px solid #e0e0e0;
}
.surfaces-overview .overview-header h1 {
  font-size: 3rem;
  margin: 0 0 1rem 0;
  color: var(--sfc-primary);
}
.surfaces-overview .overview-header .tagline {
  font-size: 1.3rem;
  color: #666;
  margin: 0;
}
.surfaces-overview .overview-content .overview-section {
  margin-bottom: 4rem;
}
.surfaces-overview .overview-content .overview-section h2 {
  font-size: 2rem;
  margin: 0 0 1.5rem 0;
  color: #333;
}
.surfaces-overview .overview-content .overview-section p {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #666;
  margin-bottom: 1.5rem;
}
.surfaces-overview .overview-content .hierarchy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin: 2rem 0;
}
.surfaces-overview .overview-content .hierarchy-grid .hierarchy-card {
  background: #f9f9f9;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 2rem;
  transition: all 0.2s;
}
.surfaces-overview .overview-content .hierarchy-grid .hierarchy-card:hover {
  border-color: blueviolet;
  box-shadow: 0 4px 12px rgba(138, 43, 226, 0.1);
  transform: translateY(-2px);
}
.surfaces-overview .overview-content .hierarchy-grid .hierarchy-card h3 {
  font-size: 1.5rem;
  margin: 0 0 0.5rem 0;
  color: var(--sfc-primary);
}
.surfaces-overview .overview-content .hierarchy-grid .hierarchy-card p {
  font-size: 1rem;
  color: #666;
  margin: 0 0 1rem 0;
}
.surfaces-overview .overview-content .hierarchy-grid .hierarchy-card .card-link {
  color: var(--sfc-primary);
  text-decoration: none;
  font-weight: 500;
}
.surfaces-overview .overview-content .hierarchy-grid .hierarchy-card .card-link:hover {
  text-decoration: underline;
}
.surfaces-overview .overview-content .features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.surfaces-overview .overview-content .features-list li {
  padding: 1rem 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 1.05rem;
  color: #666;
  line-height: 1.6;
}
.surfaces-overview .overview-content .features-list li:last-child {
  border-bottom: none;
}
.surfaces-overview .overview-content .features-list li strong {
  color: #333;
}
.surfaces-overview .overview-content .btn-primary {
  display: inline-block;
  padding: 1rem 2rem;
  background: blueviolet;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-size: 1.1rem;
  font-weight: 500;
  transition: all 0.2s;
}
.surfaces-overview .overview-content .btn-primary:hover {
  background: #6a2d8f;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(138, 43, 226, 0.3);
}

.sfc-component-library-search__wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.sfc-component-library-search__icon {
  position: absolute;
  left: 0.5rem;
  width: 14px;
  height: 14px;
  color: #999;
  pointer-events: none;
  z-index: 1;
}
.sfc-component-library-search__input {
  width: 100%;
  padding: 0.4rem 1.75rem 0.4rem 1.75rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 0.8rem;
  color: #333;
  background: #fff;
  transition: all 0.2s;
}
.sfc-component-library-search__input:focus {
  outline: none;
  border-color: blueviolet;
  box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.1);
}
.sfc-component-library-search__input::placeholder {
  color: #999;
}
.sfc-component-library-search__clear {
  position: absolute;
  right: 0.35rem;
  background: none;
  border: none;
  padding: 0.15rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  transition: color 0.2s;
  z-index: 1;
}
.sfc-component-library-search__clear svg {
  width: 14px;
  height: 14px;
}
.sfc-component-library-search__clear:hover {
  color: #333;
}

.sfc-composition-tree {
  margin-top: 1rem;
  padding: 1rem;
  background: #f9f9f9;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}
.sfc-composition-tree__empty {
  color: #999;
  font-style: italic;
  margin: 0;
}
.sfc-composition-tree__node {
  margin-bottom: 0.5rem;
}
.sfc-composition-tree__node[data-depth="0"] {
  margin-bottom: 1rem;
}
.sfc-composition-tree__node--unresolved {
  opacity: 0.6;
}
.sfc-composition-tree__node-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
}
.sfc-composition-tree__link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: #333;
  flex: 1;
  transition: color 0.2s;
}
.sfc-composition-tree__link:hover {
  color: var(--sfc-primary);
}
.sfc-composition-tree__name {
  font-weight: 500;
  font-size: 0.95rem;
}
.sfc-composition-tree__badge {
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.sfc-composition-tree__badge--primitives {
  background: #e0e0e0;
  color: #666;
}
.sfc-composition-tree__badge--parts {
  background: #fff3cd;
  color: #856404;
}
.sfc-composition-tree__badge--patterns {
  background: #d1ecf1;
  color: #0c5460;
}
.sfc-composition-tree__badge--pages {
  background: #d4edda;
  color: #155724;
}
.sfc-composition-tree__badge--unresolved {
  background: #f8d7da;
  color: #721c24;
}
.sfc-composition-tree__note {
  font-size: 0.8rem;
  color: #999;
  font-style: italic;
}
.sfc-composition-tree__children {
  margin-left: 1.5rem;
  margin-top: 0.5rem;
  padding-left: 1rem;
  border-left: 2px solid #e0e0e0;
}

.used-in-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.used-in-list li {
  margin-bottom: 0.75rem;
}

.used-in-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  text-decoration: none;
  color: #333;
  transition: all 0.2s;
}
.used-in-link:hover {
  border-color: blueviolet;
  color: blueviolet;
  transform: translateX(4px);
}

.layer-badge {
  padding: 0.25rem 0.6rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.layer-badge--primitives {
  background: #e0e0e0;
  color: #666;
}
.layer-badge--parts {
  background: #fff3cd;
  color: #856404;
}
.layer-badge--patterns {
  background: #d1ecf1;
  color: #0c5460;
}
.layer-badge--pages {
  background: #d4edda;
  color: #155724;
}

.section-description {
  color: #666;
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

.inbox-container {
  background-color: var(--co-inbox-bg-white);
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: row;
  min-height: 0;
}

.inbox-main-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.main-layout {
  flex: 1;
  display: flex;
  flex-direction: row;
  min-height: 0;
  overflow: hidden;
}

.email-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.split-pane-container {
  flex: 1;
  display: flex;
  flex-direction: row;
  min-height: 0;
  overflow: hidden;
}

.email-sidebar {
  width: 360px;
  min-width: 280px;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-white);
  overflow: hidden;
}

.pane-resize-handle {
  width: 6px;
  cursor: col-resize;
  background: transparent;
  transition: background-color 0.15s ease;
  flex-shrink: 0;
  z-index: 10;
}
.pane-resize-handle:hover, .pane-resize-handle.dragging {
  background-color: var(--co-inbox-primary);
}

.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: var(--co-inbox-bg-white);
  overflow: hidden;
}

.header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  padding-left: 0.5rem;
  padding-top: 1rem;
  background-color: var(--co-inbox-bg-white);
  border-bottom: 1px solid var(--co-inbox-border);
  min-height: 52px;
  flex-shrink: 0;
}
.header-bar.branded {
  background-color: var(--co-inbox-primary);
  color: white;
  border-bottom: none;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white;
}

.header-logo {
  width: 29px;
  height: 29px;
  color: white;
  fill: white;
}

.header-title {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  color: white !important;
}

.header-center {
  flex: 1;
  display: flex;
  justify-content: center;
  padding: 0 1rem;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.header-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: white;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.header-btn span, .header-btn .icon, .header-btn [class^=hero-] {
  color: white !important;
}
.header-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.header-btn.active {
  background-color: rgba(255, 255, 255, 0.2);
}

.search-form {
  width: 100%;
  max-width: 400px;
  margin-top: 0.25rem;
}

.search-box {
  display: flex;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.92);
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  transition: background-color 0.15s ease;
}
.search-box:focus-within {
  background-color: rgb(255, 255, 255);
}
.search-box:focus-within .search-icon {
  color: var(--co-inbox-text-secondary);
}
.search-box:focus-within .search-input {
  color: var(--co-inbox-text);
}
.search-box:focus-within .search-input::placeholder {
  color: var(--co-inbox-text-tertiary);
}

.search-icon {
  width: 16px;
  height: 16px;
  color: var(--co-inbox-text-secondary);
  flex-shrink: 0;
}

.search-input {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--co-inbox-text);
  font-size: 0.875rem;
  padding: 0.25rem;
  outline: none;
}
.search-input::placeholder {
  color: var(--co-inbox-text-tertiary);
  opacity: 0.7;
}

.search-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  padding: 2px;
}
.search-clear:hover {
  color: white;
}

.nav-stats-section {
  padding: 0.75rem 0.5rem;
  border-top: 1px solid var(--co-inbox-border);
  margin-top: 0.5rem;
}

.nav-stats-header {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--co-inbox-text-tertiary);
  padding: 0 0.5rem;
  margin-bottom: 0.5rem;
}

.nav-stats-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-stat-item {
  display: block;
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 400;
  color: var(--co-inbox-text-secondary);
  border-radius: 0.125rem;
  transition: background-color 0.15s ease;
}
.nav-stat-item:hover {
  background-color: var(--co-inbox-bg-hover);
}

.nav-stat-value {
  font-size: 0.6875rem;
  font-weight: 400;
  color: var(--co-inbox-text-secondary);
}

.nav-stat-label {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  flex: 1;
  text-align: right;
}

.email-list-header {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 4px;
  padding: 4px 8px;
  border-bottom: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-light);
}

.email-list-header form.filter-dropdown-form {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  width: auto;
  min-width: 0;
  font-weight: normal;
}

.filter-tabs {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}

.filter-tab {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  text-decoration: none;
  border-radius: 0.25rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  white-space: nowrap;
}
.filter-tab:hover {
  background-color: var(--co-inbox-bg-light);
  color: var(--co-inbox-text);
}
.filter-tab.active {
  background-color: var(--co-inbox-primary);
  color: white;
  border-color: var(--co-inbox-primary);
}

.filter-icon {
  color: var(--co-inbox-text-secondary);
  flex: 0 0 auto;
  margin: 0;
}

.filter-dropdown {
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  background: var(--co-inbox-bg-white);
  font-size: 0.93rem;
  color: var(--co-inbox-text);
  cursor: pointer;
  outline: none;
  padding: 3px 6px;
  width: auto;
  max-width: 130px;
  margin: 0;
  height: 24px;
  box-sizing: border-box;
}
.filter-dropdown:focus {
  outline: none;
  border-color: var(--co-inbox-primary);
}
.filter-dropdown option {
  background-color: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
  padding: 0.5rem;
}
.filter-dropdown option:hover, .filter-dropdown option:focus {
  background-color: var(--co-inbox-primary-light);
}
.filter-dropdown option:checked {
  background-color: var(--co-inbox-primary);
  color: white;
}

.email-list-header .category-filter-container {
  flex: 0 0 126px;
  width: 126px;
  max-width: 126px;
  position: relative;
  z-index: 20;
  height: 24px;
  display: flex;
  align-items: flex-start;
}

.email-list-header form.category-filter-form {
  width: 100%;
  margin: 0;
  padding: 0;
  min-width: 0;
  font-weight: normal;
  height: 24px;
  display: flex;
  align-items: flex-start;
}

.email-list-header .category-filter-container .ls-container {
  position: relative;
  font-size: 0.93rem;
  height: 24px;
  width: 100%;
}
.email-list-header .category-filter-container input[type=text] {
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  padding: 3px 6px;
  font-size: 0.93rem;
  background-color: var(--co-inbox-bg-white);
  width: 100%;
  height: 24px;
  line-height: 1;
  margin: 0;
  box-sizing: border-box;
  font-weight: normal;
}
.email-list-header .category-filter-container input[type=text]:focus {
  border-color: var(--co-inbox-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 120, 212, 0.15);
}
.email-list-header .category-filter-container .ls-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  margin-top: 0.25rem;
  max-height: 200px;
  overflow-y: auto;
  z-index: 100;
  list-style: none;
  padding: 0;
}
.email-list-header .category-filter-container .ls-option {
  padding: 0.5rem 0.75rem;
  font-size: 0.88rem;
  cursor: pointer;
  list-style: none;
}
.email-list-header .category-filter-container .ls-option:hover, .email-list-header .category-filter-container .ls-option:focus {
  background-color: #004494;
  color: white;
}
.email-list-header .category-filter-container .ls-tags-container,
.email-list-header .category-filter-container .ls-tag {
  display: none;
}
.email-list-header .category-filter-container .ls-option-selected {
  background-color: var(--co-inbox-primary);
  color: white;
  font-size: 0.79rem;
}
.email-list-header .category-filter-container .ls-option-selected:hover {
  background-color: #004494;
}
.email-list-header .category-filter-container .ls-clear-btn {
  cursor: pointer;
  opacity: 0.6;
}
.email-list-header .category-filter-container .ls-clear-btn:hover {
  opacity: 1;
}

select option {
  background-color: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
}
select option:hover, select option:focus {
  background-color: var(--co-inbox-primary-light);
  color: var(--co-inbox-text);
}
select option:checked {
  background-color: var(--co-inbox-primary);
  color: white;
}
select option:disabled {
  color: var(--co-inbox-text-tertiary);
  background-color: var(--co-inbox-bg-light);
}
select optgroup {
  background-color: var(--co-inbox-bg-light);
  color: var(--co-inbox-text-secondary);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.sort-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  transition: color 0.15s ease;
  margin-left: auto;
}
.sort-btn svg {
  width: 18px;
  height: 18px;
}
.sort-btn:hover {
  color: var(--co-inbox-text);
}

.email-list-scroll {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}

.fixed-user-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: calc(48px + 200px);
  box-sizing: border-box;
  background-color: var(--co-inbox-bg-white);
  border-top: 1px solid var(--co-inbox-border);
  border-right: 1px solid var(--co-inbox-border);
  padding: 0.5rem 0.75rem;
  z-index: 1000;
}

.user-menu-links {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--co-inbox-border);
  margin-bottom: 0.5rem;
}

.user-menu-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  color: var(--co-inbox-text-secondary);
  text-decoration: none;
  font-size: 0.8125rem;
  border-radius: 0.125rem;
}
.user-menu-link:hover {
  background-color: var(--co-inbox-bg-hover);
  color: var(--co-inbox-text);
}

.user-menu-profile {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  margin: 0 -0.5rem;
  border-radius: 0.125rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.user-menu-profile:hover {
  background-color: var(--co-inbox-bg-hover);
}

.user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: var(--co-inbox-primary);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

.user-name {
  font-size: 0.8125rem;
  color: var(--co-inbox-text);
}

.ai-test-page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f5f5;
}

.ai-test-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #CC0000 0%, #EE0000 50%, #CC0000 100%);
  color: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.ai-test-header h1 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}

.ai-test-header-left .back-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  transition: background-color 0.15s ease;
}
.ai-test-header-left .back-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.ai-test-header-center {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ai-test-header-right .model-select {
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 0.875rem;
  cursor: pointer;
}
.ai-test-header-right .model-select option {
  color: #333;
  background: white;
}

.ai-test-content {
  display: flex;
  flex: 1;
  gap: 1.5rem;
  padding: 1.5rem;
  overflow: hidden;
}

.ai-test-input-panel {
  flex: 1;
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: auto;
}

.ai-test-results-panel {
  flex: 1;
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: auto;
  padding: 1rem;
}

.ai-test-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  color: #666;
}
.ai-test-empty-state h3 {
  margin: 1rem 0 0.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: #333;
}
.ai-test-empty-state p {
  max-width: 300px;
  font-size: 0.875rem;
  line-height: 1.5;
}

.test-composer {
  padding: 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.test-composer-header {
  margin-bottom: 1.5rem;
}
.test-composer-header h2 {
  margin: 0;
  color: var(--co-inbox-text);
}

.test-composer-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}

.test-field-row {
  display: flex;
  gap: 1rem;
}
.test-field-row .test-field {
  flex: 1;
}

.test-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.test-field label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--co-inbox-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.test-input {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  font-size: 0.875rem;
  background: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
}
.test-input:focus {
  outline: none;
  border-color: var(--co-inbox-primary);
  box-shadow: 0 0 0 2px rgba(204, 0, 0, 0.1);
}
.test-input::placeholder {
  color: var(--co-inbox-text-tertiary);
}

.test-textarea {
  padding: 0.75rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  font-size: 0.875rem;
  background: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
  resize: vertical;
  min-height: 200px;
  flex: 1;
  font-family: inherit;
  line-height: 1.5;
}
.test-textarea:focus {
  outline: none;
  border-color: var(--co-inbox-primary);
  box-shadow: 0 0 0 2px rgba(204, 0, 0, 0.1);
}
.test-textarea::placeholder {
  color: var(--co-inbox-text-tertiary);
}

.test-options {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.test-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
}
.test-checkbox input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--co-inbox-primary);
}

.test-actions {
  display: flex;
  gap: 0.75rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--co-inbox-border);
  margin-top: auto;
}

.test-results-summary {
  margin-top: 1.5rem;
  padding: 1rem;
  background: var(--co-inbox-bg-light);
  border-radius: 0.375rem;
  border: 1px solid var(--co-inbox-border);
}

.test-metric {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.test-metric-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--co-inbox-text-tertiary);
  text-transform: uppercase;
}

.test-metric-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--co-inbox-text);
}

.settings-page,
.config-page,
.admin-page,
.users-page {
  padding: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.page-header {
  margin-bottom: 1.5rem;
}
.page-header h1 {
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin: 0 0 0.5rem 0;
}

.page-header-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}

.breadcrumb-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--co-inbox-primary);
  text-decoration: none;
}
.breadcrumb-link:hover {
  text-decoration: underline;
}

.breadcrumb-separator {
  color: var(--co-inbox-text-tertiary);
}

.breadcrumb-current {
  color: var(--co-inbox-text);
  font-weight: 500;
}

.page-header-content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.page-subtitle {
  font-size: 0.9375rem;
  color: var(--co-inbox-text-secondary);
  margin: 0;
}

.settings-sections,
.config-sections,
.admin-sections {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.settings-section,
.config-section,
.admin-card {
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.settings-section-title,
.config-section-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin: 0 0 1rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--co-inbox-border);
}

.admin-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.admin-card-header h2 {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin: 0;
}
.admin-card-header .w-5 {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--co-inbox-primary);
}

.admin-card p {
  color: var(--co-inbox-text-secondary);
  font-size: 0.9375rem;
  margin: 0 0 0.75rem 0;
}

.rag-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-cards-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .admin-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .admin-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.admin-card-content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.admin-card-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.admin-card-info {
  flex: 1;
}
.admin-card-info h2 {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin: 0 0 0.25rem 0;
}
.admin-card-info p {
  font-size: 0.875rem;
  color: var(--co-inbox-text-secondary);
  margin: 0;
  line-height: 1.4;
}

.admin-card-actions {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--co-inbox-border);
  display: flex;
  justify-content: flex-end;
}

.admin-icon-blue {
  background-color: #dbeafe;
  color: #2563eb;
}

.admin-icon-purple {
  background-color: #f3e8ff;
  color: #9333ea;
}

.admin-icon-orange {
  background-color: #ffedd5;
  color: #ea580c;
}

.admin-icon-green {
  background-color: #dcfce7;
  color: #16a34a;
}

.admin-icon-indigo {
  background-color: #e0e7ff;
  color: #4f46e5;
}

.admin-icon-teal {
  background-color: #ccfbf1;
  color: #0d9488;
}

.admin-icon-gray {
  background-color: var(--co-inbox-bg-light);
  color: var(--co-inbox-text-secondary);
}

.settings-form,
.config-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.settings-field,
.config-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.settings-field label,
.config-field label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--co-inbox-text);
}

.settings-input,
.config-input {
  width: 100%;
  max-width: 400px;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  font-size: 0.9375rem;
  color: var(--co-inbox-text);
  background-color: var(--co-inbox-bg-white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.settings-input:focus,
.config-input:focus {
  outline: none;
  border-color: var(--co-inbox-primary);
  box-shadow: 0 0 0 3px rgba(0, 120, 212, 0.15);
}
.settings-input:disabled,
.config-input:disabled {
  background-color: var(--co-inbox-bg-light);
  color: var(--co-inbox-text-secondary);
  cursor: not-allowed;
}
.settings-input::placeholder,
.config-input::placeholder {
  color: var(--co-inbox-text-tertiary);
}

.settings-toggle-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
}
.settings-toggle-field label {
  font-size: 0.9375rem;
  color: var(--co-inbox-text);
}

.settings-toggle {
  width: 40px;
  height: 22px;
  cursor: pointer;
}

.settings-actions,
.config-actions {
  display: flex;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--co-inbox-border);
  margin-top: 0.5rem;
}

.outlook-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  background: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.outlook-btn:hover {
  background: var(--co-inbox-bg-hover);
}
.outlook-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.outlook-btn-primary {
  background: #0078D4 !important;
  border-color: #0078D4 !important;
  color: white !important;
}
.outlook-btn-primary:hover {
  background: #005a9e !important;
  border-color: #005a9e !important;
}

.outlook-btn-danger,
.outlook-btn-destructive {
  background: #d13438;
  border-color: #d13438;
  color: white;
}
.outlook-btn-danger:hover,
.outlook-btn-destructive:hover {
  background: #a4262c;
  border-color: #a4262c;
}

.outlook-btn-secondary {
  background: var(--co-inbox-bg-light);
  border-color: var(--co-inbox-border);
  color: var(--co-inbox-text);
}
.outlook-btn-secondary:hover {
  background: var(--co-inbox-bg-hover);
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
}
.admin-table th, .admin-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--co-inbox-border);
}
.admin-table th {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--co-inbox-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background-color: var(--co-inbox-bg-light);
}
.admin-table td {
  font-size: 0.9375rem;
  color: var(--co-inbox-text);
}
.admin-table tbody tr:hover {
  background-color: var(--co-inbox-bg-hover);
}

.status-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
}
.status-badge.status-success, .status-badge.bg-green-100 {
  background-color: #dff6dd;
  color: #107c10;
}
.status-badge.status-warning, .status-badge.bg-yellow-100 {
  background-color: #fff4ce;
  color: #797600;
}
.status-badge.status-error, .status-badge.bg-red-100 {
  background-color: #fde7e9;
  color: #a4262c;
}

@media (max-width: 768px) {
  .settings-page,
  .config-page,
  .admin-page,
  .users-page {
    padding: 1rem;
  }
  .settings-input,
  .config-input {
    max-width: 100%;
  }
  .settings-actions,
  .config-actions {
    flex-direction: column;
  }
  .settings-actions .outlook-btn,
  .config-actions .outlook-btn {
    width: 100%;
    justify-content: center;
  }
}
.style-guide {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem;
}

.style-guide-header {
  margin-bottom: 2rem;
  text-align: center;
}
.style-guide-header h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--co-inbox-text);
  margin-bottom: 0.5rem;
}

.style-guide-subtitle {
  font-size: 0.875rem;
  color: var(--co-inbox-text-secondary);
}
.style-guide-subtitle a {
  color: var(--co-inbox-primary);
  text-decoration: underline;
}
.style-guide-subtitle a:hover {
  color: var(--co-inbox-primary-hover);
}

.style-guide-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 0.8125rem;
}
.style-guide-breadcrumb a {
  color: var(--co-inbox-primary);
  text-decoration: none;
}
.style-guide-breadcrumb a:hover {
  text-decoration: underline;
}
.style-guide-breadcrumb .breadcrumb-separator {
  color: var(--co-inbox-text-tertiary);
}
.style-guide-breadcrumb .breadcrumb-current {
  color: var(--co-inbox-text);
  font-weight: 500;
}

.style-guide-layers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.style-guide-layer-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  text-decoration: none;
  transition: all 0.15s ease;
}
.style-guide-layer-card:hover {
  border-color: var(--co-inbox-primary);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.style-guide-layer-card .layer-icon {
  font-size: 2rem;
  flex-shrink: 0;
}
.style-guide-layer-card .layer-info {
  flex: 1;
}
.style-guide-layer-card .layer-name {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin-bottom: 0.25rem;
}
.style-guide-layer-card .layer-description {
  font-size: 0.8125rem;
  color: var(--co-inbox-text-secondary);
  margin-bottom: 0.5rem;
}
.style-guide-layer-card .layer-count {
  font-size: 0.75rem;
  color: var(--co-inbox-text-tertiary);
  background-color: var(--co-inbox-bg-gray);
  padding: 2px 8px;
  border-radius: 9999px;
}

.style-guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}

.component-card {
  display: flex;
  flex-direction: column;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  overflow: hidden;
  text-decoration: none;
  transition: all 0.15s ease;
}
.component-card:hover {
  border-color: var(--co-inbox-primary);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.component-card .component-preview {
  height: 120px;
  background-color: var(--co-inbox-bg-light);
  display: flex;
  align-items: center;
  justify-content: center;
}
.component-card .component-preview .preview-placeholder {
  font-size: 2.5rem;
}
.component-card .component-info {
  padding: 1rem;
}
.component-card .component-info .component-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin-bottom: 0.25rem;
}
.component-card .component-info .component-description {
  font-size: 0.8125rem;
  color: var(--co-inbox-text-secondary);
}

.component-detail {
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  overflow: hidden;
}

.component-tabs {
  display: flex;
  border-bottom: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-light);
}
.component-tabs .tab-btn {
  padding: 0.75rem 1rem;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  font-size: 0.8125rem;
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.component-tabs .tab-btn:hover {
  color: var(--co-inbox-text);
  background-color: var(--co-inbox-bg-hover);
}
.component-tabs .tab-btn.active {
  color: var(--co-inbox-primary);
  border-bottom-color: var(--co-inbox-primary);
}

.component-tab-content {
  padding: 1.5rem;
}

.component-preview-area .preview-canvas {
  padding: 2rem;
  background-color: var(--co-inbox-bg-light);
  border: 1px dashed var(--co-inbox-border);
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.component-variants {
  display: grid;
  gap: 1rem;
}
.component-variants .variant-item {
  padding: 1rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
}
.component-variants .variant-item .variant-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin-bottom: 0.5rem;
}
.component-variants .variant-item .variant-preview {
  padding: 1rem;
  background-color: var(--co-inbox-bg-light);
  border-radius: 0.25rem;
}

.component-code pre {
  background-color: #1e1e1e;
  color: #d4d4d4;
  padding: 1rem;
  border-radius: 0.25rem;
  overflow-x: auto;
  font-family: "Cascadia Code", "Fira Code", Consolas, Monaco, "Courier New", monospace;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.component-props .props-table {
  width: 100%;
  border-collapse: collapse;
}
.component-props .props-table th, .component-props .props-table td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--co-inbox-border);
}
.component-props .props-table th {
  font-weight: 600;
  font-size: 0.8125rem;
  color: var(--co-inbox-text-secondary);
  background-color: var(--co-inbox-bg-light);
}
.component-props .props-table td {
  font-size: 0.8125rem;
}
.component-props .props-table .prop-name {
  font-family: "Cascadia Code", "Fira Code", Consolas, Monaco, "Courier New", monospace;
  color: var(--co-inbox-primary);
}
.component-props .props-table .prop-type {
  font-family: "Cascadia Code", "Fira Code", Consolas, Monaco, "Courier New", monospace;
  color: var(--co-inbox-text-secondary);
}
.component-props .props-table .prop-default {
  font-family: "Cascadia Code", "Fira Code", Consolas, Monaco, "Courier New", monospace;
  color: var(--co-inbox-text-tertiary);
}

.style-guide-links {
  margin-top: 2rem;
  padding: 1.5rem;
  background-color: var(--co-inbox-bg-light);
  border-radius: 0.5rem;
}
.style-guide-links h3 {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin-bottom: 0.75rem;
}
.style-guide-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.style-guide-links ul li a {
  color: var(--co-inbox-primary);
  text-decoration: none;
}
.style-guide-links ul li a:hover {
  text-decoration: underline;
}

.email-list-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-white);
  flex-shrink: 0;
}

.email-list-title {
  font-weight: 600;
  font-size: 1rem;
  color: var(--co-inbox-text);
}

.email-list-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.email-list-scroll {
  flex: 1;
  overflow-y: auto;
  background-color: var(--co-inbox-bg-white);
}

.infinite-scroll-sentinel {
  padding: 0.75rem;
  text-align: center;
  min-height: 1px;
}
.infinite-scroll-sentinel .loading-indicator {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
}

.email-list-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  color: var(--co-inbox-text-secondary);
  text-align: center;
}
.email-list-empty .empty-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.email-list-empty .empty-title {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.email-list-empty .empty-message {
  font-size: 0.875rem;
}

.email-detail {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  border-left: 1px solid var(--co-inbox-border);
}

.email-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-white);
  flex-shrink: 0;
}

.email-detail-subject {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin-bottom: 0.5rem;
}

.email-detail-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.email-detail-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.email-detail-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}

.email-detail-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--co-inbox-text-secondary);
  text-align: center;
  padding: 2rem;
}

.thread-messages {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.message-preview {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.message-preview-layout {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.message-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.message-scroll-area {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: var(--co-inbox-bg-light);
}

.message-content-wrapper {
  padding: 1rem;
  padding-top: 1.5rem;
  padding-left: calc(1rem + 6px);
  background-color: var(--co-inbox-bg-light);
}

.message-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.75rem;
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.toolbar-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.toolbar-right {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.toolbar-field {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.toolbar-label {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--co-inbox-text-tertiary);
}

.toolbar-sort-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
  transition: color 0.15s ease;
  flex-shrink: 0;
  padding: 0;
}
.toolbar-sort-btn svg, .toolbar-sort-btn .hero-arrow-long-up, .toolbar-sort-btn .hero-arrow-long-down {
  width: 18px;
  height: 18px;
}
.toolbar-sort-btn:hover {
  color: var(--co-inbox-text);
}

.message-subject-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.thread-sort-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  color: var(--co-inbox-text-secondary);
  border-radius: 0.125rem;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.thread-sort-btn:hover {
  background-color: var(--co-inbox-bg-hover);
  color: var(--co-inbox-text);
}

.message-subject {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--co-inbox-text);
  margin: 0;
  flex: 1;
}

.message-meta-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

.status-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.message-count {
  font-size: 0.75rem;
  color: var(--co-inbox-text-tertiary);
}

.compact-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  background-color: var(--co-inbox-bg-white);
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.compact-view-btn:hover {
  background-color: var(--co-inbox-bg-hover);
  border-color: var(--co-inbox-primary);
}
.compact-view-btn.active {
  background-color: var(--co-inbox-primary);
  border-color: var(--co-inbox-primary);
  color: white;
}

.messages-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.workflow-assign-select,
.workflow-status-select {
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  font-size: 0.75rem;
  background-color: var(--co-inbox-bg-white);
  cursor: pointer;
  outline: none;
}
.workflow-assign-select:focus,
.workflow-status-select:focus {
  border-color: var(--co-inbox-primary);
}
.workflow-assign-select option,
.workflow-status-select option {
  background-color: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
}
.workflow-assign-select option:hover, .workflow-assign-select option:focus,
.workflow-status-select option:hover,
.workflow-status-select option:focus {
  background-color: var(--co-inbox-primary-light);
  color: var(--co-inbox-text);
}
.workflow-assign-select option:checked,
.workflow-status-select option:checked {
  background-color: var(--co-inbox-primary);
  color: white;
}

.workflow-assign-select.has-assignment {
  background-color: var(--co-inbox-bg-light);
}

.workflow-status-select.status-open {
  background-color: #f5f5f5;
  border-color: #9e9e9e;
  color: #616161;
}
.workflow-status-select.status-todo {
  background-color: #ffebee;
  border-color: #ef5350;
  color: #c62828;
}
.workflow-status-select.status-reviewing {
  background-color: #fffde7;
  border-color: #fbc02d;
  color: #f57f17;
}
.workflow-status-select.status-resolved {
  background-color: #e8f5e9;
  border-color: #4caf50;
  color: #2e7d32;
}
.workflow-status-select option[value=open] {
  background-color: #f5f5f5;
  color: #616161;
}
.workflow-status-select option[value=todo] {
  background-color: #ffebee;
  color: #c62828;
}
.workflow-status-select option[value=reviewing] {
  background-color: #fffde7;
  color: #f57f17;
}
.workflow-status-select option[value=resolved] {
  background-color: #e8f5e9;
  color: #2e7d32;
}

.inline-reply-container {
  margin-top: 1rem;
  position: relative;
}
.inline-reply-container.sending {
  pointer-events: none;
}

.reply-sending-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 0.5rem;
}

.reply-sending-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.reply-sending-text {
  font-size: 0.875rem;
  color: var(--co-inbox-text-secondary);
}

.inline-reply-box {
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  background-color: var(--co-inbox-bg-white);
  overflow-x: hidden;
}

.reply-recipients {
  border-bottom: 1px solid var(--co-inbox-border);
  padding: 0.5rem 0.75rem;
}

.recipient-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

.recipient-label {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  min-width: 30px;
}

.recipient-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 0.875rem;
  color: var(--co-inbox-text);
  outline: none;
  padding: 0.25rem;
}

.recipient-toggles {
  display: flex;
  gap: 0.25rem;
}

.cc-toggle,
.bcc-toggle {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 0.125rem;
}
.cc-toggle:hover,
.bcc-toggle:hover {
  background-color: var(--co-inbox-bg-hover);
  color: var(--co-inbox-text);
}

.inline-reply-input {
  width: 100%;
  max-width: 100%;
  min-height: 100px;
  max-height: 400px;
  padding: 0.75rem;
  border: none;
  resize: vertical;
  font-size: 0.875rem;
  font-family: inherit;
  line-height: 1.5;
  outline: none;
  box-sizing: border-box;
}
.inline-reply-input::placeholder {
  color: var(--co-inbox-text-tertiary);
}

.inline-reply-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  border-top: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-light);
}

.send-btn {
  padding: 0.5rem 1rem;
  background-color: var(--co-inbox-primary);
  color: white;
  border: none;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.send-btn:hover:not(:disabled) {
  background-color: var(--co-inbox-primary-hover);
}
.send-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.reply-tools {
  display: flex;
  gap: 0.25rem;
}

.reply-tool-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  color: var(--co-inbox-text-secondary);
  border-radius: 0.125rem;
  cursor: pointer;
}
.reply-tool-btn:hover:not(:disabled) {
  background-color: var(--co-inbox-bg-hover);
  color: var(--co-inbox-text);
}
.reply-tool-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
}

.empty-state-icon {
  width: 48px;
  height: 48px;
  color: var(--co-inbox-text-tertiary);
  margin-bottom: 0.75rem;
}

.message-item {
  padding: 1rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.message-item.message-item-latest {
  border-color: var(--co-inbox-border);
  border-width: 2px;
}

.message-sender-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.message-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.875rem;
  color: white;
  flex-shrink: 0;
}

.message-sender-info {
  flex: 1;
  min-width: 0;
}

.message-sender-line {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.sender-name {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--co-inbox-text);
}

.sender-you-badge {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
}

.message-recipient {
  font-size: 0.75rem;
  color: var(--co-inbox-text-tertiary);
}

.message-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.message-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  color: var(--co-inbox-text-secondary);
  border-radius: 0.125rem;
  cursor: pointer;
}
.message-action-btn:hover {
  background-color: var(--co-inbox-bg-hover);
  color: var(--co-inbox-text);
}

.reply-all-arrows-small {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reply-all-arrows-small .reply-arrow-back {
  position: absolute;
  opacity: 0.5;
  transform: translateX(-3px);
}
.reply-all-arrows-small .reply-arrow-front {
  transform: translateX(3px);
}

.message-timestamp {
  font-size: 0.75rem;
  color: var(--co-inbox-text-tertiary);
  text-align: right;
  margin-bottom: 0.75rem;
}

.message-body {
  padding-left: calc(40px + 0.75rem);
}

.message-text {
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--co-inbox-text);
  white-space: pre-wrap;
  margin: 0;
}

.message-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-left: calc(40px + 0.75rem);
}

.avatar-color-1 {
  background-color: #1976d2;
}

.avatar-color-2 {
  background-color: #388e3c;
}

.avatar-color-3 {
  background-color: #d32f2f;
}

.avatar-color-4 {
  background-color: #7b1fa2;
}

.avatar-color-5 {
  background-color: #c2185b;
}

.avatar-color-6 {
  background-color: #0097a7;
}

.avatar-color-7 {
  background-color: #f57c00;
}

.avatar-color-8 {
  background-color: #5d4037;
}

.avatar-outbound {
  background-color: var(--co-inbox-primary);
}

.avatar-unassigned {
  background-color: #9e9e9e;
}

.list-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.75rem;
  color: white;
  flex-shrink: 0;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.status-dot-new {
  background-color: #2196f3;
}

.status-dot-open {
  background-color: #9e9e9e;
}

.status-dot-todo {
  background-color: #ef5350;
}

.status-dot-reviewing {
  background-color: #ff9800;
}

.status-dot-resolved {
  background-color: #4caf50;
}

.status-dot-archived {
  background-color: #9e9e9e;
}

.type-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.6875rem;
  font-weight: 500;
}

.ai-sidebar-fullheight {
  width: 360px;
  min-width: 280px;
  max-width: 50vw;
  background: var(--co-inbox-bg-light);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-left: 1px solid var(--co-inbox-border);
  order: 1;
  position: relative;
}
.ai-sidebar-fullheight.ai-sidebar-collapsed {
  width: 48px !important;
  min-width: 48px !important;
}
.ai-sidebar-fullheight.ai-sidebar-collapsed .ai-sidebar-header {
  padding: 0.75rem;
  justify-content: center;
  flex-direction: column;
  gap: 0.75rem;
}
.ai-sidebar-fullheight.ai-sidebar-collapsed .ai-sidebar-content {
  display: none;
}

.ai-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-white);
  flex-shrink: 0;
}

.ai-sidebar-title {
  font-weight: 600;
  font-size: 1rem;
  color: var(--co-inbox-text);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ai-sidebar-content {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.ai-panel-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem 1.25rem;
  text-align: center;
  color: var(--co-inbox-text-secondary);
  font-size: 0.8125rem;
}
.ai-panel-empty-state .empty-icon {
  width: 48px;
  height: 48px;
  opacity: 0.5;
}

.ai-panel-sections {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.ai-panel-tab-header {
  display: flex;
  border-bottom: 1px solid var(--co-inbox-border);
  background-color: var(--co-inbox-bg-white);
}

.ai-panel-tab-btn {
  flex: 1;
  padding: 0.5rem 0.75rem;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--co-inbox-text-secondary);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.ai-panel-tab-btn:hover {
  color: var(--co-inbox-text);
  background-color: var(--co-inbox-bg-hover);
}
.ai-panel-tab-btn.active {
  color: var(--co-inbox-primary);
  border-bottom-color: var(--co-inbox-primary);
}

.ai-panel-tab-content {
  flex: 1;
  overflow-y: auto;
  padding: 0.75rem;
}

.ai-sidebar-resize-handle {
  position: absolute;
  left: -2px;
  top: 0;
  bottom: 0;
  width: 6px;
  cursor: col-resize;
  background: transparent;
  transition: background-color 0.15s ease;
  z-index: 10;
}
.ai-sidebar-resize-handle:hover, .ai-sidebar-resize-handle.dragging {
  background-color: var(--co-inbox-primary);
}

.ai-sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: transparent;
  border: none;
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
  border-radius: 0.125rem;
  margin-left: auto;
}
.ai-sidebar-toggle:hover {
  background-color: var(--co-inbox-bg-hover);
  color: var(--co-inbox-text);
}

.ai-panel-tab-section {
  background-color: var(--co-inbox-bg-white);
}

.ai-panel-section-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  padding-top: 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--co-inbox-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-top: 1px solid var(--co-inbox-border);
  margin-top: 0.5rem;
}

.ai-panel-tab-section:first-of-type .ai-panel-section-header {
  border-top: none;
  margin-top: 0;
}

.ai-panel-tab-content {
  padding: 0.75rem;
  padding-bottom: 2rem;
}

.ai-panel-empty {
  font-size: 0.8125rem;
  color: var(--co-inbox-text-tertiary);
  font-style: italic;
}

.scoring-row {
  display: flex;
  gap: 1rem;
}

.scoring-item {
  flex: 1;
}

.scoring-label {
  display: block;
  font-size: 0.6875rem;
  color: var(--co-inbox-text-secondary);
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.scoring-input-group {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.scoring-select {
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  font-size: 0.875rem;
  background-color: var(--co-inbox-bg-white);
  cursor: pointer;
  outline: none;
}
.scoring-select:focus {
  border-color: var(--co-inbox-primary);
}
.scoring-select option {
  background-color: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
}
.scoring-select option:hover, .scoring-select option:focus {
  background-color: var(--co-inbox-primary-light);
  color: var(--co-inbox-text);
}
.scoring-select option:checked {
  background-color: var(--co-inbox-primary);
  color: white;
}

.model-selector-dropdown {
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--co-inbox-border) !important;
  border-radius: 0.125rem;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  color: var(--co-inbox-text-secondary) !important;
  background-color: var(--co-inbox-bg-white);
  cursor: pointer;
  outline: none;
  width: 100%;
}
.model-selector-dropdown:focus {
  border-color: var(--co-inbox-primary) !important;
}
.model-selector-dropdown option {
  background-color: var(--co-inbox-bg-white);
  color: var(--co-inbox-text);
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 400;
}
.model-selector-dropdown option:hover, .model-selector-dropdown option:focus {
  background-color: var(--co-inbox-primary-light);
  color: var(--co-inbox-text);
}
.model-selector-dropdown option:checked {
  background-color: var(--co-inbox-primary);
  color: white;
}

.scoring-display {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.scoring-value {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--co-inbox-text);
}

.scoring-max {
  font-size: 0.75rem;
  color: var(--co-inbox-text-tertiary);
}

.scoring-simple .scoring-label {
  margin-bottom: 0.5rem;
}

.scoring-simple-buttons {
  display: flex;
  gap: 0.5rem;
}

.scoring-simple-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.5rem;
  border-radius: 0.125rem;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.scoring-simple-btn.scoring-simple-incorrect {
  background-color: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
}
.scoring-simple-btn.scoring-simple-incorrect:hover, .scoring-simple-btn.scoring-simple-incorrect.active {
  border-color: #ef4444;
  background-color: #fee2e2;
}
.scoring-simple-btn.scoring-simple-almost {
  background-color: #fffbeb;
  border: 1px solid #fde68a;
  color: #d97706;
}
.scoring-simple-btn.scoring-simple-almost:hover, .scoring-simple-btn.scoring-simple-almost.active {
  border-color: #f59e0b;
  background-color: #fef3c7;
}
.scoring-simple-btn.scoring-simple-correct {
  background-color: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #16a34a;
}
.scoring-simple-btn.scoring-simple-correct:hover, .scoring-simple-btn.scoring-simple-correct.active {
  border-color: #22c55e;
  background-color: #dcfce7;
}

.feedback-chat {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.feedback-messages {
  max-height: 200px;
  overflow-y: auto;
}

.feedback-empty {
  font-size: 0.8125rem;
  color: var(--co-inbox-text-tertiary);
  text-align: center;
  padding: 0.5rem;
}

.feedback-message {
  padding: 0.5rem;
  border-radius: 0.25rem;
  margin-bottom: 0.5rem;
}
.feedback-message.feedback-message-user {
  background-color: var(--co-inbox-primary);
  color: white;
  margin-left: 1rem;
}
.feedback-message.feedback-message-assistant {
  background-color: var(--co-inbox-bg-light);
  color: var(--co-inbox-text);
  margin-right: 1rem;
}

.feedback-message-content {
  font-size: 0.8125rem;
  line-height: 1.4;
}

.feedback-input-form {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
}

.feedback-input {
  flex: 1;
  padding: 0.5rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  font-family: inherit;
  resize: none;
  outline: none;
}
.feedback-input:focus {
  border-color: var(--co-inbox-primary);
}

.feedback-send-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: var(--co-inbox-primary);
  color: white;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
}
.feedback-send-btn:hover:not(:disabled) {
  background-color: var(--co-inbox-primary-hover);
}
.feedback-send-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.classification-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.category-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.category-actions.category-actions-left {
  justify-content: flex-start;
}

.draft-sources-list {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

.draft-source-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  margin: 0 -0.5rem;
  font-size: 0.8125rem;
  cursor: pointer;
  border-radius: 0.25rem;
  position: relative;
  transition: background-color 0.15s ease;
}
.draft-source-item:hover {
  background-color: var(--co-inbox-bg-hover);
}

.draft-source-icon {
  width: 16px;
  height: 16px;
  color: var(--co-inbox-text-tertiary);
  flex-shrink: 0;
}

.draft-source-name {
  flex: 1;
  color: var(--co-inbox-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.draft-source-score {
  font-size: 0.6875rem;
  color: var(--co-inbox-text-secondary);
}

.draft-content-box {
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.6;
  height: 300px;
  min-height: 100px;
  max-height: none;
  overflow-y: auto;
  resize: vertical;
  cursor: default;
}
.draft-content-box pre {
  font-family: inherit;
  white-space: pre-wrap;
  margin: 0;
}
.draft-content-box.draft-loading {
  opacity: 0.6;
}
.draft-content-box::-webkit-resizer {
  background-color: var(--co-inbox-border);
  border-radius: 2px;
}

.draft-content-box-wrapper {
  position: relative;
}

.draft-loading-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.5rem;
}

.draft-preview-toggle {
  margin-bottom: 0.5rem;
}

.draft-preview-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  padding: 0.5rem;
  background-color: var(--co-inbox-bg-hover);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  font-size: 0.8125rem;
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.draft-preview-btn:hover {
  background-color: var(--co-inbox-bg-selected);
  color: var(--co-inbox-text);
}
.draft-preview-btn .draft-preview-chevron {
  margin-left: auto;
  transition: transform 0.2s ease;
}
.draft-preview-btn.expanded .draft-preview-chevron {
  transform: rotate(180deg);
}

.draft-preview-expand {
  overflow: hidden;
  transition: max-height 0.2s ease, opacity 0.2s ease;
}
.draft-preview-expand.hidden {
  display: none;
}

.draft-preview-box {
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.5rem;
  max-height: 250px;
  overflow-y: auto;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.draft-preview-box pre {
  font-family: inherit;
  white-space: pre-wrap;
  word-wrap: break-word;
  margin: 0;
  color: var(--co-inbox-text);
}

.previous-drafts-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.previous-draft-item-wrapper {
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  overflow: hidden;
}

.previous-draft-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem;
  background-color: var(--co-inbox-bg-white);
  border: none;
  cursor: pointer;
  font-size: 0.8125rem;
  transition: background-color 0.15s ease;
}
.previous-draft-item:hover {
  background-color: var(--co-inbox-bg-hover);
}
.previous-draft-item .previous-draft-chevron {
  margin-left: auto;
  color: var(--co-inbox-text-tertiary);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.previous-draft-item.expanded .previous-draft-chevron {
  transform: rotate(180deg);
}

.previous-draft-status {
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 4px;
  flex-shrink: 0;
}

.previous-draft-time {
  color: var(--co-inbox-text-tertiary);
  font-size: 0.75rem;
}

.previous-draft-content.hidden {
  display: none;
}

.previous-draft-box {
  background-color: var(--co-inbox-bg-light);
  border-top: 1px solid var(--co-inbox-border);
  padding: 0.5rem 0.75rem;
  max-height: 200px;
  overflow-y: auto;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.previous-draft-box pre {
  font-family: inherit;
  white-space: pre-wrap;
  word-wrap: break-word;
  margin: 0;
  color: var(--co-inbox-text);
}

.previous-draft-use-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  padding: 0.25rem 0.75rem;
  background-color: var(--co-inbox-bg-hover);
  border: none;
  border-top: 1px solid var(--co-inbox-border);
  font-size: 0.75rem;
  color: var(--co-inbox-primary);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.previous-draft-use-btn:hover {
  background-color: var(--co-inbox-bg-selected);
}

.draft-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.regenerate-dropdown {
  position: relative;
  display: flex;
}

.regenerate-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  background-color: #F59E0B;
  border: none;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  color: white;
  cursor: pointer;
  border-radius: 0 0.25rem 0.25rem 0;
}
.regenerate-dropdown-toggle:hover {
  background-color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}

.regenerate-dropdown-menu {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 100;
  min-width: 180px;
  margin-bottom: 0.25rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.regenerate-dropdown-menu.hidden {
  display: none;
}

.regenerate-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: transparent;
  border: none;
  text-align: left;
  font-size: 0.8125rem;
  color: var(--co-inbox-text);
  cursor: pointer;
}
.regenerate-option:hover {
  background-color: var(--co-inbox-bg-hover);
}

.regenerate-custom {
  padding: 0.5rem;
  border-top: 1px solid var(--co-inbox-border);
}

.regenerate-custom-input {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.125rem;
  font-size: 0.75rem;
  font-family: inherit;
  resize: none;
  outline: none;
}
.regenerate-custom-input:focus {
  border-color: var(--co-inbox-primary);
}

.folder-nav {
  width: 200px;
  min-width: 200px;
  background-color: var(--co-inbox-bg-light);
  border-right: 1px solid var(--co-inbox-border);
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  flex-shrink: 0;
  transition: width 0.2s ease, min-width 0.2s ease;
  padding-bottom: 180px;
}
.folder-nav.collapsed {
  width: 48px;
  min-width: 48px;
}

.folder-nav-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--co-inbox-border);
}
.folder-nav-header .folder-nav-toggle {
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
}

.folder-nav-title {
  font-weight: 600;
  font-size: 1rem;
  color: var(--co-inbox-text);
  flex: 1;
}

.folder-list {
  overflow-y: auto;
  padding: 0.5rem 0;
}

.folder-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  color: var(--co-inbox-text);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.folder-item:hover {
  background-color: var(--co-inbox-bg-hover);
}
.folder-item.active {
  background-color: var(--co-inbox-bg-selected);
  color: var(--co-inbox-primary);
}
.folder-item.unread {
  font-weight: 600;
}

.folder-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.folder-name {
  flex: 1;
  font-size: 0.875rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.folder-count {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  background-color: var(--co-inbox-bg-gray);
  padding: 2px 6px;
  border-radius: 10px;
  min-width: 20px;
  text-align: center;
}

.folder-nav-section {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  min-height: 0;
}

.section-header-icon {
  width: 16px;
  height: 16px;
  color: var(--co-inbox-text-secondary);
}

.folder-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: transparent;
  border: none;
  color: var(--co-inbox-text-secondary);
  cursor: pointer;
  border-radius: 0.125rem;
}
.folder-toggle:hover {
  background-color: var(--co-inbox-bg-hover);
}

.folder-toggle-icon {
  width: 14px;
  height: 14px;
}

.folder-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: transparent;
  border: none;
  color: var(--co-inbox-text);
  cursor: pointer;
  border-radius: 0.125rem;
  flex-shrink: 0;
}
.folder-nav-toggle:hover {
  color: var(--co-inbox-primary);
}
.folder-nav-toggle .section-header-icon {
  width: 20px;
  height: 20px;
}

.folder-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.email-list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  border-bottom: 1px solid var(--co-inbox-border);
  cursor: pointer;
  transition: background-color 0.15s ease;
  position: relative;
}
.email-list-item:hover {
  background-color: var(--co-inbox-bg-hover);
}
.email-list-item.unread {
  background-color: var(--co-inbox-bg-light);
}
.email-list-item.unread::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: var(--co-inbox-primary);
}
.email-list-item.unread .email-item-subject {
  font-weight: 600;
}
.email-list-item.selected {
  background-color: var(--co-inbox-bg-selected) !important;
  border-left: 3px solid var(--co-inbox-primary);
}
.email-list-item.selected::before {
  display: none;
}

.email-item-layout {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
}

.email-item-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  padding-top: 2px;
}

.email-item-avatar {
  flex-shrink: 0;
}

.star-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  border: none;
  background: transparent;
  color: var(--co-inbox-text-tertiary);
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.15s ease;
}
.star-btn:hover {
  color: #f59e0b;
  background-color: rgba(245, 158, 11, 0.1);
}
.star-btn.starred {
  color: #f59e0b;
}

.email-item-direction-icon {
  width: 14px;
  height: 14px;
  color: var(--co-inbox-text-tertiary);
}

.email-item-attachment-icon {
  width: 14px;
  height: 14px;
  color: var(--co-inbox-text-tertiary);
}

.email-item-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.email-item-header,
.email-item-sender-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.email-item-sender {
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--co-inbox-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.email-item-sender.unread {
  font-weight: 600;
}

.email-item-time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 0.75rem;
  color: var(--co-inbox-text-tertiary);
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.3;
}

.email-item-clock {
  font-size: 0.625rem;
  opacity: 0.8;
}

.email-item-subject {
  font-size: 0.875rem;
  color: var(--co-inbox-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.email-item-preview {
  font-size: 0.8125rem;
  color: var(--co-inbox-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.4;
}

.email-item-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.email-item-tag-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--co-inbox-text-secondary);
  cursor: default;
  position: relative;
}
.email-item-tag-icon:hover {
  color: var(--co-inbox-primary);
}
.email-item-tag-icon:hover .tag-tooltip {
  display: flex;
}

.tag-tooltip {
  display: none;
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 8px;
  background-color: #e8e8e8;
  border: 1px solid #bbb;
  border-radius: 6px;
  padding: 6px 8px;
  flex-wrap: wrap;
  gap: 4px;
  z-index: 50;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.email-item-top-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.email-item-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.25rem;
}

.indicator-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-top: 0.25rem;
}

.indicator-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin-top: 4px;
  width: 32px;
}
.indicator-grid .status-dot {
  width: 100%;
  height: 6px;
  border-radius: 3px;
}
.indicator-grid .email-item-count {
  font-size: 0.5625rem;
  font-weight: 500;
  padding: 0;
  background-color: transparent;
  color: var(--co-inbox-text-secondary);
  white-space: nowrap;
}

.email-item-count {
  font-size: 0.625rem;
  font-weight: 500;
  color: var(--co-inbox-text-tertiary);
  background-color: var(--co-inbox-bg-hover);
  padding: 1px 5px;
  border-radius: 8px;
  min-width: 16px;
  text-align: center;
}

.assignee-badge {
  font-size: 0.5625rem;
  font-weight: 600;
  color: white;
  background-color: var(--co-inbox-primary);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}
.assignee-badge.placeholder {
  background-color: var(--co-inbox-text-tertiary);
  opacity: 0.5;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.status-dot.status-red {
  background-color: #dc2626;
}
.status-dot.status-yellow {
  background-color: #f59e0b;
}
.status-dot.status-green {
  background-color: #10b981;
}
.status-dot.status-gray {
  background-color: #9ca3af;
}

.load-more-container {
  padding: 0.75rem;
  display: flex;
  justify-content: center;
  border-top: 1px solid var(--co-inbox-border);
}

.load-more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--co-inbox-primary);
  background-color: transparent;
  border: 1px solid var(--co-inbox-primary);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  width: 100%;
}
.load-more-btn:hover:not(:disabled) {
  background-color: var(--co-inbox-primary);
  color: white;
}
.load-more-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.pagination-container {
  padding: 0.5rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-top: 1px solid var(--co-inbox-border);
  background-color: #e8e8e8;
  position: sticky;
  bottom: 0;
  z-index: 10;
  flex-wrap: nowrap;
}

.pagination-info {
  font-size: 0.7rem;
  color: var(--co-inbox-text-muted);
  text-align: center;
  white-space: nowrap;
}

.pagination-count {
  font-weight: 500;
}

.pagination-controls {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: nowrap;
  justify-content: center;
}

.pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 4px;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--co-inbox-text);
  background-color: transparent;
  border: 1px solid #999;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.pagination-btn:hover:not(:disabled) {
  background-color: var(--co-inbox-hover);
  border-color: var(--co-inbox-primary);
}
.pagination-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pagination-btn.active {
  background-color: var(--co-inbox-primary);
  border-color: var(--co-inbox-primary);
  color: white;
}

.pagination-page {
  min-width: 22px;
}

.pagination-ellipsis {
  padding: 0 2px;
  color: var(--co-inbox-text-muted);
  font-size: 0.7rem;
}

.pagination-jump {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  padding-left: 6px;
  border-left: 1px solid #999;
}

.pagination-jump-label {
  font-size: 0.65rem;
  color: var(--co-inbox-text-muted);
  white-space: nowrap;
}

.pagination-jump-form {
  display: flex;
}

.pagination-jump-input {
  width: 36px;
  height: 22px;
  padding: 0 2px;
  font-size: 0.7rem;
  text-align: center;
  color: var(--co-inbox-text);
  background-color: var(--co-inbox-bg);
  border: 1px solid #999;
  border-radius: 3px;
  outline: none;
  -moz-appearance: textfield;
}
.pagination-jump-input:focus {
  border-color: var(--co-inbox-primary);
  box-shadow: 0 0 0 2px rgba(0, 120, 215, 0.1);
}
.pagination-jump-input::-webkit-outer-spin-button, .pagination-jump-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.message-item {
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  overflow: hidden;
}
.message-item.collapsed .message-body {
  display: none;
}
.message-item.latest {
  border-color: var(--co-inbox-primary);
  border-width: 2px;
}

.message-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background-color: var(--co-inbox-bg-light);
  cursor: pointer;
}
.message-header:hover {
  background-color: var(--co-inbox-bg-hover);
}

.message-sender-info {
  flex: 1;
  min-width: 0;
}

.message-sender-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.message-sender-name {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--co-inbox-text);
}

.message-sender-email {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
}

.message-time {
  font-size: 0.75rem;
  color: var(--co-inbox-text-tertiary);
  white-space: nowrap;
}

.message-recipients {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  margin-top: 0.25rem;
}

.message-body {
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--co-inbox-text);
}
.message-body p {
  margin: 0 0 1em 0;
}
.message-body a {
  color: var(--co-inbox-primary);
}
.message-body blockquote {
  margin: 1em 0;
  padding-left: 0.75rem;
  border-left: 3px solid var(--co-inbox-border);
  color: var(--co-inbox-text-secondary);
}

.message-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0 1rem 1rem;
}

.ai-draft-panel {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.draft-content-box-wrapper {
  position: relative;
}

.draft-content-box {
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--co-inbox-text);
  height: 300px;
  min-height: 100px;
  max-height: none;
  overflow-y: auto;
  resize: vertical;
}
.draft-content-box pre {
  font-family: inherit;
  white-space: pre-wrap;
  margin: 0;
}
.draft-content-box.loading {
  opacity: 0.6;
}

.draft-loading-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.5rem;
}

.draft-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.category-picker {
  margin: 0.5rem 0;
}

.category-picker-form {
  display: flex;
}

.category-picker-select {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  background-color: var(--co-inbox-bg-white);
  font-size: 0.8125rem;
  color: var(--co-inbox-text);
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.category-picker-select:hover {
  border-color: var(--co-inbox-border-dark);
}
.category-picker-select:focus {
  outline: none;
  border-color: var(--co-inbox-primary);
}
.category-picker-select option {
  padding: 0.5rem;
}

.ai-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.25rem;
  color: var(--co-inbox-text);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.ai-action-btn:hover {
  background-color: var(--co-inbox-bg-hover);
  border-color: var(--co-inbox-border-dark);
}
.ai-action-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.ai-action-btn-primary {
  background-color: var(--co-inbox-primary);
  border-color: var(--co-inbox-primary);
  color: white;
}
.ai-action-btn-primary:hover {
  background-color: var(--co-inbox-primary-hover);
  border-color: var(--co-inbox-primary-hover);
}
.ai-action-btn-success {
  background-color: #107C10;
  border-color: #107C10;
  color: white;
}
.ai-action-btn-success:hover {
  background-color: rgb(10.1714285714, 78.8285714286, 10.1714285714);
}
.ai-action-btn-warning {
  background-color: #F59E0B;
  border-color: #F59E0B;
  color: white;
}
.ai-action-btn-warning:hover {
  background-color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.ai-action-btn-compact {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

.regenerate-dropdown {
  position: relative;
}
.regenerate-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.25rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  min-width: 160px;
  z-index: 100;
  overflow: hidden;
}
.regenerate-dropdown .dropdown-item {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: transparent;
  border: none;
  text-align: left;
  font-size: 0.8125rem;
  color: var(--co-inbox-text);
  cursor: pointer;
}
.regenerate-dropdown .dropdown-item:hover {
  background-color: var(--co-inbox-bg-hover);
}

.draft-sources {
  padding-top: 0.75rem;
  border-top: 1px solid var(--co-inbox-border);
}

.draft-sources-title {
  font-weight: 600;
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.draft-sources-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--co-inbox-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--co-inbox-border);
  margin-bottom: 0.25rem;
}

.draft-sources-header-source {
  flex: 1;
  padding-left: 1rem;
}

.draft-sources-header-relevance {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding-right: 1rem;
}

.relevance-tooltip-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.relevance-info-icon {
  width: 14px;
  height: 14px;
  color: var(--co-inbox-text-tertiary);
  cursor: help;
  transition: color 0.15s;
}
.relevance-info-icon:hover {
  color: var(--co-inbox-primary);
}

.relevance-tooltip {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 0.25rem;
  width: 220px;
  padding: 0.5rem;
  background: var(--co-inbox-text);
  color: white;
  font-size: 0.6875rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.5;
  border-radius: 0.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s, visibility 0.15s;
}
.relevance-tooltip::before {
  content: "";
  position: absolute;
  top: -4px;
  right: 8px;
  width: 8px;
  height: 8px;
  background: var(--co-inbox-text);
  transform: rotate(45deg);
}

.relevance-tooltip-wrapper:hover .relevance-tooltip {
  opacity: 1;
  visibility: visible;
}

.sources-info-tooltip-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.25rem;
}

.sources-info-icon {
  width: 14px;
  height: 14px;
  color: var(--co-inbox-text-tertiary);
  cursor: help;
  transition: color 0.15s;
}
.sources-info-icon:hover {
  color: var(--co-inbox-primary);
}

.sources-info-tooltip {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  margin-top: 0.25rem;
  width: 240px;
  padding: 0.5rem;
  background: var(--co-inbox-text);
  color: white;
  font-size: 0.6875rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.5;
  border-radius: 0.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s, visibility 0.15s;
}
.sources-info-tooltip::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: var(--co-inbox-text);
}

.sources-info-tooltip-wrapper:hover .sources-info-tooltip {
  opacity: 1;
  visibility: visible;
}

.draft-source-item-wrapper {
  margin-bottom: 0.25rem;
  border-radius: 0.25rem;
  overflow: hidden;
}
.draft-source-item-wrapper:last-child {
  margin-bottom: 0;
}

.draft-source-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  font-size: 0.8125rem;
  color: var(--co-inbox-text);
  width: 100%;
  background: var(--co-inbox-bg-hover);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.draft-source-item:hover {
  background-color: var(--co-inbox-border);
}
.draft-source-item.expanded {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.draft-source-item.expanded .draft-source-chevron {
  transform: rotate(180deg);
}
.draft-source-item .source-icon {
  width: 16px;
  height: 16px;
  color: var(--co-inbox-text-tertiary);
}

.draft-source-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--co-inbox-text-tertiary);
}

.draft-source-name {
  flex: 1;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.draft-source-score {
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
  background: var(--co-inbox-bg-white);
  padding: 2px 6px;
  border-radius: 0.25rem;
  flex-shrink: 0;
}

.draft-source-chevron {
  flex-shrink: 0;
  color: var(--co-inbox-text-tertiary);
  transition: transform 0.2s ease;
}

.draft-source-details {
  overflow: hidden;
  transition: max-height 0.2s ease, opacity 0.2s ease;
}
.draft-source-details.hidden {
  display: none;
}

.draft-source-details-content {
  padding: 0.5rem 0.75rem;
  background: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-top: none;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  font-size: 0.75rem;
}

.draft-source-detail-row {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.draft-source-detail-row:last-child {
  margin-bottom: 0;
}

.draft-source-detail-label {
  font-weight: 600;
  color: var(--co-inbox-text-secondary);
  flex-shrink: 0;
  min-width: 70px;
}

.draft-source-detail-value {
  color: var(--co-inbox-text);
  word-break: break-word;
}

.draft-source-id {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.6875rem;
  background: var(--co-inbox-bg-hover);
  padding: 1px 4px;
  border-radius: 2px;
}

.draft-source-excerpt {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--co-inbox-border);
}

.draft-source-excerpt-text {
  margin: 0.25rem 0 0 0;
  color: var(--co-inbox-text-secondary);
  line-height: 1.5;
  white-space: pre-wrap;
}

.draft-source-link-row {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--co-inbox-border);
}

.draft-source-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--co-inbox-primary);
  background: var(--co-inbox-bg-secondary);
  border: 1px solid var(--co-inbox-border);
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}
.draft-source-link-btn:hover {
  background: var(--co-inbox-primary);
  color: white;
  border-color: var(--co-inbox-primary);
}

.ai-panel-section-title {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.sources-expand-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 0.6875rem;
  color: var(--co-inbox-primary);
  background: transparent;
  border: 1px solid var(--co-inbox-primary);
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-left: auto;
}
.sources-expand-all-btn:hover {
  background: var(--co-inbox-primary);
  color: white;
}
.sources-expand-all-btn.expanded {
  background: var(--co-inbox-primary);
  color: white;
}
.sources-expand-all-btn.expanded .expand-all-text {
  display: none;
}
.sources-expand-all-btn.expanded .collapse-all-text {
  display: inline;
}
.sources-expand-all-btn .expand-all-text.hidden,
.sources-expand-all-btn .collapse-all-text.hidden {
  display: none;
}

.app-rail {
  width: 48px;
  min-width: 48px;
  background-color: var(--co-inbox-rail-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 0;
  flex-shrink: 0;
}

.app-rail-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.app-rail-bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.app-rail-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.15s ease;
}
.app-rail-btn svg,
.app-rail-btn [class^=hero-],
.app-rail-btn [class*=" hero-"] {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}
.app-rail-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
}
.app-rail-btn.active {
  background-color: var(--co-inbox-primary);
  color: #FFFFFF;
}
.app-rail-btn.active:hover {
  background-color: var(--co-inbox-primary-hover);
}

.type-badge, .type-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 2px 8px;
  border-radius: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
  background-color: var(--co-inbox-bg-gray);
  color: var(--co-inbox-text-secondary);
  border: 1px solid var(--co-inbox-border);
}
.type-badge.high-confidence, .high-confidence.type-tag {
  border-style: solid;
}
.type-badge.medium-confidence, .medium-confidence.type-tag {
  border-style: dashed;
}
.type-badge.low-confidence, .low-confidence.type-tag {
  border-style: dotted;
  opacity: 0.8;
}
.type-badge--inquiry {
  background-color: rgba(0, 120, 212, 0.1);
  color: #0078D4;
  border-color: rgba(0, 120, 212, 0.3);
}
.type-badge--support {
  background-color: rgba(245, 158, 11, 0.1);
  color: #F59E0B;
  border-color: rgba(245, 158, 11, 0.3);
}
.type-badge--complaint {
  background-color: rgba(209, 52, 56, 0.1);
  color: #D13438;
  border-color: rgba(209, 52, 56, 0.3);
}
.type-badge--feedback {
  background-color: rgba(16, 124, 16, 0.1);
  color: #107C10;
  border-color: rgba(16, 124, 16, 0.3);
}
.type-badge--sales {
  background-color: rgba(135, 100, 184, 0.1);
  color: #8764B8;
  border-color: rgba(135, 100, 184, 0.3);
}

.type-tag-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.25rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.type-tag-remove:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.1);
}
.type-tag-remove svg {
  width: 12px;
  height: 12px;
}

.status-indicator {
  display: inline-block;
  border-radius: 9999px;
  flex-shrink: 0;
}
.status-indicator--sm {
  width: 8px;
  height: 8px;
}
.status-indicator--md {
  width: 12px;
  height: 12px;
}
.status-indicator--lg {
  width: 16px;
  height: 16px;
}
.status-indicator--new, .status-indicator--unread {
  background-color: #0078D4;
}
.status-indicator--pending, .status-indicator--in-progress {
  background-color: #F59E0B;
}
.status-indicator--resolved, .status-indicator--complete {
  background-color: #107C10;
}
.status-indicator--closed, .status-indicator--archived {
  background-color: #A19F9D;
}
.status-indicator--error, .status-indicator--failed {
  background-color: #D13438;
}
.status-indicator--pulse {
  animation: status-pulse 2s infinite;
}

@keyframes status-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 2px 8px;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
}
.status-badge--new {
  background-color: rgba(0, 120, 212, 0.1);
  color: #0078D4;
}
.status-badge--pending {
  background-color: rgba(245, 158, 11, 0.1);
  color: #F59E0B;
}
.status-badge--resolved {
  background-color: rgba(16, 124, 16, 0.1);
  color: #107C10;
}
.status-badge--closed {
  background-color: rgba(161, 159, 157, 0.1);
  color: #A19F9D;
}

.confidence-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 2px 6px;
  border-radius: 0.25rem;
  font-size: 0.625rem;
  font-weight: 600;
}
.confidence-badge .confidence-icon {
  width: 12px;
  height: 12px;
}
.confidence-badge--high {
  background-color: rgba(16, 124, 16, 0.1);
  color: #107C10;
}
.confidence-badge--medium {
  background-color: rgba(245, 158, 11, 0.1);
  color: #F59E0B;
}
.confidence-badge--low {
  background-color: rgba(209, 52, 56, 0.1);
  color: #D13438;
}

.confidence-bar {
  height: 4px;
  background-color: var(--co-inbox-bg-gray);
  border-radius: 9999px;
  overflow: hidden;
}
.confidence-bar .confidence-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}
.confidence-bar .confidence-fill--high {
  background-color: #107C10;
}
.confidence-bar .confidence-fill--medium {
  background-color: #F59E0B;
}
.confidence-bar .confidence-fill--low {
  background-color: #D13438;
}

.confidence-score {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: var(--co-inbox-text-secondary);
}
.confidence-score .score-value {
  font-weight: 600;
}
.confidence-score .score-value--high {
  color: #107C10;
}
.confidence-score .score-value--medium {
  color: #F59E0B;
}
.confidence-score .score-value--low {
  color: #D13438;
}

.avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-weight: 600;
  text-transform: uppercase;
  flex-shrink: 0;
  overflow: hidden;
}
.avatar--xs {
  width: 24px;
  height: 24px;
  font-size: 0.625rem;
}
.avatar--sm {
  width: 32px;
  height: 32px;
  font-size: 0.75rem;
}
.avatar--md {
  width: 40px;
  height: 40px;
  font-size: 0.875rem;
}
.avatar--lg {
  width: 48px;
  height: 48px;
  font-size: 1rem;
}
.avatar--xl {
  width: 64px;
  height: 64px;
  font-size: 1.25rem;
}
.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.avatar-color-1 {
  background-color: #1A73E8;
  color: white;
}

.avatar-color-2 {
  background-color: #EA4335;
  color: white;
}

.avatar-color-3 {
  background-color: #34A853;
  color: white;
}

.avatar-color-4 {
  background-color: #FBBC04;
  color: white;
}

.avatar-color-5 {
  background-color: #E91E63;
  color: white;
}

.avatar-color-6 {
  background-color: #9C27B0;
  color: white;
}

.avatar-color-7 {
  background-color: #00ACC1;
  color: white;
}

.avatar-color-8 {
  background-color: #FF5722;
  color: white;
}

.avatar-stack {
  display: flex;
  flex-direction: row-reverse;
}
.avatar-stack .avatar {
  border: 2px solid white;
  margin-left: -8px;
}
.avatar-stack .avatar:last-child {
  margin-left: 0;
}

.avatar-with-presence {
  position: relative;
}
.avatar-with-presence .presence-dot {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  border: 2px solid white;
}
.avatar-with-presence .presence-dot--online {
  background-color: #107C10;
}
.avatar-with-presence .presence-dot--away {
  background-color: #F59E0B;
}
.avatar-with-presence .presence-dot--busy {
  background-color: #D13438;
}
.avatar-with-presence .presence-dot--offline {
  background-color: #A19F9D;
}

.w-3 {
  width: 0.75rem;
}

.h-3 {
  height: 0.75rem;
}

.w-4 {
  width: 1rem;
}

.h-4 {
  height: 1rem;
}

.w-5 {
  width: 1.25rem;
}

.h-5 {
  height: 1.25rem;
}

.w-6 {
  width: 1.5rem;
}

.h-6 {
  height: 1.5rem;
}

.w-8 {
  width: 2rem;
}

.h-8 {
  height: 2rem;
}

.w-10 {
  width: 2.5rem;
}

.h-10 {
  height: 2.5rem;
}

.w-12 {
  width: 3rem;
}

.h-12 {
  height: 3rem;
}

[class^=hero-],
[class*=" hero-"] {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

.hero-co-inbox-logo {
  --hero-co-inbox-logo: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%3E%3Cpath%20opacity%3D%220.4%22%20d%3D%22M2%207a2%202%200%200%201%202-2h12a2%202%200%200%201%202%202v1.354l-7.106%204.263a1.5%201.5%200%200%201-1.788%200L2%208.354V7zm0%202.821v5.179a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V9.821l-6.447%203.868a3%203%200%200%201-3.106%200L2%209.82z%22%2F%3E%3Cpath%20d%3D%22M6%2011a2%202%200%200%201%202-2h12a2%202%200%200%201%202%202v1.354l-7.106%204.263a1.5%201.5%200%200%201-1.788%200L6%2012.354V11zm0%202.821v5.179a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-5.179l-6.447%203.868a3%203%200%200%201-3.106%200L6%2013.82z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-co-inbox-logo);
  mask: var(--hero-co-inbox-logo);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-squares-2x2 {
  --hero-squares-2x2: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3.75%206A2.25%202.25%200%200%201%206%203.75h2.25A2.25%202.25%200%200%201%2010.5%206v2.25a2.25%202.25%200%200%201-2.25%202.25H6a2.25%202.25%200%200%201-2.25-2.25V6ZM3.75%2015.75A2.25%202.25%200%200%201%206%2013.5h2.25a2.25%202.25%200%200%201%202.25%202.25V18a2.25%202.25%200%200%201-2.25%202.25H6A2.25%202.25%200%200%201%203.75%2018v-2.25ZM13.5%206a2.25%202.25%200%200%201%202.25-2.25H18A2.25%202.25%200%200%201%2020.25%206v2.25A2.25%202.25%200%200%201%2018%2010.5h-2.25a2.25%202.25%200%200%201-2.25-2.25V6ZM13.5%2015.75a2.25%202.25%200%200%201%202.25-2.25H18a2.25%202.25%200%200%201%202.25%202.25V18A2.25%202.25%200%200%201%2018%2020.25h-2.25A2.25%202.25%200%200%201%2013.5%2018v-2.25Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-squares-2x2);
  mask: var(--hero-squares-2x2);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-chat-bubble-left-right {
  --hero-chat-bubble-left-right: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M20.25%208.511c.884.284%201.5%201.128%201.5%202.097v4.286c0%201.136-.847%202.1-1.98%202.193-.34.027-.68.052-1.02.072v3.091l-3-3c-1.354%200-2.694-.055-4.02-.163a2.115%202.115%200%200%201-.825-.242m9.345-8.334a2.126%202.126%200%200%200-.476-.095%2048.64%2048.64%200%200%200-8.048%200c-1.131.094-1.976%201.057-1.976%202.192v4.286c0%20.837.46%201.58%201.155%201.951m9.345-8.334V6.637c0-1.621-1.152-3.026-2.76-3.235A48.455%2048.455%200%200%200%2011.25%203c-2.115%200-4.198.137-6.24.402-1.608.209-2.76%201.614-2.76%203.235v6.226c0%201.621%201.152%203.026%202.76%203.235.577.075%201.157.14%201.74.194V21l4.155-4.155%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-chat-bubble-left-right);
  mask: var(--hero-chat-bubble-left-right);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-inbox {
  --hero-inbox: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M2.25%2013.5h3.86a2.25%202.25%200%200%201%202.012%201.244l.256.512a2.25%202.25%200%200%200%202.013%201.244h3.218a2.25%202.25%200%200%200%202.013-1.244l.256-.512a2.25%202.25%200%200%201%202.013-1.244h3.859m-19.5.338V18a2.25%202.25%200%200%200%202.25%202.25h15A2.25%202.25%200%200%200%2021.75%2018v-4.162c0-.224-.034-.447-.1-.661L19.24%205.338a2.25%202.25%200%200%200-2.15-1.588H6.911a2.25%202.25%200%200%200-2.15%201.588L2.35%2013.177a2.25%202.25%200%200%200-.1.661Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-inbox);
  mask: var(--hero-inbox);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-star {
  --hero-star: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M11.48%203.499a.562.562%200%200%201%201.04%200l2.125%205.111a.563.563%200%200%200%20.475.345l5.518.442c.499.04.701.663.321.988l-4.204%203.602a.563.563%200%200%200-.182.557l1.285%205.385a.562.562%200%200%201-.84.61l-4.725-2.885a.562.562%200%200%200-.586%200L6.982%2020.54a.562.562%200%200%201-.84-.61l1.285-5.386a.562.562%200%200%200-.182-.557l-4.204-3.602a.562.562%200%200%201%20.321-.988l5.518-.442a.563.563%200%200%200%20.475-.345L11.48%203.5Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-star);
  mask: var(--hero-star);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-star-solid {
  --hero-star-solid: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M10.788%203.21c.448-1.077%201.976-1.077%202.424%200l2.082%205.006%205.404.434c1.164.093%201.636%201.545.749%202.305l-4.117%203.527%201.257%205.273c.271%201.136-.964%202.033-1.96%201.425L12%2018.354%207.373%2021.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434%202.082-5.005Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-star-solid);
  mask: var(--hero-star-solid);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-paper-airplane {
  --hero-paper-airplane: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%2012%203.269%203.125A59.769%2059.769%200%200%201%2021.485%2012%2059.768%2059.768%200%200%201%203.27%2020.875L5.999%2012Zm0%200h7.5%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-paper-airplane);
  mask: var(--hero-paper-airplane);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-document {
  --hero-document: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M19.5%2014.25v-2.625a3.375%203.375%200%200%200-3.375-3.375h-1.5A1.125%201.125%200%200%201%2013.5%207.125v-1.5a3.375%203.375%200%200%200-3.375-3.375H8.25m2.25%200H5.625c-.621%200-1.125.504-1.125%201.125v17.25c0%20.621.504%201.125%201.125%201.125h12.75c.621%200%201.125-.504%201.125-1.125V11.25a9%209%200%200%200-9-9Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-document);
  mask: var(--hero-document);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-document-text {
  --hero-document-text: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M19.5%2014.25v-2.625a3.375%203.375%200%200%200-3.375-3.375h-1.5A1.125%201.125%200%200%201%2013.5%207.125v-1.5a3.375%203.375%200%200%200-3.375-3.375H8.25m0%2012.75h7.5m-7.5%203H12M10.5%202.25H5.625c-.621%200-1.125.504-1.125%201.125v17.25c0%20.621.504%201.125%201.125%201.125h12.75c.621%200%201.125-.504%201.125-1.125V11.25a9%209%200%200%200-9-9Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-document-text);
  mask: var(--hero-document-text);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-document-duplicate {
  --hero-document-duplicate: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%2017.25v3.375c0%20.621-.504%201.125-1.125%201.125h-9.75a1.125%201.125%200%200%201-1.125-1.125V7.875c0-.621.504-1.125%201.125-1.125H6.75a9.06%209.06%200%200%201%201.5.124m7.5%2010.376h3.375c.621%200%201.125-.504%201.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06%209.06%200%200%200-1.5-.124H9.375c-.621%200-1.125.504-1.125%201.125v3.5m7.5%2010.375H9.375a1.125%201.125%200%200%201-1.125-1.125v-9.25m12%206.625v-1.875a3.375%203.375%200%200%200-3.375-3.375h-1.5a1.125%201.125%200%200%201-1.125-1.125v-1.5a3.375%203.375%200%200%200-3.375-3.375H9.75%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-document-duplicate);
  mask: var(--hero-document-duplicate);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-trash {
  --hero-trash: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m14.74%209-.346%209m-4.788%200L9.26%209m9.968-3.21c.342.052.682.107%201.022.166m-1.022-.165L18.16%2019.673a2.25%202.25%200%200%201-2.244%202.077H8.084a2.25%202.25%200%200%201-2.244-2.077L4.772%205.79m14.456%200a48.108%2048.108%200%200%200-3.478-.397m-12%20.562c.34-.059.68-.114%201.022-.165m0%200a48.11%2048.11%200%200%201%203.478-.397m7.5%200v-.916c0-1.18-.91-2.164-2.09-2.201a51.964%2051.964%200%200%200-3.32%200c-1.18.037-2.09%201.022-2.09%202.201v.916m7.5%200a48.667%2048.667%200%200%200-7.5%200%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-trash);
  mask: var(--hero-trash);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-archive-box {
  --hero-archive-box: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m20.25%207.5-.625%2010.632a2.25%202.25%200%200%201-2.247%202.118H6.622a2.25%202.25%200%200%201-2.247-2.118L3.75%207.5M10%2011.25h4M3.375%207.5h17.25c.621%200%201.125-.504%201.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621%200-1.125.504-1.125%201.125v1.5c0%20.621.504%201.125%201.125%201.125Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-archive-box);
  mask: var(--hero-archive-box);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-folder {
  --hero-folder: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M2.25%2012.75V12A2.25%202.25%200%200%201%204.5%209.75h15A2.25%202.25%200%200%201%2021.75%2012v.75m-8.69-6.44-2.12-2.12a1.5%201.5%200%200%200-1.061-.44H4.5A2.25%202.25%200%200%200%202.25%206v12a2.25%202.25%200%200%200%202.25%202.25h15A2.25%202.25%200%200%200%2021.75%2018V9a2.25%202.25%200%200%200-2.25-2.25h-5.379a1.5%201.5%200%200%201-1.06-.44Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-folder);
  mask: var(--hero-folder);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-folder-open {
  --hero-folder-open: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3.75%209.776c.112-.017.227-.026.344-.026h15.812c.117%200%20.232.009.344.026m-16.5%200a2.25%202.25%200%200%200-1.883%202.542l.857%206a2.25%202.25%200%200%200%202.227%201.932H19.05a2.25%202.25%200%200%200%202.227-1.932l.857-6a2.25%202.25%200%200%200-1.883-2.542m-16.5%200V6A2.25%202.25%200%200%201%206%203.75h3.879a1.5%201.5%200%200%201%201.06.44l2.122%202.12a1.5%201.5%200%200%200%201.06.44H18A2.25%202.25%200%200%201%2020.25%209v.776%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-folder-open);
  mask: var(--hero-folder-open);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-funnel {
  --hero-funnel: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%203c2.755%200%205.455.232%208.083.678.533.09.917.556.917%201.096v1.044a2.25%202.25%200%200%201-.659%201.591l-5.432%205.432a2.25%202.25%200%200%200-.659%201.591v2.927a2.25%202.25%200%200%201-1.244%202.013L9.75%2021v-6.568a2.25%202.25%200%200%200-.659-1.591L3.659%207.409A2.25%202.25%200%200%201%203%205.818V4.774c0-.54.384-1.006.917-1.096A48.32%2048.32%200%200%201%2012%203Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-funnel);
  mask: var(--hero-funnel);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-magnifying-glass {
  --hero-magnifying-glass: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m21%2021-5.197-5.197m0%200A7.5%207.5%200%201%200%205.196%205.196a7.5%207.5%200%200%200%2010.607%2010.607Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-magnifying-glass);
  mask: var(--hero-magnifying-glass);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-chevron-down {
  --hero-chevron-down: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m19.5%208.25-7.5%207.5-7.5-7.5%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-chevron-down);
  mask: var(--hero-chevron-down);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-chevron-up {
  --hero-chevron-up: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m4.5%2015.75%207.5-7.5%207.5%207.5%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-chevron-up);
  mask: var(--hero-chevron-up);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-chevron-left {
  --hero-chevron-left: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%2019.5%208.25%2012l7.5-7.5%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-chevron-left);
  mask: var(--hero-chevron-left);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-chevron-right {
  --hero-chevron-right: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m8.25%204.5%207.5%207.5-7.5%207.5%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-chevron-right);
  mask: var(--hero-chevron-right);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-user {
  --hero-user: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%206a3.75%203.75%200%201%201-7.5%200%203.75%203.75%200%200%201%207.5%200ZM4.501%2020.118a7.5%207.5%200%200%201%2014.998%200A17.933%2017.933%200%200%201%2012%2021.75c-2.676%200-5.216-.584-7.499-1.632Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-user);
  mask: var(--hero-user);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-adjustments-horizontal {
  --hero-adjustments-horizontal: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M10.5%206h9.75M10.5%206a1.5%201.5%200%201%201-3%200m3%200a1.5%201.5%200%201%200-3%200M3.75%206H7.5m3%2012h9.75m-9.75%200a1.5%201.5%200%200%201-3%200m3%200a1.5%201.5%200%200%200-3%200m-3.75%200H7.5m9-6h3.75m-3.75%200a1.5%201.5%200%200%201-3%200m3%200a1.5%201.5%200%200%200-3%200m-9.75%200h9.75%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-adjustments-horizontal);
  mask: var(--hero-adjustments-horizontal);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-cog-6-tooth {
  --hero-cog-6-tooth: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9.594%203.94c.09-.542.56-.94%201.11-.94h2.593c.55%200%201.02.398%201.11.94l.213%201.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257%201.075.124l1.217-.456a1.125%201.125%200%200%201%201.37.49l1.296%202.247a1.125%201.125%200%200%201-.26%201.431l-1.003.827c-.293.241-.438.613-.43.992a7.723%207.723%200%200%201%200%20.255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26%201.43l-1.298%202.247a1.125%201.125%200%200%201-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47%206.47%200%200%201-.22.128c-.331.183-.581.495-.644.869l-.213%201.281c-.09.543-.56.94-1.11.94h-2.594c-.55%200-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52%206.52%200%200%201-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125%201.125%200%200%201-1.369-.49l-1.297-2.247a1.125%201.125%200%200%201%20.26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932%206.932%200%200%201%200-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125%201.125%200%200%201-.26-1.43l1.297-2.247a1.125%201.125%200%200%201%201.37-.491l1.216.456c.356.133.751.072%201.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z%22%2F%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15%2012a3%203%200%201%201-6%200%203%203%200%200%201%206%200Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-cog-6-tooth);
  mask: var(--hero-cog-6-tooth);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-lock-closed {
  --hero-lock-closed: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M16.5%2010.5V6.75a4.5%204.5%200%201%200-9%200v3.75m-.75%2011.25h10.5a2.25%202.25%200%200%200%202.25-2.25v-6.75a2.25%202.25%200%200%200-2.25-2.25H6.75a2.25%202.25%200%200%200-2.25%202.25v6.75a2.25%202.25%200%200%200%202.25%202.25Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-lock-closed);
  mask: var(--hero-lock-closed);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-cpu-chip {
  --hero-cpu-chip: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M8.25%203v1.5M4.5%208.25H3m18%200h-1.5M4.5%2012H3m18%200h-1.5m-15%203.75H3m18%200h-1.5M8.25%2019.5V21M12%203v1.5m0%2015V21m3.75-18v1.5m0%2015V21m-9-1.5h10.5a2.25%202.25%200%200%200%202.25-2.25V6.75a2.25%202.25%200%200%200-2.25-2.25H6.75A2.25%202.25%200%200%200%204.5%206.75v10.5a2.25%202.25%200%200%200%202.25%202.25Zm.75-12h9v9h-9v-9Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-cpu-chip);
  mask: var(--hero-cpu-chip);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-tag {
  --hero-tag: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9.568%203H5.25A2.25%202.25%200%200%200%203%205.25v4.318c0%20.597.237%201.17.659%201.591l9.581%209.581c.699.699%201.78.872%202.607.33a18.095%2018.095%200%200%200%205.223-5.223c.542-.827.369-1.908-.33-2.607L11.16%203.66A2.25%202.25%200%200%200%209.568%203Z%22%2F%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%206h.008v.008H6V6Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-tag);
  mask: var(--hero-tag);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-clock {
  --hero-clock: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%206v6h4.5m4.5%200a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-clock);
  mask: var(--hero-clock);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-question-mark-circle {
  --hero-question-mark-circle: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9.879%207.519c1.171-1.025%203.071-1.025%204.242%200%201.172%201.025%201.172%202.687%200%203.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45%201.827v.75M21%2012a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Zm-9%205.25h.008v.008H12v-.008Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-question-mark-circle);
  mask: var(--hero-question-mark-circle);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-arrow-path {
  --hero-arrow-path: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M16.023%209.348h4.992v-.001M2.985%2019.644v-4.992m0%200h4.992m-4.993%200%203.181%203.183a8.25%208.25%200%200%200%2013.803-3.7M4.031%209.865a8.25%208.25%200%200%201%2013.803-3.7l3.181%203.182m0-4.991v4.99%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-arrow-path);
  mask: var(--hero-arrow-path);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-arrow-uturn-left {
  --hero-arrow-uturn-left: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%2015%203%209m0%200%206-6M3%209h12a6%206%200%200%201%200%2012h-3%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-arrow-uturn-left);
  mask: var(--hero-arrow-uturn-left);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-arrow-uturn-right {
  --hero-arrow-uturn-right: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15%2015l6-6m0%200l-6-6m6%206H9a6%206%200%200%200%200%2012h3%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-arrow-uturn-right);
  mask: var(--hero-arrow-uturn-right);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-paper-clip {
  --hero-paper-clip: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m18.375%2012.739-7.693%207.693a4.5%204.5%200%200%201-6.364-6.364l10.94-10.94A3%203%200%201%201%2019.5%207.372L8.552%2018.32m.009-.01-.01.01m5.699-9.941-7.81%207.81a1.5%201.5%200%200%200%202.112%202.13%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-paper-clip);
  mask: var(--hero-paper-clip);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-link {
  --hero-link: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M13.19%208.688a4.5%204.5%200%200%201%201.242%207.244l-4.5%204.5a4.5%204.5%200%201%201-6.364-6.364l1.757-1.757m13.35-.622%201.757-1.757a4.5%204.5%200%200%200-6.364-6.364l-4.5%204.5a4.5%204.5%200%200%200%201.242%207.244%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-link);
  mask: var(--hero-link);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-check {
  --hero-check: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m4.5%2012.75%206%206%209-13.5%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-check);
  mask: var(--hero-check);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-sparkles {
  --hero-sparkles: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9.813%2015.904%209%2018.75l-.813-2.846a4.5%204.5%200%200%200-3.09-3.09L2.25%2012l2.846-.813a4.5%204.5%200%200%200%203.09-3.09L9%205.25l.813%202.846a4.5%204.5%200%200%200%203.09%203.09L15.75%2012l-2.846.813a4.5%204.5%200%200%200-3.09%203.09ZM18.259%208.715%2018%209.75l-.259-1.035a3.375%203.375%200%200%200-2.455-2.456L14.25%206l1.036-.259a3.375%203.375%200%200%200%202.455-2.456L18%202.25l.259%201.035a3.375%203.375%200%200%200%202.456%202.456L21.75%206l-1.035.259a3.375%203.375%200%200%200-2.456%202.456ZM16.894%2020.567%2016.5%2021.75l-.394-1.183a2.25%202.25%200%200%200-1.423-1.423L13.5%2018.75l1.183-.394a2.25%202.25%200%200%200%201.423-1.423l.394-1.183.394%201.183a2.25%202.25%200%200%200%201.423%201.423l1.183.394-1.183.394a2.25%202.25%200%200%200-1.423%201.423Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-sparkles);
  mask: var(--hero-sparkles);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-envelope-open {
  --hero-envelope-open: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M21.75%209v.906a2.25%202.25%200%200%201-1.183%201.981l-6.478%203.488M2.25%209v.906a2.25%202.25%200%200%200%201.183%201.981l6.478%203.488m8.839%202.51-4.66-2.51m0%200-1.023-.55a2.25%202.25%200%200%200-2.134%200l-1.022.55m0%200-4.661%202.51m16.5%201.615a2.25%202.25%200%200%201-2.25%202.25h-15a2.25%202.25%200%200%201-2.25-2.25V8.844a2.25%202.25%200%200%201%201.183-1.981l7.5-4.039a2.25%202.25%200%200%201%202.134%200l7.5%204.039a2.25%202.25%200%200%201%201.183%201.98V19.5Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-envelope-open);
  mask: var(--hero-envelope-open);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-photo {
  --hero-photo: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m2.25%2015.75%205.159-5.159a2.25%202.25%200%200%201%203.182%200l5.159%205.159m-1.5-1.5%201.409-1.409a2.25%202.25%200%200%201%203.182%200l2.909%202.909m-18%203.75h16.5a1.5%201.5%200%200%200%201.5-1.5V6a1.5%201.5%200%200%200-1.5-1.5H3.75A1.5%201.5%200%200%200%202.25%206v12a1.5%201.5%200%200%200%201.5%201.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375%200a.375.375%200%201%201-.75%200%20.375.375%200%200%201%20.75%200Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-photo);
  mask: var(--hero-photo);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-briefcase {
  --hero-briefcase: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M20.25%2014.15v4.25c0%201.094-.787%202.036-1.872%202.18-2.087.277-4.216.42-6.378.42s-4.291-.143-6.378-.42c-1.085-.144-1.872-1.086-1.872-2.18v-4.25m16.5%200a2.18%202.18%200%200%200%20.75-1.661V8.706c0-1.081-.768-2.015-1.837-2.175a48.114%2048.114%200%200%200-3.413-.387m4.5%208.006c-.194.165-.42.295-.673.38A23.978%2023.978%200%200%201%2012%2015.75c-2.648%200-5.195-.429-7.577-1.22a2.016%202.016%200%200%201-.673-.38m0%200A2.18%202.18%200%200%201%203%2012.489V8.706c0-1.081.768-2.015%201.837-2.175a48.111%2048.111%200%200%201%203.413-.387m7.5%200V5.25A2.25%202.25%200%200%200%2013.5%203h-3a2.25%202.25%200%200%200-2.25%202.25v.894m7.5%200a48.667%2048.667%200%200%200-7.5%200M12%2012.75h.008v.008H12v-.008Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-briefcase);
  mask: var(--hero-briefcase);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-face-smile {
  --hero-face-smile: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.182%2015.182a4.5%204.5%200%200%201-6.364%200M21%2012a9%209%200%201%201-18%200%209%209%200%200%201%2018%200ZM9.75%209.75c0%20.414-.168.75-.375.75S9%2010.164%209%209.75%209.168%209%209.375%209s.375.336.375.75Zm-.375%200h.008v.015h-.008V9.75Zm5.625%200c0%20.414-.168.75-.375.75s-.375-.336-.375-.75.168-.75.375-.75.375.336.375.75Zm-.375%200h.008v.015h-.008V9.75Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-face-smile);
  mask: var(--hero-face-smile);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-document-minus {
  --hero-document-minus: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M19.5%2014.25v-2.625a3.375%203.375%200%200%200-3.375-3.375h-1.5A1.125%201.125%200%200%201%2013.5%207.125v-1.5a3.375%203.375%200%200%200-3.375-3.375H8.25m6.75%2012H9m2.25-12H5.625c-.621%200-1.125.504-1.125%201.125v17.25c0%20.621.504%201.125%201.125%201.125h12.75c.621%200%201.125-.504%201.125-1.125V11.25a9%209%200%200%200-9-9Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-document-minus);
  mask: var(--hero-document-minus);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-shield-check {
  --hero-shield-check: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%2012.75%2011.25%2015%2015%209.75m-3-7.036A11.959%2011.959%200%200%201%203.598%206%2011.99%2011.99%200%200%200%203%209.749c0%205.592%203.824%2010.29%209%2011.623%205.176-1.332%209-6.03%209-11.622%200-1.31-.21-2.571-.598-3.751h-.152c-3.196%200-6.1-1.248-8.25-3.285Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-shield-check);
  mask: var(--hero-shield-check);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-bars-3 {
  --hero-bars-3: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3.75%206.75h16.5M3.75%2012h16.5m-16.5%205.25h16.5%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-bars-3);
  mask: var(--hero-bars-3);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-users {
  --hero-users: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15%2019.128a9.38%209.38%200%200%200%202.625.372%209.337%209.337%200%200%200%204.121-.952%204.125%204.125%200%200%200-7.533-2.493M15%2019.128v-.003c0-1.113-.285-2.16-.786-3.07M15%2019.128v.106A12.318%2012.318%200%200%201%208.624%2021c-2.331%200-4.512-.645-6.374-1.766l-.001-.109a6.375%206.375%200%200%201%2011.964-3.07M12%206.375a3.375%203.375%200%201%201-6.75%200%203.375%203.375%200%200%201%206.75%200Zm8.25%202.25a2.625%202.625%200%201%201-5.25%200%202.625%202.625%200%200%201%205.25%200Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-users);
  mask: var(--hero-users);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-clipboard-document-list {
  --hero-clipboard-document-list: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%2012h3.75M9%2015h3.75M9%2018h3.75m3%20.75H18a2.25%202.25%200%200%200%202.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424%2048.424%200%200%200-1.123-.08m-5.801%200c-.065.21-.1.433-.1.664%200%20.414.336.75.75.75h4.5a.75.75%200%200%200%20.75-.75%202.25%202.25%200%200%200-.1-.664m-5.8%200A2.251%202.251%200%200%201%2013.5%202.25H15c1.012%200%201.867.668%202.15%201.586m-5.8%200c-.376.023-.75.05-1.124.08C9.095%204.01%208.25%204.973%208.25%206.108V8.25m0%200H4.875c-.621%200-1.125.504-1.125%201.125v11.25c0%20.621.504%201.125%201.125%201.125h9.75c.621%200%201.125-.504%201.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75%2012h.008v.008H6.75V12Zm0%203h.008v.008H6.75V15Zm0%203h.008v.008H6.75V18Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-clipboard-document-list);
  mask: var(--hero-clipboard-document-list);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-chart-bar {
  --hero-chart-bar: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3%2013.125C3%2012.504%203.504%2012%204.125%2012h2.25c.621%200%201.125.504%201.125%201.125v6.75C7.5%2020.496%206.996%2021%206.375%2021h-2.25A1.125%201.125%200%200%201%203%2019.875v-6.75ZM9.75%208.625c0-.621.504-1.125%201.125-1.125h2.25c.621%200%201.125.504%201.125%201.125v11.25c0%20.621-.504%201.125-1.125%201.125h-2.25a1.125%201.125%200%200%201-1.125-1.125V8.625ZM16.5%204.125c0-.621.504-1.125%201.125-1.125h2.25C20.496%203%2021%203.504%2021%204.125v15.75c0%20.621-.504%201.125-1.125%201.125h-2.25a1.125%201.125%200%200%201-1.125-1.125V4.125Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-chart-bar);
  mask: var(--hero-chart-bar);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-book-open {
  --hero-book-open: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%206.042A8.967%208.967%200%200%200%206%203.75c-1.052%200-2.062.18-3%20.512v14.25A8.987%208.987%200%200%201%206%2018c2.305%200%204.408.867%206%202.292m0-14.25a8.966%208.966%200%200%201%206-2.292c1.052%200%202.062.18%203%20.512v14.25A8.987%208.987%200%200%200%2018%2018a8.967%208.967%200%200%200-6%202.292m0-14.25v14.25%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-book-open);
  mask: var(--hero-book-open);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-arrow-left {
  --hero-arrow-left: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M10.5%2019.5%203%2012m0%200%207.5-7.5M3%2012h18%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-arrow-left);
  mask: var(--hero-arrow-left);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-plus {
  --hero-plus: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%204.5v15m7.5-7.5h-15%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-plus);
  mask: var(--hero-plus);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-key {
  --hero-key: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%205.25a3%203%200%200%201%203%203m3%200a6%206%200%200%201-7.029%205.912c-.563-.097-1.159.026-1.563.43L10.5%2017.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1%20.43-1.563A6%206%200%201%201%2021.75%208.25Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-key);
  mask: var(--hero-key);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-x-mark {
  --hero-x-mark: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%2018%2018%206M6%206l12%2012%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-x-mark);
  mask: var(--hero-x-mark);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-envelope {
  --hero-envelope: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M21.75%206.75v10.5a2.25%202.25%200%200%201-2.25%202.25h-15a2.25%202.25%200%200%201-2.25-2.25V6.75m19.5%200A2.25%202.25%200%200%200%2019.5%204.5h-15a2.25%202.25%200%200%200-2.25%202.25m19.5%200v.243a2.25%202.25%200%200%201-1.07%201.916l-7.5%204.615a2.25%202.25%200%200%201-2.36%200L3.32%208.91a2.25%202.25%200%200%201-1.07-1.916V6.75%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-envelope);
  mask: var(--hero-envelope);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-chevron-up-down {
  --hero-chevron-up-down: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M8.25%2015%2012%2018.75%2015.75%2015m-7.5-6L12%205.25%2015.75%209%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-chevron-up-down);
  mask: var(--hero-chevron-up-down);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-check-circle {
  --hero-check-circle: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%2012.75%2011.25%2015%2015%209.75M21%2012a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-check-circle);
  mask: var(--hero-check-circle);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-x-circle {
  --hero-x-circle: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m9.75%209.75%204.5%204.5m0-4.5-4.5%204.5M21%2012a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-x-circle);
  mask: var(--hero-x-circle);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-exclamation-circle {
  --hero-exclamation-circle: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%209v3.75m9-.75a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Zm-9%203.75h.008v.008H12v-.008Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-exclamation-circle);
  mask: var(--hero-exclamation-circle);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.hero-arrow-right-on-rectangle {
  --hero-arrow-right-on-rectangle: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%209V5.25A2.25%202.25%200%200%200%2013.5%203h-6a2.25%202.25%200%200%200-2.25%202.25v13.5A2.25%202.25%200%200%200%207.5%2021h6a2.25%202.25%200%200%200%202.25-2.25V15m3%200%203-3m0%200-3-3m3%203H9%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask: var(--hero-arrow-right-on-rectangle);
  mask: var(--hero-arrow-right-on-rectangle);
  mask-repeat: no-repeat;
  background-color: currentColor;
}

.attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  color: var(--co-inbox-text);
  cursor: pointer;
  transition: all 0.15s ease;
  max-width: 200px;
}
.attachment-chip:hover {
  background-color: var(--co-inbox-bg-hover);
  border-color: var(--co-inbox-border-dark);
}
.attachment-chip .attachment-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--co-inbox-text-tertiary);
}
.attachment-chip .attachment-name {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.attachment-chip .attachment-size {
  font-size: 0.6875rem;
  color: var(--co-inbox-text-tertiary);
  flex-shrink: 0;
}

.attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.attachment-preview {
  display: flex;
  flex-direction: column;
  width: 120px;
  background-color: var(--co-inbox-bg-white);
  border: 1px solid var(--co-inbox-border);
  border-radius: 0.5rem;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.15s ease;
}
.attachment-preview:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.attachment-preview .preview-thumbnail {
  width: 100%;
  height: 80px;
  background-color: var(--co-inbox-bg-gray);
  display: flex;
  align-items: center;
  justify-content: center;
}
.attachment-preview .preview-thumbnail .file-icon {
  width: 32px;
  height: 32px;
  color: var(--co-inbox-text-tertiary);
}
.attachment-preview .preview-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.attachment-preview .preview-info {
  padding: 0.5rem;
}
.attachment-preview .preview-info .file-name {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--co-inbox-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.attachment-preview .preview-info .file-size {
  font-size: 0.6875rem;
  color: var(--co-inbox-text-tertiary);
}

.space-y-1 > * + * {
  margin-top: 0.25rem;
}

.space-y-2 > * + * {
  margin-top: 0.5rem;
}

.space-y-3 > * + * {
  margin-top: 0.75rem;
}

.space-y-4 > * + * {
  margin-top: 1rem;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.m-0 {
  margin: 0;
}

.m-1 {
  margin: 0.25rem;
}

.m-2 {
  margin: 0.5rem;
}

.m-3 {
  margin: 0.75rem;
}

.m-4 {
  margin: 1rem;
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.p-0 {
  padding: 0;
}

.p-1 {
  padding: 0.25rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.w-full {
  width: 100%;
}

.w-auto {
  width: auto;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.flex-col {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.hidden {
  display: none;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-full {
  border-radius: 9999px;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0;
}

.border-2 {
  border-width: 2px;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

.left-0 {
  left: 0;
}

.top-2 {
  top: 0.5rem;
}

.right-2 {
  right: 0.5rem;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-50 {
  z-index: 50;
}

.z-100 {
  z-index: 100;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-80 {
  opacity: 0.8;
}

.size-3 {
  width: 0.75rem;
  height: 0.75rem;
}

.size-4 {
  width: 1rem;
  height: 1rem;
}

.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}

.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}

.cursor-pointer {
  cursor: pointer;
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}

.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

.btn-circle {
  border-radius: 9999px;
  width: 2rem;
  height: 2rem;
  padding: 0;
}

.btn-ghost {
  background-color: transparent;
  border: none;
  color: var(--co-inbox-text);
}
.btn-ghost:hover {
  background-color: var(--co-inbox-bg-hover);
}

.btn-outline {
  background-color: transparent;
  border: 1px solid var(--co-inbox-border);
  color: var(--co-inbox-text);
}
.btn-outline:hover {
  background-color: var(--co-inbox-bg-hover);
}

dialog.modal {
  padding: 0;
  border: none;
  background: transparent;
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
}
dialog.modal::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
dialog.modal:not([open]) {
  display: none;
}

.modal-box {
  background-color: var(--co-inbox-bg-white);
  border-radius: 0.5rem;
  padding: 1.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  max-width: 28rem;
  width: 100%;
  position: relative;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  background-color: transparent;
  cursor: pointer;
  z-index: -1;
}
.modal-backdrop button {
  position: absolute;
  inset: 0;
  background: transparent;
  border: none;
  font-size: 0;
}

.srfcs-submit-btn--success {
  background-color: #991b1b !important;
}
.srfcs-submit-btn--success:hover {
  background-color: #7f1d1d !important;
}
.srfcs-submit-btn--success:focus {
  box-shadow: 0 0 0 3px rgba(153, 27, 27, 0.3) !important;
}

.srfcs-alert--success {
  background-color: #991b1b !important;
  border-color: #7f1d1d !important;
  color: white !important;
}
.srfcs-alert--success a {
  color: white !important;
  text-decoration: underline !important;
}
.srfcs-alert--success a:hover {
  opacity: 0.9;
}

.srfcs-link {
  text-decoration: underline;
}

html {
  height: 100%;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  font-family: var(--co-inbox-font-family);
  color: var(--co-inbox-text);
  background-color: var(--co-inbox-bg-white);
}

[data-phx-main] {
  height: 100%;
  display: flex;
  flex-direction: column;
}

select option {
  background-color: white;
  color: var(--co-inbox-text);
  font-family: inherit;
  padding: 8px 12px;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.max-w-sm {
  max-width: 24rem;
}

.space-y-4 > * + * {
  margin-top: 1rem;
}

.p-4 {
  padding: 1rem;
}

.text-center {
  text-align: center;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.font-bold {
  font-weight: 700;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-gray-600 {
  color: #4b5563;
}

.text-gray-500 {
  color: #6b7280;
}

.text-gray-800 {
  color: #1f2937;
}

.mt-2 {
  margin-top: 0.5rem;
}

.font-semibold {
  font-weight: 600;
}

.text-blue-600 {
  color: #2563eb;
}

.hover\:underline:hover {
  text-decoration: underline;
}

.bg-blue-50 {
  background-color: #eff6ff;
}

.border {
  border-width: 1px;
  border-style: solid;
}

.border-blue-200 {
  border-color: #bfdbfe;
}

.border-gray-300 {
  border-color: #d1d5db;
}

.rounded {
  border-radius: 0.375rem;
}

.block {
  display: block;
}

.font-medium {
  font-weight: 500;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.w-full {
  width: 100%;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-2:focus {
  box-shadow: 0 0 0 2px #3b82f6;
}

.focus\:ring-blue-500:focus {
  box-shadow: 0 0 0 2px #3b82f6;
}

.bg-blue-600 {
  background-color: #2563eb;
}

.text-white {
  color: white;
}

.hover\:bg-blue-700:hover {
  background-color: #1d4ed8;
}

.bg-gray-200 {
  background-color: #e5e7eb;
}

.hover\:bg-gray-300:hover {
  background-color: #d1d5db;
}

.underline {
  text-decoration: underline;
}

[data-phx-main]:has(.srfcs-auth-card),
[data-phx-main]:has(.mx-auto.max-w-sm) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: linear-gradient(135deg, #CC0000 0%, #EE0000 50%, #CC0000 100%);
}

.srfcs-auth-card,
.mx-auto.max-w-sm {
  background: white;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  padding: 2rem;
}

a.srfcs-oauth-btn.srfcs-oauth-btn--okta {
  background-color: #007dc1;
  color: white;
  border: 1px solid #007dc1;
}

/*# sourceMappingURL=app.css.map */
