@charset "UTF-8";
:root {
  --srfcs-primary: #7c3aed;
  --srfcs-primary-hover: #6d28d9;
  --srfcs-primary-active: #5b21b6;
  --srfcs-primary-light: #f5f3ff;
  --srfcs-primary-lighter: #ede9fe;
  --srfcs-primary-dark: #5b21b6;
  --srfcs-primary-subtle: #f5f3ff;
  --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-orange: #f97316;
  --srfcs-orange-hover: #ea580c;
  --srfcs-purple: #8b5cf6;
  --srfcs-purple-hover: #7c3aed;
  --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(124, 58, 237, 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-gender-men: #2563eb;
  --srfcs-gender-men-bg: #dbeafe;
  --srfcs-gender-women: #db2777;
  --srfcs-gender-women-bg: #fce7f3;
  --srfcs-gender-unisex: #374151;
  --srfcs-gender-unisex-bg: #d1d5db;
  --srfcs-gender-junior: #6b7280;
  --srfcs-gender-junior-bg: #f3f4f6;
  --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: #a78bfa;
  --srfcs-primary-hover: #c4b5fd;
  --srfcs-primary-active: #ddd6fe;
  --srfcs-primary-light: #2e1065;
  --srfcs-primary-lighter: #4c1d95;
  --srfcs-primary-dark: #c4b5fd;
  --srfcs-primary-subtle: #2e1065;
  --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(167, 139, 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-foreground {
  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-divide-y > * + * {
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-divide-x > * + * {
  border-left: 1px solid var(--srfcs-border);
}

.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-link, .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: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  user-select: none;
}
.srfcs-btn:disabled, .srfcs-btn-admin:disabled, .srfcs-btn-link: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-link: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(124, 58, 237, 0.3);
}

.srfcs-btn-primary {
  background: var(--srfcs-primary);
  color: var(--srfcs-white);
  border-color: var(--srfcs-primary-hover);
  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);
  border-color: var(--srfcs-primary-active);
  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);
  border-color: var(--srfcs-gray-300);
  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);
  border-color: var(--srfcs-gray-400);
  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);
  border-color: var(--srfcs-success-hover);
  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);
  border-color: var(--srfcs-success-dark);
  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-link {
  background: transparent;
  color: var(--srfcs-primary);
  padding: 0;
  font-size: var(--srfcs-text-sm);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.srfcs-btn-link:hover:not(:disabled) {
  color: var(--srfcs-primary-hover);
  text-decoration: underline;
}
.srfcs-btn-link:focus {
  box-shadow: none;
  outline: 2px solid var(--srfcs-primary);
  outline-offset: 2px;
}

.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: 0;
  box-sizing: border-box;
  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--sticky ~ * {
  --srfcs-sticky-offset: var(--srfcs-header-height, 4rem);
}

.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-with-app-rail .srfcs-header-nav__container {
  max-width: none;
  margin: 0;
  padding-left: var(--srfcs-space-3);
}

.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__emoji {
  font-size: 1.25rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.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-bar {
  background-color: var(--srfcs-bg-muted);
  border-bottom: 1px solid var(--srfcs-border);
  padding: var(--srfcs-space-2) var(--srfcs-space-6);
  margin: calc(-1 * var(--srfcs-space-6)) calc(-1 * var(--srfcs-space-6)) var(--srfcs-space-6) calc(-1 * var(--srfcs-space-6));
}

.srfcs-breadcrumb-bar--page {
  margin: 0;
  padding: var(--srfcs-space-2) var(--srfcs-space-6);
}

.srfcs-breadcrumb-bar--sticky {
  position: sticky;
  top: var(--srfcs-header-height, 4rem);
  z-index: 90;
  backdrop-filter: blur(8px);
  background-color: var(--srfcs-bg-translucent, rgba(255, 255, 255, 0.95));
}
[data-theme=dark] .srfcs-breadcrumb-bar--sticky {
  background-color: var(--srfcs-bg-translucent, rgba(17, 17, 17, 0.95));
}

.srfcs-breadcrumb {
  font-size: var(--srfcs-text-sm);
}

.srfcs-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--srfcs-space-1);
  list-style: none;
  margin: 0;
  padding: 0;
}

.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-mega-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background-color: var(--srfcs-bg);
  border-bottom: 1px solid var(--srfcs-border);
  box-shadow: var(--srfcs-shadow-lg);
  z-index: 50;
}
.srfcs-mega-menu::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 3rem;
}

.srfcs-mega-menu--open {
  display: block;
}

.srfcs-mega-menu__container {
  max-width: var(--srfcs-max-w-7xl, 80rem);
  margin: 0 auto;
  padding: var(--srfcs-space-6);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--srfcs-space-6);
}

.srfcs-mega-menu__group {
  display: flex;
  flex-direction: column;
}

.srfcs-mega-menu__label {
  font-size: var(--srfcs-text-base);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
  margin-bottom: var(--srfcs-space-2);
}

.srfcs-mega-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srfcs-mega-menu__link {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  text-decoration: none;
  padding: var(--srfcs-space-1) 0;
  display: block;
  transition: color 0.15s ease;
}
.srfcs-mega-menu__link:hover {
  color: var(--srfcs-primary);
}

.srfcs-mega-menu__link--active {
  color: var(--srfcs-primary);
  font-weight: var(--srfcs-font-medium);
}

.srfcs-header-nav__item--mega {
  position: static;
}
.srfcs-header-nav__item--mega:hover .srfcs-mega-menu, .srfcs-header-nav__item--mega:focus-within .srfcs-mega-menu {
  display: block;
}

.srfcs-header-nav:has(.srfcs-header-nav__item--mega):not(.srfcs-header-nav--sticky) {
  position: relative;
}

.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-8);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  background-color: var(--srfcs-bg);
  box-shadow: var(--srfcs-shadow-md);
}

.srfcs-auth-card__logo {
  text-align: center;
  margin-bottom: var(--srfcs-space-6);
}

.srfcs-auth-card__logo-img {
  max-height: 3rem;
  margin: 0 auto;
}

.srfcs-auth-card__logo-text {
  font-size: var(--srfcs-text-3xl);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-primary);
}

.srfcs-auth-card__buttons {
  display: flex;
  gap: var(--srfcs-space-3);
  margin-top: var(--srfcs-space-4);
}

.srfcs-auth-card__buttons .srfcs-submit-btn {
  flex: 1;
}

.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-3) 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: 1px solid var(--srfcs-primary-hover);
  border-radius: var(--srfcs-radius-lg);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.srfcs-submit-btn:hover {
  background-color: var(--srfcs-primary-hover);
  border-color: var(--srfcs-primary-active);
}
.srfcs-submit-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.3);
}
.srfcs-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.srfcs-submit-btn--success {
  background-color: var(--srfcs-success);
  border-color: var(--srfcs-success-hover);
}
.srfcs-submit-btn--success:hover {
  background-color: var(--srfcs-success-hover);
  border-color: var(--srfcs-success-dark);
}
.srfcs-submit-btn--success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.3);
}

.srfcs-submit-btn--light {
  background-color: #a78bfa;
  border-color: #8b5cf6;
}
.srfcs-submit-btn--light:hover {
  background-color: #8b5cf6;
  border-color: var(--srfcs-primary);
}

.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.15);
  border: 1px solid var(--srfcs-success);
  color: var(--srfcs-success-dark);
}

.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;
  padding-left: 0;
  padding-right: 0;
}

.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--active {
  border-color: var(--srfcs-primary);
  background-color: var(--srfcs-primary-light);
}

.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-page-main > .srfcs-sidebar-layout {
  min-height: calc(100vh - var(--srfcs-header-height, 4rem));
}
.srfcs-sidebar-layout--fixed {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.srfcs-sidebar-layout--fixed .srfcs-main-content {
  overflow-y: auto;
}

.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--sticky {
  position: sticky;
  top: var(--srfcs-sticky-offset, 0px);
  align-self: flex-start;
  max-height: calc(100vh - var(--srfcs-sticky-offset, 0px));
  overflow-y: auto;
}

.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-frame {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}

.srfcs-page-main {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.srfcs-page-main:has(.srfcs-sidebar-layout--fixed) {
  overflow: hidden;
}

.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--cols-5 {
  grid-template-columns: repeat(5, 1fr);
}

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

.srfcs-grid--responsive {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

@media (min-width: 640px) {
  .srfcs-grid--sm-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .srfcs-grid--sm-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .srfcs-grid--sm-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 768px) {
  .srfcs-grid--md-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .srfcs-grid--md-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .srfcs-grid--md-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .srfcs-grid--md-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (min-width: 1024px) {
  .srfcs-grid--lg-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .srfcs-grid--lg-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .srfcs-grid--lg-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .srfcs-grid--lg-cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 1280px) {
  .srfcs-grid--xl-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .srfcs-grid--xl-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .srfcs-grid--xl-cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 1536px) {
  .srfcs-grid--2xl-cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .srfcs-grid--2xl-cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .srfcs-grid--2xl-cols-7 {
    grid-template-columns: repeat(7, 1fr);
  }
}
.srfcs-grid--gap-none {
  gap: 0;
}

.srfcs-grid--gap-xs {
  gap: 2px;
}

.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-grid--full-bleed {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.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-status-row {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-status-row:hover {
  background: var(--srfcs-bg-hover);
}

.srfcs-status-row__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--srfcs-text-muted);
}

.srfcs-status-row--healthy .srfcs-status-row__dot {
  background: var(--srfcs-success);
}

.srfcs-status-row--unhealthy .srfcs-status-row__dot {
  background: var(--srfcs-danger);
}

.srfcs-status-row--unreachable .srfcs-status-row__dot {
  background: var(--srfcs-text-muted);
  opacity: 0.5;
}

.srfcs-status-row__name {
  flex: 1;
  color: var(--srfcs-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.srfcs-status-row__link {
  color: var(--srfcs-text);
  text-decoration: none;
}
.srfcs-status-row__link:hover {
  color: var(--srfcs-primary);
  text-decoration: underline;
}

.srfcs-status-row__port {
  color: var(--srfcs-text-muted);
  font-family: var(--srfcs-font-mono);
  font-size: var(--srfcs-text-xs);
}

.srfcs-status-row__go {
  color: var(--srfcs-text-muted);
  text-decoration: none;
  font-size: var(--srfcs-text-xs);
}
.srfcs-status-row__go:hover {
  color: var(--srfcs-primary);
}

.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: rgba(16, 185, 129, 0.15);
  border-color: var(--srfcs-success);
  color: var(--srfcs-success-dark);
}

.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-agent-dashboard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-lg);
  gap: var(--srfcs-space-4);
}

.srfcs-agent-dashboard--running {
  border-color: var(--srfcs-success);
  background: color-mix(in srgb, var(--srfcs-success) 3%, var(--srfcs-bg));
}

.srfcs-agent-dashboard--paused {
  border-color: var(--srfcs-warning);
  background: color-mix(in srgb, var(--srfcs-warning) 3%, var(--srfcs-bg));
}

.srfcs-agent-dashboard__stats {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-4);
  flex: 1;
}

.srfcs-agent-dashboard__stat {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-agent-dashboard__stat-icon {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  line-height: 1;
}

.srfcs-agent-dashboard__stat-value {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-bold);
  color: var(--srfcs-text);
}

.srfcs-agent-dashboard__stat-label {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  font-weight: 500;
}

.srfcs-agent-dashboard__divider {
  width: 1px;
  height: 1.25rem;
  background: var(--srfcs-border);
  flex-shrink: 0;
}

.srfcs-agent-dashboard__models {
  display: flex;
  gap: var(--srfcs-space-1);
  flex-wrap: wrap;
}

.srfcs-agent-dashboard__model-badge {
  font-size: 0.625rem;
  padding: 1px 6px;
  border-radius: var(--srfcs-radius-sm);
  background: color-mix(in srgb, var(--srfcs-primary) 10%, transparent);
  color: var(--srfcs-primary);
  font-weight: 600;
  white-space: nowrap;
}

.srfcs-agent-dashboard__status {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  flex-shrink: 0;
}

.srfcs-agent-dashboard__status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.srfcs-agent-dashboard__status-dot--idle {
  background: var(--srfcs-text-muted);
}

.srfcs-agent-dashboard__status-dot--running {
  background: var(--srfcs-success);
  animation: srfcs-pulse 1.5s ease-in-out infinite;
}

.srfcs-agent-dashboard__status-dot--paused {
  background: var(--srfcs-warning);
}

@keyframes srfcs-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.srfcs-agent-dashboard__status-text {
  font-size: var(--srfcs-text-xs);
  font-weight: 600;
  color: var(--srfcs-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.srfcs-agent-dashboard--compact {
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
}
.srfcs-agent-dashboard--compact .srfcs-agent-dashboard__stat-label {
  display: none;
}

.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-proportion-bar-wrap {
  width: 100%;
}

.srfcs-proportion-bar {
  display: flex;
  width: 100%;
  height: 2rem;
  border-radius: var(--srfcs-radius-md);
  overflow: hidden;
}

.srfcs-proportion-bar--compact {
  height: 1.25rem;
}

.srfcs-proportion-bar__segment {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: var(--srfcs-proportion-value, 1);
  min-width: 0;
  color: #fff;
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-semibold);
  transition: flex 0.3s ease;
}

.srfcs-proportion-bar__segment[data-value="1"] {
  flex: 1;
}

.srfcs-proportion-bar__segment[data-value="2"] {
  flex: 2;
}

.srfcs-proportion-bar__segment[data-value="3"] {
  flex: 3;
}

.srfcs-proportion-bar__segment[data-value="4"] {
  flex: 4;
}

.srfcs-proportion-bar__segment[data-value="5"] {
  flex: 5;
}

.srfcs-proportion-bar__segment[data-value="6"] {
  flex: 6;
}

.srfcs-proportion-bar__segment[data-value="7"] {
  flex: 7;
}

.srfcs-proportion-bar__segment[data-value="8"] {
  flex: 8;
}

.srfcs-proportion-bar__segment[data-value="9"] {
  flex: 9;
}

.srfcs-proportion-bar__segment[data-value="10"] {
  flex: 10;
}

.srfcs-proportion-bar__segment[data-value="11"] {
  flex: 11;
}

.srfcs-proportion-bar__segment[data-value="12"] {
  flex: 12;
}

.srfcs-proportion-bar__segment[data-value="13"] {
  flex: 13;
}

.srfcs-proportion-bar__segment[data-value="14"] {
  flex: 14;
}

.srfcs-proportion-bar__segment[data-value="15"] {
  flex: 15;
}

.srfcs-proportion-bar__segment[data-value="16"] {
  flex: 16;
}

.srfcs-proportion-bar__segment[data-value="17"] {
  flex: 17;
}

.srfcs-proportion-bar__segment[data-value="18"] {
  flex: 18;
}

.srfcs-proportion-bar__segment[data-value="19"] {
  flex: 19;
}

.srfcs-proportion-bar__segment[data-value="20"] {
  flex: 20;
}

.srfcs-proportion-bar__segment[data-value="21"] {
  flex: 21;
}

.srfcs-proportion-bar__segment[data-value="22"] {
  flex: 22;
}

.srfcs-proportion-bar__segment[data-value="23"] {
  flex: 23;
}

.srfcs-proportion-bar__segment[data-value="24"] {
  flex: 24;
}

.srfcs-proportion-bar__segment[data-value="25"] {
  flex: 25;
}

.srfcs-proportion-bar__segment[data-value="26"] {
  flex: 26;
}

.srfcs-proportion-bar__segment[data-value="27"] {
  flex: 27;
}

.srfcs-proportion-bar__segment[data-value="28"] {
  flex: 28;
}

.srfcs-proportion-bar__segment[data-value="29"] {
  flex: 29;
}

.srfcs-proportion-bar__segment[data-value="30"] {
  flex: 30;
}

.srfcs-proportion-bar__segment[data-value="31"] {
  flex: 31;
}

.srfcs-proportion-bar__segment[data-value="32"] {
  flex: 32;
}

.srfcs-proportion-bar__segment[data-value="33"] {
  flex: 33;
}

.srfcs-proportion-bar__segment[data-value="34"] {
  flex: 34;
}

.srfcs-proportion-bar__segment[data-value="35"] {
  flex: 35;
}

.srfcs-proportion-bar__segment[data-value="36"] {
  flex: 36;
}

.srfcs-proportion-bar__segment[data-value="37"] {
  flex: 37;
}

.srfcs-proportion-bar__segment[data-value="38"] {
  flex: 38;
}

.srfcs-proportion-bar__segment[data-value="39"] {
  flex: 39;
}

.srfcs-proportion-bar__segment[data-value="40"] {
  flex: 40;
}

.srfcs-proportion-bar__segment[data-value="41"] {
  flex: 41;
}

.srfcs-proportion-bar__segment[data-value="42"] {
  flex: 42;
}

.srfcs-proportion-bar__segment[data-value="43"] {
  flex: 43;
}

.srfcs-proportion-bar__segment[data-value="44"] {
  flex: 44;
}

.srfcs-proportion-bar__segment[data-value="45"] {
  flex: 45;
}

.srfcs-proportion-bar__segment[data-value="46"] {
  flex: 46;
}

.srfcs-proportion-bar__segment[data-value="47"] {
  flex: 47;
}

.srfcs-proportion-bar__segment[data-value="48"] {
  flex: 48;
}

.srfcs-proportion-bar__segment[data-value="49"] {
  flex: 49;
}

.srfcs-proportion-bar__segment[data-value="50"] {
  flex: 50;
}

.srfcs-proportion-bar__segment[data-value="51"] {
  flex: 51;
}

.srfcs-proportion-bar__segment[data-value="52"] {
  flex: 52;
}

.srfcs-proportion-bar__segment[data-value="53"] {
  flex: 53;
}

.srfcs-proportion-bar__segment[data-value="54"] {
  flex: 54;
}

.srfcs-proportion-bar__segment[data-value="55"] {
  flex: 55;
}

.srfcs-proportion-bar__segment[data-value="56"] {
  flex: 56;
}

.srfcs-proportion-bar__segment[data-value="57"] {
  flex: 57;
}

.srfcs-proportion-bar__segment[data-value="58"] {
  flex: 58;
}

.srfcs-proportion-bar__segment[data-value="59"] {
  flex: 59;
}

.srfcs-proportion-bar__segment[data-value="60"] {
  flex: 60;
}

.srfcs-proportion-bar__segment[data-value="61"] {
  flex: 61;
}

.srfcs-proportion-bar__segment[data-value="62"] {
  flex: 62;
}

.srfcs-proportion-bar__segment[data-value="63"] {
  flex: 63;
}

.srfcs-proportion-bar__segment[data-value="64"] {
  flex: 64;
}

.srfcs-proportion-bar__segment[data-value="65"] {
  flex: 65;
}

.srfcs-proportion-bar__segment[data-value="66"] {
  flex: 66;
}

.srfcs-proportion-bar__segment[data-value="67"] {
  flex: 67;
}

.srfcs-proportion-bar__segment[data-value="68"] {
  flex: 68;
}

.srfcs-proportion-bar__segment[data-value="69"] {
  flex: 69;
}

.srfcs-proportion-bar__segment[data-value="70"] {
  flex: 70;
}

.srfcs-proportion-bar__segment[data-value="71"] {
  flex: 71;
}

.srfcs-proportion-bar__segment[data-value="72"] {
  flex: 72;
}

.srfcs-proportion-bar__segment[data-value="73"] {
  flex: 73;
}

.srfcs-proportion-bar__segment[data-value="74"] {
  flex: 74;
}

.srfcs-proportion-bar__segment[data-value="75"] {
  flex: 75;
}

.srfcs-proportion-bar__segment[data-value="76"] {
  flex: 76;
}

.srfcs-proportion-bar__segment[data-value="77"] {
  flex: 77;
}

.srfcs-proportion-bar__segment[data-value="78"] {
  flex: 78;
}

.srfcs-proportion-bar__segment[data-value="79"] {
  flex: 79;
}

.srfcs-proportion-bar__segment[data-value="80"] {
  flex: 80;
}

.srfcs-proportion-bar__segment[data-value="81"] {
  flex: 81;
}

.srfcs-proportion-bar__segment[data-value="82"] {
  flex: 82;
}

.srfcs-proportion-bar__segment[data-value="83"] {
  flex: 83;
}

.srfcs-proportion-bar__segment[data-value="84"] {
  flex: 84;
}

.srfcs-proportion-bar__segment[data-value="85"] {
  flex: 85;
}

.srfcs-proportion-bar__segment[data-value="86"] {
  flex: 86;
}

.srfcs-proportion-bar__segment[data-value="87"] {
  flex: 87;
}

.srfcs-proportion-bar__segment[data-value="88"] {
  flex: 88;
}

.srfcs-proportion-bar__segment[data-value="89"] {
  flex: 89;
}

.srfcs-proportion-bar__segment[data-value="90"] {
  flex: 90;
}

.srfcs-proportion-bar__segment[data-value="91"] {
  flex: 91;
}

.srfcs-proportion-bar__segment[data-value="92"] {
  flex: 92;
}

.srfcs-proportion-bar__segment[data-value="93"] {
  flex: 93;
}

.srfcs-proportion-bar__segment[data-value="94"] {
  flex: 94;
}

.srfcs-proportion-bar__segment[data-value="95"] {
  flex: 95;
}

.srfcs-proportion-bar__segment[data-value="96"] {
  flex: 96;
}

.srfcs-proportion-bar__segment[data-value="97"] {
  flex: 97;
}

.srfcs-proportion-bar__segment[data-value="98"] {
  flex: 98;
}

.srfcs-proportion-bar__segment[data-value="99"] {
  flex: 99;
}

.srfcs-proportion-bar__segment[data-value="100"] {
  flex: 100;
}

.srfcs-proportion-bar__segment--green {
  background-color: #22c55e;
}

.srfcs-proportion-bar__segment--blue {
  background-color: #2563eb;
}

.srfcs-proportion-bar__segment--black {
  background-color: #111827;
}

.srfcs-proportion-bar__segment--red {
  background-color: #dc2626;
}

.srfcs-proportion-bar__segment--yellow {
  background-color: #eab308;
}

.srfcs-proportion-bar__segment--purple {
  background-color: #7c3aed;
}

.srfcs-proportion-bar__segment--orange {
  background-color: #f97316;
}

.srfcs-proportion-bar__segment--teal {
  background-color: #14b8a6;
}

.srfcs-proportion-bar__segment--gray {
  background-color: var(--srfcs-gray-400);
}

.srfcs-proportion-bar__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 var(--srfcs-space-1);
}

.srfcs-proportion-bar__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--srfcs-space-4);
  margin-top: var(--srfcs-space-3);
}

.srfcs-proportion-bar__legend-item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.srfcs-proportion-bar__legend-dot {
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: var(--srfcs-radius-full);
  flex-shrink: 0;
}

.srfcs-proportion-bar__legend-dot--green {
  background-color: #22c55e;
}

.srfcs-proportion-bar__legend-dot--blue {
  background-color: #2563eb;
}

.srfcs-proportion-bar__legend-dot--black {
  background-color: #111827;
}

.srfcs-proportion-bar__legend-dot--red {
  background-color: #dc2626;
}

.srfcs-proportion-bar__legend-dot--yellow {
  background-color: #eab308;
}

.srfcs-proportion-bar__legend-dot--purple {
  background-color: #7c3aed;
}

.srfcs-proportion-bar__legend-dot--orange {
  background-color: #f97316;
}

.srfcs-proportion-bar__legend-dot--teal {
  background-color: #14b8a6;
}

.srfcs-proportion-bar__legend-dot--gray {
  background-color: var(--srfcs-gray-400);
}

.srfcs-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--srfcs-space-3);
}

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

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

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

@media (max-width: 640px) {
  .srfcs-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.srfcs-feature-grid--compact {
  gap: var(--srfcs-space-2);
}
.srfcs-feature-grid--compact .srfcs-feature-grid__item {
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
}

.srfcs-feature-grid__item {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  border-radius: var(--srfcs-radius-md);
  font-size: var(--srfcs-text-sm);
}

.srfcs-feature-grid__item--yes {
  color: var(--srfcs-text);
}

.srfcs-feature-grid__item--no {
  color: var(--srfcs-text-muted);
  opacity: 0.6;
}

.srfcs-feature-grid__icon {
  flex-shrink: 0;
  width: 1.25rem;
  text-align: center;
  font-weight: var(--srfcs-font-bold);
}

.srfcs-feature-grid__item--yes .srfcs-feature-grid__icon {
  color: var(--srfcs-success);
}

.srfcs-feature-grid__label {
  white-space: nowrap;
}

.srfcs-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: var(--srfcs-space-6);
}

.srfcs-timeline--compact .srfcs-timeline__entry {
  padding-bottom: var(--srfcs-space-3);
}
.srfcs-timeline--compact .srfcs-timeline__content {
  gap: var(--srfcs-space-1);
}

.srfcs-timeline__entry {
  position: relative;
  padding-bottom: var(--srfcs-space-5);
}
.srfcs-timeline__entry::before {
  content: "";
  position: absolute;
  left: calc(-1 * var(--srfcs-space-6) + 0.3125rem);
  top: 0.5rem;
  bottom: 0;
  width: 1px;
  background-color: var(--srfcs-border);
}
.srfcs-timeline__entry:last-child::before {
  display: none;
}

.srfcs-timeline__marker {
  position: absolute;
  left: calc(-1 * var(--srfcs-space-6));
  top: 0.375rem;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: var(--srfcs-radius-full);
  background-color: var(--srfcs-border);
  border: 2px solid var(--srfcs-bg);
  z-index: 1;
}

.srfcs-timeline__entry:first-child .srfcs-timeline__marker {
  background-color: var(--srfcs-primary);
}

.srfcs-timeline__content {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
}

.srfcs-timeline__period {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  font-weight: var(--srfcs-font-medium);
}

.srfcs-timeline__title {
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
}

.srfcs-timeline__description {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
}

.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--sm {
  padding: var(--srfcs-space-half, 0.125rem) var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
}

.srfcs-badge--lg {
  padding: var(--srfcs-space-1-half, 0.375rem) var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
}

.srfcs-badge--dot {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border-radius: var(--srfcs-radius-full);
}

.srfcs-badge--primary-solid {
  background-color: var(--srfcs-primary);
  color: #fff;
}

.srfcs-badge--success-solid {
  background-color: var(--srfcs-success);
  color: #fff;
}

.srfcs-badge--warning-solid {
  background-color: var(--srfcs-warning);
  color: #fff;
}

.srfcs-badge--danger-solid {
  background-color: var(--srfcs-danger);
  color: #fff;
}

.srfcs-badge--info-solid {
  background-color: var(--srfcs-info);
  color: #fff;
}

.srfcs-badge--orange-solid {
  background-color: var(--srfcs-orange);
  color: #fff;
}

.srfcs-badge--purple-solid {
  background-color: var(--srfcs-purple);
  color: #fff;
}

.srfcs-badge--gray-solid {
  background-color: var(--srfcs-gray-500);
  color: #fff;
}

.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-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 var(--srfcs-space-1);
  font-size: 0.6875rem;
  font-weight: var(--srfcs-font-semibold);
  line-height: 1;
  border-radius: var(--srfcs-radius-full);
  white-space: nowrap;
  background-color: var(--srfcs-gray-200);
  color: var(--srfcs-gray-700);
}

.srfcs-pill--men {
  background-color: var(--srfcs-gender-men-bg);
  color: var(--srfcs-gender-men);
}

.srfcs-pill--women {
  background-color: var(--srfcs-gender-women-bg);
  color: var(--srfcs-gender-women);
}

.srfcs-pill--unisex {
  background-color: var(--srfcs-gender-unisex-bg);
  color: var(--srfcs-gender-unisex);
}

.srfcs-pill--junior {
  background-color: var(--srfcs-gender-junior-bg);
  color: var(--srfcs-gender-junior);
}

.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-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.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-prose {
  font-size: var(--srfcs-text-base);
  line-height: 1.7;
  color: var(--srfcs-text);
}
.srfcs-prose h1, .srfcs-prose h2, .srfcs-prose h3, .srfcs-prose h4, .srfcs-prose h5, .srfcs-prose h6 {
  color: var(--srfcs-text);
  font-weight: var(--srfcs-font-semibold);
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.srfcs-prose h1 {
  font-size: var(--srfcs-text-2xl);
}
.srfcs-prose h2 {
  font-size: var(--srfcs-text-xl);
}
.srfcs-prose h3 {
  font-size: var(--srfcs-text-lg);
}
.srfcs-prose h4 {
  font-size: var(--srfcs-text-base);
  font-weight: var(--srfcs-font-bold);
}
.srfcs-prose p {
  margin-bottom: 1em;
}
.srfcs-prose ul, .srfcs-prose ol {
  padding-left: 1.5em;
  margin-bottom: 1em;
}
.srfcs-prose li {
  margin-bottom: 0.25em;
}
.srfcs-prose ul {
  list-style-type: disc;
}
.srfcs-prose ol {
  list-style-type: decimal;
}
.srfcs-prose code {
  background-color: var(--srfcs-bg-muted);
  padding: 0.125em 0.25em;
  border-radius: var(--srfcs-radius-sm);
  font-size: 0.875em;
}
.srfcs-prose pre {
  background-color: var(--srfcs-bg-muted);
  padding: var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-md);
  overflow-x: auto;
  margin-bottom: 1em;
}
.srfcs-prose pre code {
  background: none;
  padding: 0;
}
.srfcs-prose blockquote {
  border-left: 3px solid var(--srfcs-border);
  padding-left: var(--srfcs-space-4);
  color: var(--srfcs-text-muted);
  font-style: italic;
  margin-bottom: 1em;
}
.srfcs-prose a {
  color: var(--srfcs-primary);
  text-decoration: underline;
}
.srfcs-prose a:hover {
  color: var(--srfcs-primary-hover);
}
.srfcs-prose table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1em;
}
.srfcs-prose th, .srfcs-prose td {
  border: 1px solid var(--srfcs-border);
  padding: var(--srfcs-space-2) var(--srfcs-space-3);
  text-align: left;
}
.srfcs-prose th {
  background-color: var(--srfcs-bg-muted);
  font-weight: var(--srfcs-font-semibold);
}
.srfcs-prose hr {
  border: none;
  border-top: 1px solid var(--srfcs-border);
  margin: 1.5em 0;
}

.srfcs-prose-sm {
  font-size: var(--srfcs-text-sm);
  line-height: 1.6;
}
.srfcs-prose-sm h1 {
  font-size: var(--srfcs-text-xl);
}
.srfcs-prose-sm h2 {
  font-size: var(--srfcs-text-lg);
}
.srfcs-prose-sm h3 {
  font-size: var(--srfcs-text-base);
}

.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-facets > div {
  border-top: 1px solid var(--srfcs-border);
  padding-top: 0.5em;
}
.srfcs-facets > div:first-child {
  border-top: none;
  padding-top: 0;
}

.srfcs-facets-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.625rem;
  border-bottom: 2px solid var(--srfcs-border);
}

.srfcs-facets-header__title {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-facets-header__icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  background: transparent;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  cursor: pointer;
  color: var(--srfcs-text-muted);
}
.srfcs-facets-header__icon-btn:hover {
  background-color: var(--srfcs-bg-muted);
  color: var(--srfcs-text);
}
.srfcs-facets-header__icon-btn svg {
  width: 1rem;
  height: 1rem;
}

.srfcs-facets-header__toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: var(--srfcs-space-2) 0;
  margin-bottom: 0.75rem;
}

.srfcs-facets-header__link {
  font-size: 13px;
  color: var(--srfcs-primary);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}
.srfcs-facets-header__link:hover {
  color: var(--srfcs-primary-hover);
  text-decoration: underline;
}

.srfcs-facets-header__sep {
  width: 1px;
  height: 0.875rem;
  background-color: var(--srfcs-border);
}

.srfcs-facet-finder {
  position: relative;
  padding: 0 0.75rem 0.5rem;
}

.srfcs-facet-finder__control {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  min-height: 2rem;
  padding: 0.25rem;
  background-color: var(--srfcs-bg-subtle);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  cursor: text;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-facet-finder__control:focus-within {
  background-color: var(--srfcs-bg);
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.srfcs-facet-finder__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  padding: 0.125rem 0.25rem 0.125rem 0.5rem;
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-muted);
  border-radius: var(--srfcs-radius-full);
  white-space: nowrap;
}

.srfcs-facet-finder__chip-dismiss {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.875rem;
  height: 0.875rem;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--srfcs-text-muted);
  cursor: pointer;
  border-radius: var(--srfcs-radius-full);
  font-size: var(--srfcs-text-xs);
  line-height: 1;
}
.srfcs-facet-finder__chip-dismiss:hover {
  color: var(--srfcs-danger);
  background-color: rgba(220, 38, 38, 0.1);
}

.srfcs-facet-finder__form {
  flex: 1;
  min-width: 60px;
}

.srfcs-facet-finder__input {
  width: 100%;
  padding: 0.125rem 0.25rem;
  font-size: 13px;
  background: transparent;
  border: none;
  outline: none;
  color: var(--srfcs-text);
}
.srfcs-facet-finder__input::placeholder {
  color: var(--srfcs-text-muted);
}

.srfcs-facet-finder__dropdown {
  position: absolute;
  top: 100%;
  left: 0.75rem;
  right: 0.75rem;
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  box-shadow: var(--srfcs-shadow-md);
  max-height: 240px;
  overflow-y: auto;
  z-index: 20;
  padding: 0.25rem 0;
}

.srfcs-facet-finder__option {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  width: 100%;
  padding: 0.375rem 0.625rem;
  font-size: 13px;
  color: var(--srfcs-text);
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
}
.srfcs-facet-finder__option:hover {
  background-color: var(--srfcs-bg-muted);
}

.srfcs-facet-finder__checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  font-size: 11px;
  color: transparent;
  flex-shrink: 0;
}

.srfcs-facet-finder__checkbox--checked {
  background-color: var(--srfcs-primary);
  border-color: var(--srfcs-primary);
  color: var(--srfcs-on-primary);
}

.srfcs-keyword-search {
  padding: 0 0.75rem 0.75rem;
}

.srfcs-keyword-search__input {
  width: 100%;
  padding: var(--srfcs-space-2) 0.625rem;
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-keyword-search__input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.srfcs-keyword-search__input::placeholder {
  color: var(--srfcs-text-muted);
}

.srfcs-facet__toggle {
  width: 100%;
  padding: var(--srfcs-space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  border: none;
  cursor: pointer;
}
.srfcs-facet__toggle:hover {
  background-color: var(--srfcs-bg-subtle);
}

.srfcs-facet__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  color: var(--srfcs-text);
  margin: 0;
}

.srfcs-facet__arrow {
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text-muted);
  transition: transform 0.2s ease;
  display: inline-block;
}

.srfcs-facet__arrow--open {
  transform: rotate(180deg);
}

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

.srfcs-facet__clear {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-primary);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  margin-bottom: var(--srfcs-space-2);
  display: inline-block;
}
.srfcs-facet__clear:hover {
  color: var(--srfcs-primary-hover);
  text-decoration: underline;
}

.srfcs-facet__search {
  width: 100%;
  padding: 0.375rem var(--srfcs-space-2);
  font-size: 13px;
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  margin-bottom: var(--srfcs-space-2);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.srfcs-facet__search:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.srfcs-facet__search::placeholder {
  color: var(--srfcs-text-muted);
}

.srfcs-facet__no-results {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  padding: var(--srfcs-space-1) 0;
}

.srfcs-facet__list {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
  max-height: 12rem;
  overflow-y: auto;
}

.srfcs-facet__list--tall {
  max-height: 16rem;
}

.srfcs-facet__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  margin: 0 -0.5rem;
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-facet__item:hover {
  background-color: var(--srfcs-bg-subtle);
}

.srfcs-facet__pinned {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
  border-bottom: 1px solid var(--srfcs-border);
  padding-bottom: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-2);
}

.srfcs-facet__item--selected {
  background-color: var(--srfcs-bg-subtle);
  font-weight: var(--srfcs-font-medium);
}

.srfcs-facet__item-left {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.srfcs-facet__item--stacked {
  flex-direction: column;
  align-items: stretch;
}

.srfcs-facet__item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.srfcs-facet__item-detail {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  padding-left: 1.5rem;
  margin-top: -1px;
  padding-bottom: 2px;
}

.srfcs-facet__item-range {
  font-size: 11px;
  color: var(--srfcs-text-muted);
  white-space: nowrap;
}

.srfcs-facet__item-families {
  font-size: 11px;
  color: var(--srfcs-text-secondary, #6b7280);
  font-style: italic;
}

.srfcs-facet__checkbox {
  border-radius: var(--srfcs-radius-sm);
  border: 1px solid var(--srfcs-border);
  accent-color: var(--srfcs-primary);
  flex-shrink: 0;
  pointer-events: none;
  width: 1rem;
  height: 1rem;
}

.srfcs-facet__label {
  margin-left: var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  overflow: hidden;
  text-overflow: ellipsis;
}

.srfcs-facet__label-desc {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  margin-left: var(--srfcs-space-1);
  white-space: nowrap;
}

.srfcs-facet__count {
  margin-left: var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
  flex-shrink: 0;
}

.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-facet__range {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.srfcs-facet__range-inputs {
  display: flex;
  gap: var(--srfcs-space-2);
  align-items: center;
}

.srfcs-facet__range-input {
  flex: 1;
  min-width: 0;
  font-size: var(--srfcs-text-sm);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg);
}
.srfcs-facet__range-input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}
.srfcs-facet__range-input::placeholder {
  color: var(--srfcs-text-muted);
}

.srfcs-facet__range-separator {
  color: var(--srfcs-text-muted);
}

.srfcs-facet__range-info {
  font-size: var(--srfcs-text-xs);
  color: var(--srfcs-text-muted);
}

.srfcs-facet__price-buckets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.5rem;
}

.srfcs-facet__price-bucket {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  font-size: var(--srfcs-text-xs);
  line-height: 1.4;
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
  background: var(--srfcs-bg);
  color: var(--srfcs-text);
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s;
}
.srfcs-facet__price-bucket:hover {
  background: var(--srfcs-bg-hover);
  border-color: var(--srfcs-border-hover, var(--srfcs-border));
}

.srfcs-facet__price-bucket--active {
  background: var(--srfcs-primary);
  color: var(--srfcs-on-primary, #fff);
  border-color: var(--srfcs-primary);
}
.srfcs-facet__price-bucket--active:hover {
  background: var(--srfcs-primary-hover, var(--srfcs-primary));
  border-color: var(--srfcs-primary-hover, var(--srfcs-primary));
}

.srfcs-facets--compact .srfcs-facets-header {
  padding-bottom: 0.375rem;
}

.srfcs-facets--compact .srfcs-facets-header__toolbar {
  padding: 0.375rem 0;
  margin-bottom: 0.5rem;
}

.srfcs-facets--compact .srfcs-facet__toggle {
  padding: 0.625rem;
}

.srfcs-facets--compact .srfcs-facet__body {
  padding: 0 0.625rem 0.625rem 0.625rem;
}

.srfcs-facets--compact .srfcs-facet__list {
  gap: 0.25rem;
}

.srfcs-facets--compact .srfcs-facet__item {
  padding: 0.125rem 0.375rem;
  margin: 0 -0.375rem;
}

.srfcs-facets--compact .srfcs-facet__checkbox {
  width: 0.875rem;
  height: 0.875rem;
}

.srfcs-facets--compact .srfcs-facet__label {
  margin-left: 0.375rem;
  font-size: 13px;
}

.srfcs-facets--compact .srfcs-facet__count {
  font-size: 11px;
}

.srfcs-facets--compact .srfcs-facet__clear {
  margin-bottom: 0.325rem;
}

.srfcs-facets--compact .srfcs-facet__search {
  padding: 0.25rem 0.375rem;
  font-size: var(--srfcs-text-xs);
  margin-bottom: 0.375rem;
}

.srfcs-facets--compact .srfcs-facet__range {
  gap: 0.5rem;
}

.srfcs-facets--compact .srfcs-facet__range-input {
  padding: 0.175rem 0.375rem;
  font-size: 13px;
}

.srfcs-facets--compact .srfcs-facets > div {
  padding-top: 0.325rem;
}

.srfcs-facets--compact .srfcs-facets {
  padding-bottom: 0.325rem;
}

.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);
}

.srfcs-price-facet {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-3);
}

.srfcs-price-facet__range {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2);
}

.srfcs-price-facet__inputs {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-price-facet__input {
  flex: 1;
  padding: var(--srfcs-space-1) var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-sm);
}
.srfcs-price-facet__input::placeholder {
  color: var(--srfcs-text-muted);
}
.srfcs-price-facet__input:focus {
  outline: none;
  border-color: var(--srfcs-primary);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

.srfcs-price-facet__separator {
  color: var(--srfcs-text-muted);
  flex-shrink: 0;
}

.srfcs-price-facet__buckets {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-1);
}

.srfcs-price-facet__bucket {
  display: block;
  width: 100%;
  text-align: left;
  padding: var(--srfcs-space-2) var(--srfcs-space-2);
  font-size: var(--srfcs-text-sm);
  color: var(--srfcs-text);
  background: transparent;
  border: 1px solid var(--srfcs-border-light, #e5e7eb);
  border-radius: var(--srfcs-radius-sm);
  cursor: pointer;
  transition: background-color 0.1s ease, border-color 0.1s ease;
}
.srfcs-price-facet__bucket:hover {
  background-color: var(--srfcs-bg-hover);
  border-color: var(--srfcs-border);
}

.srfcs-price-facet__bucket--active {
  background-color: var(--srfcs-primary-light, rgba(37, 99, 235, 0.08));
  border-color: var(--srfcs-primary);
  color: var(--srfcs-primary);
  font-weight: var(--srfcs-font-medium);
}

: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;
  box-sizing: border-box;
  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: none;
}

.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--with-labels {
  width: 64px;
}

.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__btn--labeled {
  flex-direction: column;
  width: 56px;
  height: auto;
  padding: 6px 2px;
  gap: 2px;
  margin-bottom: 10%;
}

.srfcs-app-rail__label {
  font-size: 0.5625rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  color: inherit;
}

.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;
}
.srfcs-with-app-rail--labeled {
  margin-left: 64px;
}

@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;
}

.srfcs-review-toolbar {
  display: flex;
  gap: 3px;
  padding: 6px 0 0;
  margin-top: 8px;
  border-top: 1px solid #e5e7eb;
}

.srfcs-review-btn {
  flex: 1;
  padding: 3px 0;
  font-size: 9px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #9ca3af;
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 3px;
  cursor: pointer;
  transition: background-color 0.1s ease, color 0.1s ease, border-color 0.1s ease;
  line-height: 1.2;
}

.srfcs-review-btn:hover {
  background-color: #fee2e2;
  color: #b91c1c;
  border-color: #fca5a5;
}

.srfcs-review-btn--active {
  background-color: #fef2f2;
  color: #dc2626;
  border-color: #f87171;
}

.srfcs-review-btn--active:hover {
  background-color: #f9fafb;
  color: #9ca3af;
  border-color: #e5e7eb;
}

.srfcs-section-subnav {
  position: sticky;
  top: var(--srfcs-header-height, 4rem);
  z-index: 90;
  background-color: var(--srfcs-bg-translucent, rgba(255, 255, 255, 0.95));
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--srfcs-border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.srfcs-section-subnav::-webkit-scrollbar {
  display: none;
}
[data-theme=dark] .srfcs-section-subnav {
  background-color: var(--srfcs-bg-translucent, rgba(17, 17, 17, 0.95));
}

.srfcs-section-subnav__list {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0 auto;
  padding: 0 var(--srfcs-space-4, 1rem);
  max-width: var(--srfcs-max-w-6xl, 72rem);
}

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

.srfcs-section-subnav__link {
  display: block;
  padding: var(--srfcs-space-3, 0.75rem) var(--srfcs-space-4, 1rem);
  font-size: var(--srfcs-text-sm, 0.875rem);
  font-weight: 500;
  color: var(--srfcs-text-muted);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.srfcs-section-subnav__link:hover {
  color: var(--srfcs-text);
}

.srfcs-section-subnav__link--active {
  color: var(--srfcs-primary);
  border-bottom-color: var(--srfcs-primary);
}

.srfcs-hero {
  padding: var(--srfcs-space-16, 4rem) var(--srfcs-space-4, 1rem);
  text-align: center;
}

.srfcs-hero__container {
  max-width: var(--srfcs-max-w-4xl, 56rem);
  margin: 0 auto;
}

.srfcs-hero--centered .srfcs-hero__container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.srfcs-hero--split .srfcs-hero__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--srfcs-space-8, 2rem);
  align-items: center;
  text-align: left;
}
@media (min-width: 768px) {
  .srfcs-hero--split .srfcs-hero__container {
    grid-template-columns: 1fr 1fr;
  }
}

.srfcs-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-4, 1rem);
}

.srfcs-hero__headline {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--srfcs-text);
}

.srfcs-hero__subheadline {
  font-size: var(--srfcs-text-lg, 1.125rem);
  line-height: 1.6;
  color: var(--srfcs-text-muted);
  max-width: 40rem;
}

.srfcs-hero--centered .srfcs-hero__subheadline {
  margin: 0 auto;
}

.srfcs-hero__actions {
  display: flex;
  gap: var(--srfcs-space-3, 0.75rem);
  flex-wrap: wrap;
  margin-top: var(--srfcs-space-4, 1rem);
}

.srfcs-hero--centered .srfcs-hero__actions {
  justify-content: center;
}

.srfcs-hero__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.srfcs-section-heading {
  margin-bottom: var(--srfcs-space-8, 2rem);
}

.srfcs-section-heading--center {
  text-align: center;
}

.srfcs-section-heading--left {
  text-align: left;
}

.srfcs-section-heading__eyebrow {
  display: block;
  font-size: var(--srfcs-text-xs, 0.75rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--srfcs-primary);
  margin-bottom: var(--srfcs-space-2, 0.5rem);
}

.srfcs-section-heading__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--srfcs-text);
  margin-bottom: var(--srfcs-space-3, 0.75rem);
}

.srfcs-section-heading__subtitle {
  font-size: var(--srfcs-text-base, 1rem);
  line-height: 1.6;
  color: var(--srfcs-text-muted);
  max-width: 40rem;
}

.srfcs-section-heading--center .srfcs-section-heading__subtitle {
  margin: 0 auto;
}

.srfcs-feature-card {
  padding: var(--srfcs-space-6, 1.5rem);
  border-radius: var(--srfcs-radius-lg, 0.5rem);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.srfcs-feature-card:hover {
  box-shadow: var(--srfcs-shadow-md);
  transform: translateY(-2px);
}

.srfcs-feature-card--highlighted {
  background: var(--srfcs-bg);
  border-color: var(--srfcs-primary);
  border-width: 2px;
}

.srfcs-feature-card__icon {
  font-size: 1.75rem;
  margin-bottom: var(--srfcs-space-3, 0.75rem);
  line-height: 1;
}

.srfcs-feature-card__title {
  font-size: var(--srfcs-text-lg, 1.125rem);
  font-weight: 600;
  color: var(--srfcs-text);
  margin-bottom: var(--srfcs-space-2, 0.5rem);
}

.srfcs-feature-card__description {
  font-size: var(--srfcs-text-sm, 0.875rem);
  line-height: 1.6;
  color: var(--srfcs-text-muted);
}

.srfcs-feature-card__extra {
  margin-top: var(--srfcs-space-3, 0.75rem);
}

.srfcs-feature-card__extra:empty {
  display: none;
}

.srfcs-cta-section {
  padding: var(--srfcs-space-16, 4rem) var(--srfcs-space-4, 1rem);
  text-align: center;
  background: var(--srfcs-primary);
  color: var(--srfcs-on-primary, #fff);
}

.srfcs-cta-section--outlined {
  background: transparent;
  border-top: 1px solid var(--srfcs-border);
  border-bottom: 1px solid var(--srfcs-border);
  color: var(--srfcs-text);
}

.srfcs-cta-section__container {
  max-width: var(--srfcs-max-w-3xl, 48rem);
  margin: 0 auto;
}

.srfcs-cta-section__headline {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  margin-bottom: var(--srfcs-space-3, 0.75rem);
}

.srfcs-cta-section__description {
  font-size: var(--srfcs-text-base, 1rem);
  line-height: 1.6;
  opacity: 0.9;
  margin-bottom: var(--srfcs-space-6, 1.5rem);
}

.srfcs-cta-section__actions {
  display: flex;
  gap: var(--srfcs-space-3, 0.75rem);
  justify-content: center;
  flex-wrap: wrap;
}

.srfcs-testimonial-card {
  padding: var(--srfcs-space-6, 1.5rem);
  border-radius: var(--srfcs-radius-lg, 0.5rem);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
}

.srfcs-testimonial-card__quote {
  font-size: var(--srfcs-text-base, 1rem);
  line-height: 1.6;
  color: var(--srfcs-text);
  font-style: italic;
  margin-bottom: var(--srfcs-space-4, 1rem);
}
.srfcs-testimonial-card__quote::before {
  content: "“";
  font-size: 1.5em;
  color: var(--srfcs-primary);
  margin-right: 0.1em;
}

.srfcs-testimonial-card__attribution {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3, 0.75rem);
}

.srfcs-testimonial-card__avatar {
  font-size: 1.75rem;
  line-height: 1;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--srfcs-radius-full, 9999px);
  background: var(--srfcs-bg-muted);
}

.srfcs-testimonial-card__name {
  font-size: var(--srfcs-text-sm, 0.875rem);
  font-weight: 600;
  color: var(--srfcs-text);
}

.srfcs-testimonial-card__role {
  font-size: var(--srfcs-text-xs, 0.75rem);
  color: var(--srfcs-text-muted);
}

.srfcs-pricing-card {
  display: flex;
  flex-direction: column;
  padding: var(--srfcs-space-6, 1.5rem);
  border-radius: var(--srfcs-radius-lg, 0.5rem);
  background: var(--srfcs-bg);
  border: 1px solid var(--srfcs-border);
  transition: box-shadow 0.2s ease;
  min-width: 0;
  overflow: hidden;
}

.srfcs-pricing-card:hover {
  box-shadow: var(--srfcs-shadow-md);
}

.srfcs-pricing-card--featured {
  border-color: var(--srfcs-primary);
  border-width: 2px;
  box-shadow: var(--srfcs-shadow-lg);
  position: relative;
}

.srfcs-pricing-card__header {
  text-align: center;
  padding-bottom: var(--srfcs-space-4, 1rem);
  border-bottom: 1px solid var(--srfcs-border);
  margin-bottom: var(--srfcs-space-4, 1rem);
}

.srfcs-pricing-card__name {
  font-size: var(--srfcs-text-lg, 1.125rem);
  font-weight: 600;
  color: var(--srfcs-text);
  margin-bottom: var(--srfcs-space-2, 0.5rem);
}

.srfcs-pricing-card__price {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  color: var(--srfcs-text);
  line-height: 1;
  margin-bottom: var(--srfcs-space-2, 0.5rem);
}

.srfcs-pricing-card__description {
  font-size: var(--srfcs-text-sm, 0.875rem);
  color: var(--srfcs-text-muted);
}

.srfcs-pricing-card__features {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-2, 0.5rem);
  margin-bottom: var(--srfcs-space-6, 1.5rem);
}

.srfcs-pricing-card__feature {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2, 0.5rem);
  font-size: var(--srfcs-text-sm, 0.875rem);
  color: var(--srfcs-text-muted);
}

.srfcs-pricing-card__feature--included {
  color: var(--srfcs-text);
}

.srfcs-pricing-card__feature-icon {
  flex-shrink: 0;
  width: 1.25rem;
  text-align: center;
}

.srfcs-pricing-card__feature--included .srfcs-pricing-card__feature-icon {
  color: var(--srfcs-success);
}

.srfcs-pricing-card__action {
  margin-top: auto;
}
.srfcs-pricing-card__action > a,
.srfcs-pricing-card__action > button {
  display: block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}

.srfcs-social-nav {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-3, 0.75rem);
}

.srfcs-social-nav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--srfcs-radius-md, 0.375rem);
  color: var(--srfcs-text-muted);
  transition: color 0.15s ease, background-color 0.15s ease;
}
.srfcs-social-nav__link:hover {
  color: var(--srfcs-text);
  background-color: var(--srfcs-bg-muted);
}

.srfcs-social-nav--light .srfcs-social-nav__link {
  color: rgba(255, 255, 255, 0.7);
}
.srfcs-social-nav--light .srfcs-social-nav__link:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}

.srfcs-social-nav--muted .srfcs-social-nav__link {
  color: var(--srfcs-text-muted);
  opacity: 0.6;
}
.srfcs-social-nav--muted .srfcs-social-nav__link:hover {
  opacity: 1;
}

.srfcs-social-nav__icon {
  width: 1.25rem;
  height: 1.25rem;
}

.srfcs-faq {
  display: flex;
  flex-direction: column;
}

.srfcs-faq__item {
  border-bottom: 1px solid var(--srfcs-border);
}
.srfcs-faq__item:first-child {
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-faq--bordered .srfcs-faq__item {
  border: 1px solid var(--srfcs-border);
  border-radius: var(--srfcs-radius-md, 0.375rem);
  margin-bottom: var(--srfcs-space-2, 0.5rem);
}
.srfcs-faq--bordered .srfcs-faq__item:first-child {
  border-top: 1px solid var(--srfcs-border);
}

.srfcs-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--srfcs-space-4, 1rem) var(--srfcs-space-2, 0.5rem);
  cursor: pointer;
  font-weight: 600;
  font-size: var(--srfcs-text-base, 1rem);
  color: var(--srfcs-text);
  list-style: none;
  user-select: none;
}
.srfcs-faq__question::-webkit-details-marker {
  display: none;
}
.srfcs-faq__question::marker {
  display: none;
  content: "";
}
.srfcs-faq__question:hover {
  color: var(--srfcs-primary);
}

.srfcs-faq__question-text {
  flex: 1;
  padding-right: var(--srfcs-space-4, 1rem);
}

.srfcs-faq__chevron {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 0.2s ease;
}
.srfcs-faq__chevron::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin: 0.25rem auto 0;
}

details[open] > .srfcs-faq__question .srfcs-faq__chevron {
  transform: rotate(180deg);
}

.srfcs-faq__answer {
  padding: 0 var(--srfcs-space-2, 0.5rem) var(--srfcs-space-4, 1rem);
  font-size: var(--srfcs-text-sm, 0.875rem);
  line-height: 1.6;
  color: var(--srfcs-text-muted);
}

.srfcs-promo-media {
  width: 100%;
  max-width: var(--srfcs-max-w-4xl, 56rem);
  margin: 0 auto;
}

.srfcs-promo-media--rounded .srfcs-promo-media__wrapper {
  border-radius: var(--srfcs-radius-xl, 0.75rem);
  overflow: hidden;
}

.srfcs-promo-media--shadowed .srfcs-promo-media__wrapper {
  box-shadow: var(--srfcs-shadow-xl);
  border-radius: var(--srfcs-radius-lg, 0.5rem);
  overflow: hidden;
}

.srfcs-promo-media__wrapper {
  position: relative;
  width: 100%;
  background: var(--srfcs-bg-muted);
}

.srfcs-promo-media__iframe,
.srfcs-promo-media__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.srfcs-video-embed {
  width: 100%;
}

.srfcs-video-embed__player {
  position: relative;
  width: 100%;
  background: var(--srfcs-bg-muted, #1a1a2e);
  border-radius: var(--srfcs-radius-md, 0.375rem);
  overflow: hidden;
  cursor: pointer;
}

.srfcs-video-embed__thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srfcs-video-embed__play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.srfcs-video-embed__play-icon {
  width: 68px;
  height: 48px;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.srfcs-video-embed__player:hover .srfcs-video-embed__play-btn {
  transform: translate(-50%, -50%) scale(1.1);
}

.srfcs-video-embed__player--playing .srfcs-video-embed__thumbnail,
.srfcs-video-embed__player--playing .srfcs-video-embed__play-btn {
  display: none;
}

.srfcs-video-embed__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.srfcs-video-embed__meta {
  padding: var(--srfcs-space-2, 0.5rem) 0;
}

.srfcs-video-embed__caption {
  font-size: var(--srfcs-text-sm, 0.875rem);
  color: var(--srfcs-text, #e0e0e0);
  margin: 0;
  line-height: 1.4;
}

.srfcs-video-embed__credit {
  font-size: var(--srfcs-text-xs, 0.75rem);
  color: var(--srfcs-text-muted, #999);
  margin: var(--srfcs-space-1, 0.25rem) 0 0;
}

.srfcs-video-embed--compact .srfcs-video-embed__play-icon {
  width: 48px;
  height: 34px;
}
.srfcs-video-embed--compact .srfcs-video-embed__meta {
  padding: var(--srfcs-space-1, 0.25rem) 0;
}
.srfcs-video-embed--compact .srfcs-video-embed__caption {
  font-size: var(--srfcs-text-xs, 0.75rem);
}

.srfcs-gallery-grid {
  width: 100%;
}

.srfcs-gallery-grid__title {
  font-size: var(--srfcs-text-lg, 1.125rem);
  font-weight: 600;
  color: var(--srfcs-text, #e0e0e0);
  margin: 0 0 var(--srfcs-space-4, 1rem);
}

.srfcs-gallery-grid__grid {
  display: grid;
  gap: var(--srfcs-space-3, 0.75rem);
}

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

.srfcs-gallery-grid--cols-3 .srfcs-gallery-grid__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px) {
  .srfcs-gallery-grid--cols-3 .srfcs-gallery-grid__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.srfcs-gallery-grid--cols-4 .srfcs-gallery-grid__grid {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px) {
  .srfcs-gallery-grid--cols-4 .srfcs-gallery-grid__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .srfcs-gallery-grid--cols-4 .srfcs-gallery-grid__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.srfcs-gallery-grid__item {
  cursor: pointer;
}

.srfcs-gallery-grid__thumb-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--srfcs-bg-muted, #1a1a2e);
  border-radius: var(--srfcs-radius-md, 0.375rem);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.srfcs-gallery-grid__item:hover .srfcs-gallery-grid__thumb-wrap {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transform: translateY(-2px);
}

.srfcs-gallery-grid__thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srfcs-gallery-grid__play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.15);
  transition: background 0.2s ease;
}

.srfcs-gallery-grid__item:hover .srfcs-gallery-grid__play-overlay {
  background: rgba(0, 0, 0, 0.3);
}

.srfcs-gallery-grid__play-icon {
  width: 48px;
  height: 34px;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
  transition: transform 0.2s ease;
}

.srfcs-gallery-grid__item:hover .srfcs-gallery-grid__play-icon {
  transform: scale(1.1);
}

.srfcs-gallery-grid__item-title {
  font-size: var(--srfcs-text-xs, 0.75rem);
  color: var(--srfcs-text-muted, #999);
  margin: var(--srfcs-space-1, 0.25rem) 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srfcs-gallery-grid__thumb-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--srfcs-bg-muted, #1a1a2e);
  color: var(--srfcs-text-muted, #666);
}
.srfcs-gallery-grid__thumb-placeholder svg {
  width: 2rem;
  height: 2rem;
  opacity: 0.4;
}

.srfcs-gallery-grid__expanded {
  grid-column: 1/-1;
  margin: var(--srfcs-space-3, 0.75rem) 0;
  background: var(--srfcs-bg-elevated, #000);
  border-radius: var(--srfcs-radius-md, 0.375rem);
  overflow: hidden;
  position: relative;
}

.srfcs-gallery-grid__close-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  z-index: 2;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.srfcs-gallery-grid__close-btn:hover {
  background: rgba(0, 0, 0, 0.85);
}

.srfcs-gallery-grid__player-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
}
.srfcs-gallery-grid__player-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.srfcs-gallery-grid__player-meta {
  padding: var(--srfcs-space-3, 0.75rem) var(--srfcs-space-4, 1rem);
}

.srfcs-gallery-grid__player-title {
  margin: 0;
  font-size: var(--srfcs-text-base, 1rem);
  font-weight: 600;
  color: var(--srfcs-text, #e0e0e0);
}

.srfcs-gallery-grid__player-caption {
  margin: var(--srfcs-space-1, 0.25rem) 0 0;
  font-size: var(--srfcs-text-sm, 0.875rem);
  color: var(--srfcs-text-muted, #999);
}

.srfcs-gallery-grid__player-credit {
  margin: var(--srfcs-space-1, 0.25rem) 0 0;
  font-size: var(--srfcs-text-xs, 0.75rem);
  color: var(--srfcs-text-muted, #777);
}

.srfcs-gallery-grid__item--active .srfcs-gallery-grid__thumb-wrap {
  outline: 2px solid var(--srfcs-primary, #6366f1);
  outline-offset: 2px;
}

.srfcs-gallery-grid--compact .srfcs-gallery-grid__grid {
  gap: var(--srfcs-space-2, 0.5rem);
}

.srfcs-gallery-grid--compact .srfcs-gallery-grid__thumb-wrap {
  border-radius: var(--srfcs-radius-sm, 0.25rem);
}

.srfcs-gallery-grid--compact .srfcs-gallery-grid__item-title {
  display: none;
}

.srfcs-gallery-grid--wide .srfcs-gallery-grid__grid {
  gap: var(--srfcs-space-4, 1rem);
}

.srfcs-tl-yearnav {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-1);
  padding: 0;
  margin-bottom: 0;
  border-bottom: 1px solid #e5e7eb;
  min-height: 28px;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
}
.srfcs-tl-yearnav__arrows {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}
.srfcs-tl-yearnav__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 100%;
  min-height: 28px;
  border: none;
  border-radius: 0;
  background: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: color 0.15s;
  color: #9ca3af;
}
.srfcs-tl-yearnav__arrow:hover {
  color: #111827;
}
.srfcs-tl-yearnav__arrow svg {
  width: 14px;
  height: 14px;
  display: block;
}
.srfcs-tl-yearnav__track {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: hidden;
  flex: 1;
  height: 0;
  padding: 0;
  visibility: hidden;
}
.srfcs-tl-yearnav__item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 3px 12px;
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: #6b7280;
  background: none;
  border: none;
  border-right: 1px solid #e5e7eb;
  border-radius: 0;
  cursor: pointer;
  white-space: nowrap;
  flex-grow: 0;
  flex-shrink: 0;
  transition: color 0.15s;
  text-align: center;
}
.srfcs-tl-yearnav__item:last-child {
  border-right: none;
}
.srfcs-tl-yearnav__item:hover {
  color: #111827;
}
.srfcs-tl-yearnav__item.active {
  color: #3B82F6;
  font-weight: var(--srfcs-font-bold);
}
.srfcs-tl-yearnav__item--inactive {
  color: #d1d5db;
  font-weight: var(--srfcs-font-normal);
}
.srfcs-tl-yearnav__item--inactive:hover {
  color: #9ca3af;
}
.srfcs-tl-yearnav__sub-row {
  display: grid;
  width: 100%;
  line-height: 1;
  margin-top: 1px;
}
.srfcs-tl-yearnav__sub-row--quarters {
  grid-template-columns: repeat(4, 1fr);
}
.srfcs-tl-yearnav__sub-row--months {
  grid-template-columns: repeat(12, 1fr);
}
.srfcs-tl-yearnav__sub {
  color: #9ca3af;
  font-weight: var(--srfcs-font-normal);
  text-align: center;
  white-space: nowrap;
  user-select: none;
  line-height: 1.1;
  padding: 1px 0;
  transition: color 0.15s;
}
.srfcs-tl-yearnav__sub--quarter {
  font-size: 0.625rem;
}
.srfcs-tl-yearnav__sub--month {
  font-size: 0.5rem;
}
.srfcs-tl-yearnav__sub--active {
  color: #3B82F6;
  font-weight: var(--srfcs-font-semibold);
}
.srfcs-tl-yearnav__sub--q-sep {
  border-left: 1px solid #e5e7eb;
}
.srfcs-tl-yearnav__sub--m-sep {
  border-left: 1px solid #e5e7eb;
}
.srfcs-tl-yearnav__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--srfcs-space-8);
  height: var(--srfcs-space-8);
  border-radius: var(--srfcs-radius);
  border: 1px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  flex-shrink: 0;
  color: #9ca3af;
  transition: all 0.15s;
}
.srfcs-tl-yearnav__toggle:hover {
  background: #f3f4f6;
  color: #6b7280;
}
.srfcs-tl-yearnav__toggle.active {
  background: #EFF6FF;
  color: #3B82F6;
  border-color: #3B82F6;
}
.srfcs-tl-yearnav__toggle svg {
  width: 0.875rem;
  height: 0.875rem;
}
.srfcs-tl-yearnav__formats {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  margin-left: var(--srfcs-space-1);
  padding-left: var(--srfcs-space-2);
  border-left: 1px solid #e5e7eb;
}
.srfcs-tl-yearnav__fmt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--srfcs-space-7);
  height: var(--srfcs-space-7);
  border-radius: var(--srfcs-radius);
  border: 1px solid transparent;
  background: none;
  cursor: pointer;
  flex-shrink: 0;
  color: #9ca3af;
  transition: all 0.15s;
}
.srfcs-tl-yearnav__fmt:hover {
  color: #6b7280;
  background: #f3f4f6;
}
.srfcs-tl-yearnav__fmt--active {
  color: #3B82F6;
  background: #EFF6FF;
  border-color: #BFDBFE;
}
.srfcs-tl-yearnav__fmt svg {
  width: 14px;
  height: 14px;
  display: block;
}

.srfcs-tl-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: var(--srfcs-radius-lg);
  padding: var(--srfcs-space-3) var(--srfcs-space-4);
  width: 260px;
  max-width: 100%;
  transition: box-shadow 0.2s, transform 0.15s;
  flex-shrink: 0;
}
.srfcs-tl-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.srfcs-tl-card__top {
  display: flex;
  align-items: center;
  gap: var(--srfcs-space-2);
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-tl-card__date {
  font-size: var(--srfcs-text-xs);
  color: #6b7280;
  font-weight: var(--srfcs-font-medium);
}
.srfcs-tl-card__badge {
  font-size: 0.625rem;
  padding: 1px var(--srfcs-space-2);
  border-radius: var(--srfcs-radius-full);
  font-weight: var(--srfcs-font-semibold);
  text-transform: capitalize;
  white-space: nowrap;
}
.srfcs-tl-card__title {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-semibold);
  line-height: var(--srfcs-leading-snug);
  margin-bottom: var(--srfcs-space-1);
  color: #111827;
}
.srfcs-tl-card__title a {
  color: inherit;
  text-decoration: none;
}
.srfcs-tl-card__title a:hover {
  color: #3B82F6;
}
.srfcs-tl-card__sub {
  font-size: var(--srfcs-text-xs);
  color: #6b7280;
  margin-bottom: var(--srfcs-space-1);
}
.srfcs-tl-card__desc {
  font-size: var(--srfcs-text-xs);
  line-height: var(--srfcs-leading-relaxed);
  color: #374151;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.srfcs-tl-card__sphere {
  margin-top: var(--srfcs-space-2);
}

.srfcs-tl-marker {
  width: var(--srfcs-space-8);
  height: var(--srfcs-space-8);
  border-radius: var(--srfcs-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  z-index: 2;
  position: relative;
}
.srfcs-tl-marker__icon {
  width: 0.875rem;
  height: 0.875rem;
  color: white;
}

.srfcs-tl-connector {
  position: absolute;
  background: #e5e7eb;
}
.srfcs-tl-connector--vertical {
  width: 2px;
  top: 0;
  bottom: 0;
}
.srfcs-tl-connector--horizontal {
  height: 2px;
  left: 0;
  right: 0;
}

.srfcs-tl-year {
  font-weight: var(--srfcs-font-bold);
  font-size: var(--srfcs-text-sm);
  color: #111827;
  background: #f3f4f6;
  padding: var(--srfcs-space-1) var(--srfcs-space-4);
  border-radius: var(--srfcs-radius-full);
  border: 1px solid #e5e7eb;
  display: inline-block;
}

.srfcs-tl-slider {
  position: relative;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  overflow: visible;
}
.srfcs-tl-slider__body {
  display: flex;
}
.srfcs-tl-slider__controls {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 56px;
  border-right: 1px solid #e5e7eb;
  padding: var(--srfcs-space-1) 0;
  gap: 2px;
}
.srfcs-tl-slider__ctrl-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  padding: 2px 0;
  border-bottom: 1px solid #f3f4f6;
}
.srfcs-tl-slider__ctrl-group--formats {
  border-bottom: none;
  border-top: 1px solid #f3f4f6;
  flex-direction: column;
  align-items: center;
}
.srfcs-tl-slider__ctrl-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: none;
  border-radius: var(--srfcs-radius);
  background: none;
  cursor: pointer;
  color: #9ca3af;
  transition: all 0.15s;
}
.srfcs-tl-slider__ctrl-btn:hover {
  color: #111827;
  background: #f3f4f6;
}
.srfcs-tl-slider__ctrl-btn--active {
  color: #3B82F6;
  background: #EFF6FF;
}
.srfcs-tl-slider__ctrl-btn:disabled {
  opacity: 0.3;
  cursor: default;
}
.srfcs-tl-slider__ctrl-btn:disabled:hover {
  background: none;
  color: #9ca3af;
}
.srfcs-tl-slider__ctrl-btn svg {
  width: 14px;
  height: 14px;
  display: block;
}
.srfcs-tl-slider__main {
  flex: 1;
  min-width: 0;
}
.srfcs-tl-slider__rail {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 100px;
  border-left: 1px solid #e5e7eb;
  padding: var(--srfcs-space-2) 0;
  overflow-y: auto;
  gap: 0;
  scrollbar-width: none;
}
.srfcs-tl-slider__rail::-webkit-scrollbar {
  display: none;
}
.srfcs-tl-slider__strip {
  border-bottom: 1px solid #e5e7eb;
  background: #fafafa;
  position: relative;
  height: 72px;
  display: flex;
  align-items: stretch;
}
.srfcs-tl-slider__strip-arrows {
  display: flex;
  align-items: stretch;
  flex-shrink: 0;
  border-right: 1px solid #e5e7eb;
}
.srfcs-tl-slider__strip-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  flex-shrink: 0;
  background: #f3f4f6;
  border: none;
  cursor: pointer;
  color: #6b7280;
  transition: background 0.15s, color 0.15s;
}
.srfcs-tl-slider__strip-arrow:hover {
  background: #e5e7eb;
  color: #111827;
}
.srfcs-tl-slider__strip-arrow + .srfcs-tl-slider__strip-arrow {
  border-left: 1px solid #e5e7eb;
}
.srfcs-tl-slider__strip-arrow svg {
  width: 14px;
  height: 14px;
}
.srfcs-tl-slider__strip-scroll {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  scroll-behavior: smooth;
  flex: 1;
  min-width: 0;
  scrollbar-width: none;
}
.srfcs-tl-slider__strip-scroll::-webkit-scrollbar {
  display: none;
}
.srfcs-tl-slider__mini {
  flex-shrink: 0;
  width: 100px;
  padding: var(--srfcs-space-2);
  background: #fff;
  border: none;
  border-right: 1px solid #f0f0f0;
  border-top: 3px solid transparent;
  cursor: pointer;
  text-align: left;
  transition: all 0.15s;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.srfcs-tl-slider__mini:hover {
  background: #f3f4f6;
}
.srfcs-tl-slider__mini--active {
  background: #EFF6FF;
  border-top-color: #3B82F6;
  box-shadow: inset 0 -2px 0 #3B82F6;
}
.srfcs-tl-slider__mini-date {
  display: block;
  font-size: 0.5625rem;
  color: #9ca3af;
  font-weight: var(--srfcs-font-bold);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 3px;
}
.srfcs-tl-slider__mini-title {
  display: block;
  font-size: 0.6875rem;
  font-weight: var(--srfcs-font-medium);
  color: #374151;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.srfcs-tl-slider__strip {
  display: none;
}
.srfcs-tl-slider__content {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: stretch;
  padding: var(--srfcs-space-6) 0;
  background: #fff;
  overflow: hidden;
}
.srfcs-tl-slider__peek {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  flex-shrink: 0;
  cursor: pointer;
  padding: var(--srfcs-space-2);
  transition: background 0.2s;
}
.srfcs-tl-slider__peek:hover {
  background: #f0f1f3;
}
.srfcs-tl-slider__peek--prev {
  background: linear-gradient(to right, #f3f4f6, #fafafa);
  border-right: 1px solid #eeeff1;
}
.srfcs-tl-slider__peek--next {
  background: linear-gradient(to left, #f3f4f6, #fafafa);
  border-left: 1px solid #eeeff1;
}
.srfcs-tl-slider__peek--at-edge {
  cursor: default;
  background: none;
}
.srfcs-tl-slider__peek--at-edge:hover {
  background: none;
}
.srfcs-tl-slider__peek-label {
  font-size: 0.5625rem;
  color: #d5d8de;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 200px;
  line-height: 1.2;
  text-align: center;
}
.srfcs-tl-slider__slides {
  flex: 1;
  min-width: 0;
  padding: 0 var(--srfcs-space-6);
}
.srfcs-tl-slider__slide {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  animation: srfcsTlFadeIn 0.3s ease;
}
.srfcs-tl-slider__slide-date {
  font-size: var(--srfcs-text-sm);
  font-weight: var(--srfcs-font-bold);
  text-transform: uppercase;
  letter-spacing: var(--srfcs-tracking-wide);
  margin-bottom: var(--srfcs-space-2);
}
.srfcs-tl-slider__slide-title {
  font-size: var(--srfcs-text-2xl);
  font-weight: var(--srfcs-font-bold);
  line-height: var(--srfcs-leading-tight);
  margin-bottom: var(--srfcs-space-3);
  color: #111827;
}
.srfcs-tl-slider__slide-desc {
  font-size: var(--srfcs-text-base);
  line-height: var(--srfcs-leading-relaxed);
  color: #374151;
  max-width: 560px;
  margin: 0 auto var(--srfcs-space-4);
}
.srfcs-tl-slider__slide-tags {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--srfcs-space-4);
  flex-wrap: wrap;
  margin-bottom: var(--srfcs-space-3);
}
.srfcs-tl-slider__slide-tag {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.srfcs-tl-slider__slide-tag-label {
  font-size: 0.5625rem;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: var(--srfcs-font-medium);
}
.srfcs-tl-slider__slide-badge {
  font-size: var(--srfcs-text-xs);
  padding: var(--srfcs-space-1) var(--srfcs-space-3);
  border-radius: var(--srfcs-radius-full);
  font-weight: var(--srfcs-font-semibold);
  white-space: nowrap;
}
.srfcs-tl-slider__slide-subtitle {
  font-size: var(--srfcs-text-sm);
  color: #6b7280;
}
.srfcs-tl-slider__slide-link {
  display: inline-block;
  margin-top: var(--srfcs-space-3);
  font-size: var(--srfcs-text-sm);
  color: #3B82F6;
  text-decoration: none;
  font-weight: var(--srfcs-font-medium);
}
.srfcs-tl-slider__slide-link:hover {
  text-decoration: underline;
}
.srfcs-tl-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--srfcs-space-10);
  height: var(--srfcs-space-10);
  border-radius: var(--srfcs-radius-full);
  border: 1px solid #e5e7eb;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: background 0.15s, box-shadow 0.15s;
}
.srfcs-tl-slider__arrow:hover {
  background: #f3f4f6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.srfcs-tl-slider__arrow--hidden {
  display: none;
}
.srfcs-tl-slider__arrow--prev {
  left: 68px;
}
.srfcs-tl-slider__arrow--next {
  right: 68px;
}
.srfcs-tl-slider__arrow svg {
  width: 1.25rem;
  height: 1.25rem;
  color: #374151;
}
.srfcs-tl-slider__counter {
  text-align: center;
  padding: var(--srfcs-space-2);
  font-size: var(--srfcs-text-xs);
  color: #9ca3af;
  border-top: 1px solid #f3f4f6;
}

.srfcs-tl-rail__section {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: var(--srfcs-space-2);
  padding-top: var(--srfcs-space-1);
  border-top: 1px solid #f3f4f6;
}
.srfcs-tl-rail__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 10px;
  margin-bottom: 2px;
}
.srfcs-tl-rail__heading span {
  font-size: 0.5rem;
  font-weight: var(--srfcs-font-bold);
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
}
.srfcs-tl-rail__group-toggle {
  position: relative;
  width: 18px;
  height: 10px;
  border-radius: 5px;
  border: none;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  background: #d1d5db;
  transition: background 0.2s;
}
.srfcs-tl-rail__group-toggle span {
  position: absolute;
  top: 1px;
  left: 1px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  transition: left 0.2s;
}
.srfcs-tl-rail__group-toggle--on {
  background: #3B82F6;
}
.srfcs-tl-rail__group-toggle--on span {
  left: 9px;
}
.srfcs-tl-rail__tag {
  display: block;
  width: 100%;
  padding: 3px 10px;
  font-size: 0.5625rem;
  font-weight: var(--srfcs-font-medium);
  text-align: left;
  color: var(--tag-color, #6b7280);
  background: none;
  border: none;
  border-left: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.15s;
  line-height: 1.3;
}
.srfcs-tl-rail__tag:hover {
  background: #f9fafb;
}
.srfcs-tl-rail__tag--active {
  border-left-color: var(--tag-color, #3B82F6);
  font-weight: var(--srfcs-font-semibold);
}
.srfcs-tl-rail__tag--hidden {
  color: #d1d5db;
  border-left-color: transparent;
  font-weight: var(--srfcs-font-normal);
}

.srfcs-tl-filter-strip {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px var(--srfcs-space-4);
  border-bottom: 1px solid #e5e7eb;
  background: #fafafa;
  overflow-x: auto;
  scrollbar-width: none;
}
.srfcs-tl-filter-strip::-webkit-scrollbar {
  display: none;
}
.srfcs-tl-filter-strip__tag {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  font-size: 0.625rem;
  font-weight: var(--srfcs-font-medium);
  color: var(--tag-color, #6b7280);
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: var(--srfcs-radius-full);
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all 0.15s;
}
.srfcs-tl-filter-strip__tag:hover {
  border-color: var(--tag-color, #9ca3af);
}
.srfcs-tl-filter-strip__tag--active {
  border-color: var(--tag-color, #3B82F6);
  background: color-mix(in srgb, var(--tag-color, #3B82F6) 8%, white);
  font-weight: var(--srfcs-font-semibold);
}
.srfcs-tl-filter-strip__tag--hidden {
  color: #d1d5db;
  border-color: #f3f4f6;
  background: #f9fafb;
  font-weight: var(--srfcs-font-normal);
}
.srfcs-tl-filter-strip__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

@keyframes srfcsTlFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.srfcs-tl-axis {
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
  display: block;
}
.srfcs-tl-axis__year-bar {
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.srfcs-tl-axis__year-bar-labels {
  overflow-x: auto;
  display: flex;
  align-items: stretch;
  scrollbar-width: none;
}
.srfcs-tl-axis__year-bar-labels::-webkit-scrollbar {
  display: none;
}
.srfcs-tl-axis__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: #f3f4f6;
  border: none;
  cursor: pointer;
  color: #6b7280;
  transition: background 0.15s;
}
.srfcs-tl-axis__arrow:hover {
  background: #e5e7eb;
  color: #111827;
}
.srfcs-tl-axis__arrow + .srfcs-tl-axis__arrow {
  border-left: 1px solid #e5e7eb;
}
.srfcs-tl-axis__arrow--zoom {
  color: #9ca3af;
}
.srfcs-tl-axis__arrow--zoom:disabled {
  opacity: 0.4;
  cursor: default;
}
.srfcs-tl-axis__arrow--zoom:disabled:hover {
  background: #f3f4f6;
  color: #9ca3af;
}
.srfcs-tl-axis__arrow svg {
  width: 14px;
  height: 14px;
  display: block;
}
.srfcs-tl-axis__zoom-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 1px solid #e5e7eb;
  padding: var(--srfcs-space-1) 0;
  gap: 2px;
}
.srfcs-tl-axis__zoom-pct {
  font-size: 0.5625rem;
  font-weight: var(--srfcs-font-bold);
  color: #6b7280;
  line-height: 1;
  white-space: nowrap;
}
.srfcs-tl-axis__zoom-reset {
  font-size: 0.5rem;
  color: #9ca3af;
  background: none;
  border: none;
  cursor: pointer;
  padding: 1px 4px;
  border-radius: var(--srfcs-radius);
  line-height: 1;
  transition: all 0.15s;
}
.srfcs-tl-axis__zoom-reset:hover {
  color: #3B82F6;
  background: #EFF6FF;
}
.srfcs-tl-axis__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  position: relative;
  min-height: 300px;
  scrollbar-width: none;
}
.srfcs-tl-axis__viewport::-webkit-scrollbar {
  display: none;
}
.srfcs-tl-axis__cards {
  position: relative;
  min-width: max-content;
  min-height: 250px;
  padding-top: 4px;
  padding-bottom: var(--srfcs-space-3);
}
.srfcs-tl-axis__year-label {
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid #e9eaed;
  pointer-events: none;
  z-index: 0;
}
.srfcs-tl-axis__year-label--active {
  border-left-color: #BFDBFE;
}
.srfcs-tl-axis__year-pill {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  flex: 1;
  flex-shrink: 0;
  min-width: 40px;
  border-right: 1px solid #e5e7eb;
  cursor: pointer;
  padding: 3px 4px;
  gap: 1px;
  text-align: center;
}
.srfcs-tl-axis__year-pill:hover {
  background: #f9fafb;
}
.srfcs-tl-axis__year-pill--active .srfcs-tl-axis__year-pill-text {
  color: #3B82F6;
  font-weight: var(--srfcs-font-bold);
}
.srfcs-tl-axis__year-pill-text {
  font-size: var(--srfcs-text-xs);
  font-weight: var(--srfcs-font-medium);
  color: #6b7280;
  line-height: 1.4;
}
.srfcs-tl-axis__year-pill-subs {
  display: grid;
  width: 100%;
}
.srfcs-tl-axis__year-pill-subs span {
  text-align: center;
  font-size: 0.5625rem;
  color: #b0b5be;
  line-height: 1.2;
}
.srfcs-tl-axis__year-pill-subs:first-of-type {
  grid-template-columns: repeat(4, 1fr);
}
.srfcs-tl-axis__year-pill-subs:last-of-type:not(:first-of-type) {
  grid-template-columns: repeat(12, 1fr);
}
.srfcs-tl-axis__flag {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  cursor: pointer;
  width: 105px;
}
.srfcs-tl-axis__flag--active .srfcs-tl-axis__flag-card {
  z-index: 10;
}
.srfcs-tl-axis__flag--active .srfcs-tl-axis__flag-dot {
  z-index: 16;
}
.srfcs-tl-axis__flag-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  z-index: 15;
  position: relative;
  margin-left: -4px;
  margin-top: -5px;
  filter: saturate(0.25) brightness(1.4);
  transition: filter 0.2s;
}
.srfcs-tl-axis__flag:hover .srfcs-tl-axis__flag-dot {
  filter: saturate(0.6) brightness(1.15);
}
.srfcs-tl-axis__flag--active .srfcs-tl-axis__flag-dot {
  filter: none;
}
.srfcs-tl-axis__flag-line {
  width: 2px;
  min-height: 4px;
  flex-shrink: 0;
  margin-left: 0;
  opacity: 0.2;
  pointer-events: none;
  transition: opacity 0.2s;
  z-index: 0;
  position: relative;
}
.srfcs-tl-axis__flag:hover .srfcs-tl-axis__flag-card {
  z-index: 5;
}
.srfcs-tl-axis__flag:hover .srfcs-tl-axis__flag-dot {
  z-index: 16;
}
.srfcs-tl-axis__flag:hover .srfcs-tl-axis__flag-line {
  opacity: 0.45;
}
.srfcs-tl-axis__flag--active .srfcs-tl-axis__flag-line {
  opacity: 0.6;
}
.srfcs-tl-axis__flag-card {
  z-index: 1;
  position: relative;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 0 var(--srfcs-radius) var(--srfcs-radius) var(--srfcs-radius);
  padding: var(--srfcs-space-1-5) var(--srfcs-space-2);
  width: 100%;
  transition: all 0.2s;
  filter: saturate(0.25);
}
.srfcs-tl-axis__flag-card:hover {
  border-color: #9ca3af;
  filter: saturate(0.6);
}
.srfcs-tl-axis__flag--active .srfcs-tl-axis__flag-card {
  background: #EFF6FF;
  border-color: #3B82F6;
  box-shadow: 0 0 0 1px #3B82F6;
  filter: none;
}
.srfcs-tl-axis__flag-title {
  font-size: 0.625rem;
  font-weight: var(--srfcs-font-medium);
  color: #9ca3af;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color 0.2s;
}
.srfcs-tl-axis__flag:hover .srfcs-tl-axis__flag-title {
  color: #6b7280;
}
.srfcs-tl-axis__flag--active .srfcs-tl-axis__flag-title {
  color: #111827;
}

.srfcs-tl-vertical {
  position: relative;
  padding: var(--srfcs-space-4) 0;
}
.srfcs-tl-vertical > .srfcs-tl-connector--vertical {
  left: 50%;
  transform: translateX(-50%);
}
.srfcs-tl-vertical__year {
  text-align: center;
  position: relative;
  z-index: 3;
  margin: var(--srfcs-space-6) 0 var(--srfcs-space-3);
}
.srfcs-tl-vertical__row {
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--srfcs-space-4);
  position: relative;
}
.srfcs-tl-vertical__row .srfcs-tl-marker {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.srfcs-tl-vertical__row--left {
  padding-right: calc(50% + var(--srfcs-space-6));
}
.srfcs-tl-vertical__row--left .srfcs-tl-card {
  margin-left: auto;
}
.srfcs-tl-vertical__row--right {
  padding-left: calc(50% + var(--srfcs-space-6));
}
.srfcs-tl-vertical__row--right .srfcs-tl-card {
  margin-right: auto;
}
@media (max-width: 768px) {
  .srfcs-tl-vertical > .srfcs-tl-connector--vertical {
    left: var(--srfcs-space-4);
    transform: none;
  }
  .srfcs-tl-vertical .srfcs-tl-vertical__year {
    text-align: left;
    padding-left: var(--srfcs-space-12);
  }
  .srfcs-tl-vertical .srfcs-tl-vertical__row--left, .srfcs-tl-vertical .srfcs-tl-vertical__row--right {
    padding-left: var(--srfcs-space-12);
    padding-right: 0;
  }
  .srfcs-tl-vertical .srfcs-tl-vertical__row--left .srfcs-tl-card, .srfcs-tl-vertical .srfcs-tl-vertical__row--right .srfcs-tl-card {
    margin: 0;
  }
  .srfcs-tl-vertical .srfcs-tl-vertical__row .srfcs-tl-marker {
    left: var(--srfcs-space-4);
    transform: translateX(-50%);
  }
}

.srfcs-tl-horizontal {
  overflow-x: auto;
  padding: var(--srfcs-space-6) 0 var(--srfcs-space-4);
}
.srfcs-tl-horizontal__scroll {
  display: flex;
  gap: var(--srfcs-space-6);
  min-width: max-content;
  position: relative;
  padding-top: var(--srfcs-space-8);
}
.srfcs-tl-horizontal .srfcs-tl-connector--horizontal {
  top: calc(var(--srfcs-space-8) + 14px);
}
.srfcs-tl-horizontal__group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--srfcs-space-3);
}
.srfcs-tl-horizontal__year {
  position: relative;
  z-index: 2;
}
.srfcs-tl-horizontal__items {
  display: flex;
  gap: var(--srfcs-space-3);
}
.srfcs-tl-horizontal__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--srfcs-space-2);
}

.srfcs-tl-cards__section {
  margin-bottom: var(--srfcs-space-8);
}
.srfcs-tl-cards__year {
  font-size: var(--srfcs-text-lg);
  font-weight: var(--srfcs-font-bold);
  margin-bottom: var(--srfcs-space-3);
  padding-bottom: var(--srfcs-space-2);
  border-bottom: 2px solid #e5e7eb;
  color: #111827;
}
.srfcs-tl-cards__grid {
  display: grid;
  gap: var(--srfcs-space-3);
}
.srfcs-tl-cards__grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
.srfcs-tl-cards__grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.srfcs-tl-cards__grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 768px) {
  .srfcs-tl-cards__grid--2, .srfcs-tl-cards__grid--3, .srfcs-tl-cards__grid--4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .srfcs-tl-cards__grid--2, .srfcs-tl-cards__grid--3, .srfcs-tl-cards__grid--4 {
    grid-template-columns: 1fr;
  }
}
.srfcs-tl-cards__grid .srfcs-tl-card {
  width: auto;
}

:root {
  --srfcs-radius-sm: 0.25rem;
  --srfcs-radius: 0.375rem;
  --srfcs-radius-md: 0.5rem;
  --srfcs-radius-lg: 0.75rem;
  --srfcs-radius-xl: 1rem;
  --srfcs-radius-2xl: 1.25rem;
  --srfcs-radius-3xl: 1.5rem;
}

:root {
  --srfcs-icon-size: 1.25rem;
  --srfcs-icon-stroke-width: 1.5;
  --srfcs-icon-color: currentColor;
}

.srfcs-breadcrumb-bar--page > * {
  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-breadcrumb-bar--page > * {
    padding-left: var(--srfcs-space-6);
    padding-right: var(--srfcs-space-6);
  }
}
@media (min-width: 1024px) {
  .srfcs-breadcrumb-bar--page > * {
    padding-left: var(--srfcs-space-8);
    padding-right: var(--srfcs-space-8);
  }
}

.mf-toolbar {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  position: sticky;
  top: calc(var(--srfcs-header-height, 4rem) + 2.25rem);
  z-index: 80;
  background-color: var(--srfcs-bg-translucent, rgba(255, 255, 255, 0.95));
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
  margin-top: calc(-1 * var(--srfcs-space-8));
  margin-bottom: 0;
}
[data-theme=dark] .mf-toolbar {
  background-color: var(--srfcs-bg-translucent, rgba(17, 17, 17, 0.95));
}
.mf-toolbar__container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  width: 100%;
  max-width: var(--srfcs-container-max-width, 80rem);
  margin: 0 auto;
  padding: 0.75rem var(--srfcs-space-4);
}
@media (min-width: 640px) {
  .mf-toolbar__container {
    padding-left: var(--srfcs-space-6);
    padding-right: var(--srfcs-space-6);
  }
}
@media (min-width: 1024px) {
  .mf-toolbar__container {
    padding-left: var(--srfcs-space-8);
    padding-right: var(--srfcs-space-8);
  }
}
.mf-toolbar__search {
  flex: 1;
  min-width: 12rem;
}
.mf-toolbar__controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.mf-toolbar__filters {
  display: flex;
  gap: 0.25rem;
}
.mf-toolbar__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 9999px;
  background: transparent;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.mf-toolbar__chip:hover {
  border-color: var(--srfcs-text-muted, #6b7280);
  color: var(--srfcs-text, #111);
}
.mf-toolbar__chip--active {
  background-color: var(--srfcs-text, #111);
  border-color: var(--srfcs-text, #111);
  color: #fff;
}
.mf-toolbar__chip--active:hover {
  background-color: var(--srfcs-text, #111);
  border-color: var(--srfcs-text, #111);
  color: #fff;
}
.mf-toolbar__chip--disabled {
  opacity: 0.45;
  cursor: default;
}
.mf-toolbar__chip--disabled:hover {
  border-color: var(--srfcs-border, #e2e2e2);
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-toolbar__sort select {
  appearance: auto;
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  color: var(--srfcs-text, #111);
  background: transparent;
  cursor: pointer;
}
.mf-toolbar__select {
  appearance: auto;
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  color: var(--srfcs-text, #111);
  background: transparent;
  cursor: pointer;
}
.mf-toolbar__action {
  text-decoration: none;
}
.mf-toolbar__count {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  white-space: nowrap;
  margin-left: auto;
}

.mf-link-pills {
  margin-top: 0;
}
.mf-link-pills__title {
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--srfcs-text-muted, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.mf-link-pills__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
.mf-link-pills__icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s ease, transform 0.15s ease;
  opacity: 0.7;
}
.mf-link-pills__icon-link:hover {
  opacity: 1;
  transform: scale(1.1);
}
.mf-link-pills__icon {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
}
.mf-link-pills__pill {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 9999px;
  font-size: 0.75rem;
  color: var(--srfcs-link, #3b82f6);
  text-decoration: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.mf-link-pills__pill:hover {
  background-color: var(--srfcs-bg-hover, #f3f4f6);
  border-color: var(--srfcs-link, #3b82f6);
}

.mf-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.mf-stat-card {
  padding: 1.25rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.5rem;
  text-align: center;
}
.mf-stat-card__value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.mf-stat-card__label {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin-top: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.mf-stat-card__link {
  color: var(--srfcs-link, #3b82f6);
  text-decoration: none;
}
.mf-stat-card__link:hover {
  text-decoration: underline;
}

.mf-setlist__set {
  margin-bottom: 1.5rem;
}
.mf-setlist__set-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  padding-bottom: 0.375rem;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-setlist__encore {
  font-weight: 400;
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
}
.mf-setlist__entries {
  list-style: decimal;
  padding-left: 2rem;
  margin: 0;
}
.mf-setlist__entry {
  padding: 0.375rem 0;
  line-height: 1.5;
}
.mf-setlist__entry:not(:last-child) {
  border-bottom: 1px solid var(--srfcs-border-subtle, #f3f4f6);
}
.mf-setlist__song {
  font-weight: 500;
}
.mf-setlist__cover, .mf-setlist__guest {
  font-size: 0.875rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-setlist__tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  background-color: var(--srfcs-bg-subtle, #f3f4f6);
  color: var(--srfcs-text-muted, #6b7280);
  margin-left: 0.25rem;
}
.mf-setlist__tag--debut {
  background-color: #dbeafe;
  color: #1d4ed8;
}
.mf-setlist__tag--aborted {
  background-color: #fee2e2;
  color: #dc2626;
}
.mf-setlist__transition {
  font-size: 0.875rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-setlist__note {
  font-size: 0.875rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
}
.mf-setlist__notes {
  margin-top: 1rem;
  padding: 0.75rem;
  background-color: var(--srfcs-bg-subtle, #f9fafb);
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-style: italic;
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-empty-state {
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
  padding: 1.5rem 0;
  text-align: center;
}

.mf-artist-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: calc(-1 * var(--srfcs-space-8, 2rem));
}
.mf-artist-hero__bg {
  position: relative;
  width: 100%;
  height: 28rem;
  background-color: #1a1a1a;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .mf-artist-hero__bg {
    height: 36rem;
  }
}
.mf-artist-hero__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.85) 80%, rgba(0, 0, 0, 0.95) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem;
}
@media (min-width: 768px) {
  .mf-artist-hero__gradient {
    padding: 2.5rem 3rem;
  }
}
.mf-artist-hero__logo {
  margin-bottom: 0.75rem;
  width: 4rem;
  height: 4rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
@media (min-width: 768px) {
  .mf-artist-hero__logo {
    width: 5rem;
    height: 5rem;
  }
}
.mf-artist-hero__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.mf-artist-hero__name h1 {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
@media (min-width: 768px) {
  .mf-artist-hero__name h1 {
    font-size: 3rem;
  }
}
.mf-artist-hero__origin {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}
.mf-artist-hero__links {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 0.625rem 1.25rem;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 60%, transparent 100%);
  border-bottom-left-radius: 0.75rem;
}
@media (min-width: 768px) {
  .mf-artist-hero__links {
    padding: 0.75rem 1.5rem;
  }
}
.mf-artist-hero__links .mf-link-pills {
  margin-top: 0;
  padding: 0 0.75rem;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.mf-artist-hero__links .mf-link-pills:last-child {
  border-right: none;
  padding-right: 0;
}
.mf-artist-hero__links .mf-link-pills:first-child {
  padding-left: 0;
}
.mf-artist-hero__links .mf-link-pills__title {
  display: block;
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 0.25rem;
}
.mf-artist-hero__links .mf-link-pills__list {
  gap: 0.375rem;
}
.mf-artist-hero__links .mf-link-pills__icon {
  width: 1.125rem;
  height: 1.125rem;
  filter: brightness(0) invert(1);
  transition: filter 0.2s ease;
}
.mf-artist-hero__links .mf-link-pills__icon-link {
  opacity: 0.7;
  transition: opacity 0.15s ease;
}
.mf-artist-hero__links .mf-link-pills__icon-link:hover {
  opacity: 1;
}
.mf-artist-hero__links .mf-link-pills__icon-link:hover .mf-link-pills__icon {
  filter: none;
}
.mf-artist-hero__links .mf-link-pills__pill {
  border-color: rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.625rem;
  padding: 0.0625rem 0.375rem;
}
.mf-artist-hero__links .mf-link-pills__pill:hover {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
}
@media (max-width: 639px) {
  .mf-artist-hero__links {
    padding: 0.5rem 0.625rem;
  }
  .mf-artist-hero__links .mf-link-pills {
    padding: 0 0.5rem;
  }
  .mf-artist-hero__links .mf-link-pills__title {
    display: none;
  }
  .mf-artist-hero__links .mf-link-pills__icon {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.mf-artist-hero__actions {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  z-index: 3;
  opacity: 0.6;
  transition: opacity 0.15s ease;
}
.mf-artist-hero__actions:hover {
  opacity: 1;
}
.mf-artist-hero__attribution {
  position: absolute;
  bottom: 0.5rem;
  right: 0.75rem;
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.4);
  font-style: italic;
}

.mf-artist-subnav {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
  background-color: var(--srfcs-bg, #fff);
  padding: 0 2rem;
  overflow-x: auto;
  position: sticky;
  top: calc(var(--srfcs-header-height, 4rem) + 2.25rem);
  z-index: 80;
}
[data-theme=dark] .mf-artist-subnav {
  background-color: var(--srfcs-bg, #111);
}
@media (min-width: 768px) {
  .mf-artist-subnav {
    padding: 0 3rem;
  }
}
.mf-artist-hero .mf-artist-subnav {
  width: 100%;
  margin-left: 0;
  border-bottom: none;
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(12px);
}
.mf-artist-subnav__link {
  display: inline-flex;
  align-items: center;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--srfcs-text-muted, #6b7280);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.mf-artist-subnav__link:hover:not(.mf-artist-subnav__link--disabled) {
  color: var(--srfcs-text, #111);
}
.mf-artist-subnav__link--active {
  color: var(--srfcs-text, #111);
  border-bottom-color: var(--srfcs-text, #111);
}
.mf-artist-hero .mf-artist-subnav__link {
  color: rgba(255, 255, 255, 0.7);
}
.mf-artist-hero .mf-artist-subnav__link:hover:not(.mf-artist-subnav__link--disabled) {
  color: #fff;
}
.mf-artist-hero .mf-artist-subnav__link--active {
  color: #fff;
  border-bottom-color: #fff;
}
.mf-artist-subnav__link--disabled {
  opacity: 0.4;
  cursor: default;
}

.mf-music-subnav {
  --_artist-subnav-h: 2.625rem;
  --_tier2-top: calc(var(--srfcs-header-height, 4rem) + 2.25rem + var(--_artist-subnav-h));
  width: 100vw;
  margin-left: calc(50% - 50vw);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
  background-color: var(--srfcs-bg, #fff);
  padding: 0 2rem;
  position: sticky;
  top: var(--_tier2-top);
  z-index: 79;
}
[data-theme=dark] .mf-music-subnav {
  background-color: var(--srfcs-bg, #111);
}
@media (min-width: 768px) {
  .mf-music-subnav {
    padding: 0 3rem;
  }
}
.mf-music-subnav__link {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--srfcs-text-muted, #6b7280);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.mf-music-subnav__link:hover {
  color: var(--srfcs-text, #111);
}
.mf-music-subnav__link--active {
  color: var(--srfcs-text, #111);
  border-bottom-color: var(--srfcs-text, #111);
}

.mf-music-type-filters {
  --_music-subnav-h: 2.125rem;
  --_tier3-top: calc(var(--srfcs-header-height, 4rem) + 2.25rem + 2.625rem + var(--_music-subnav-h));
  width: 100vw;
  margin-left: calc(50% - 50vw);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  flex-wrap: wrap;
  padding: 0.5rem 2rem;
  background-color: var(--srfcs-bg, #fff);
  border-bottom: 1px solid var(--srfcs-border-subtle, #f3f4f6);
  position: sticky;
  top: var(--_tier3-top);
  z-index: 78;
}
[data-theme=dark] .mf-music-type-filters {
  background-color: var(--srfcs-bg, #111);
}
@media (min-width: 768px) {
  .mf-music-type-filters {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
.mf-music-type-filters__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 9999px;
  background: none;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.15s ease;
}
.mf-music-type-filters__chip:hover {
  border-color: var(--srfcs-text-muted, #6b7280);
  color: var(--srfcs-text, #111);
}
.mf-music-type-filters__chip--active {
  background-color: var(--srfcs-text, #111);
  border-color: var(--srfcs-text, #111);
  color: #fff;
}
.mf-music-type-filters__chip--active:hover {
  background-color: var(--srfcs-text-muted, #6b7280);
  border-color: var(--srfcs-text-muted, #6b7280);
  color: #fff;
}

.mf-artist-show__image {
  margin: 1.5rem 0;
}
.mf-artist-show__image figure {
  margin: 0;
  max-width: 24rem;
}
.mf-artist-show__photo {
  width: 100%;
  border-radius: 0.375rem;
  display: block;
}
.mf-artist-show__attribution {
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
}

.mf-artist-card {
  position: relative;
  overflow: hidden;
  border-radius: 0.125rem;
  background-color: #111;
}
.mf-artist-card__link {
  display: block;
  position: relative;
  aspect-ratio: 16/9;
  text-decoration: none;
  color: #fff;
}
.mf-artist-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  filter: grayscale(100%);
  transition: filter 0.3s ease, transform 0.3s ease;
}
.mf-artist-card__image--logo {
  object-fit: contain;
  padding: 2rem;
}
.mf-artist-card:hover .mf-artist-card__image {
  filter: grayscale(0%);
  transform: scale(1.03);
}
.mf-artist-card__placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.5rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.15);
  user-select: none;
}
.mf-artist-card__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 3rem 0.75rem 0.75rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.45) 50%, transparent 100%);
  text-align: center;
}
.mf-artist-card__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
}
.mf-artist-card__admin-actions {
  position: absolute;
  top: 0.375rem;
  right: 0.375rem;
  z-index: 2;
  display: flex;
  gap: 0.25rem;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.mf-artist-card:hover .mf-artist-card__admin-actions {
  opacity: 1;
}

.mf-lineup {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mf-lineup__artist {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mf-lineup__name {
  font-weight: 500;
  color: var(--srfcs-link, #3b82f6);
  text-decoration: none;
}
.mf-lineup__name:hover {
  text-decoration: underline;
}
.mf-lineup__credited-as {
  font-size: 0.875rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-lineup__billing {
  font-size: 0.75rem;
  padding: 0.125rem 0.5rem;
  background-color: var(--srfcs-bg-subtle, #f3f4f6);
  border-radius: 9999px;
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-show-date {
  white-space: nowrap;
}

.mf-track-listing {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.mf-track-listing thead {
  border-bottom: 2px solid var(--srfcs-border, #e2e2e2);
}
.mf-track-listing th {
  text-align: left;
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.mf-track-listing__row {
  border-bottom: 1px solid var(--srfcs-border-subtle, #e8e8e8);
  transition: background-color 0.1s ease;
}
.mf-track-listing__row:hover {
  background-color: var(--srfcs-bg-hover, #f5f6f8);
}
.mf-track-listing__row:hover .mf-track-listing__position {
  display: none;
}
.mf-track-listing__row:hover .mf-track-listing__play {
  display: flex;
}
.mf-track-listing td {
  padding: 0.5rem 0.75rem;
}
.mf-track-listing__num {
  width: 3rem;
  text-align: center;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-track-listing__position {
  font-variant-numeric: tabular-nums;
}
.mf-track-listing__play {
  display: none;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
  margin: 0 auto;
  cursor: pointer;
  color: var(--srfcs-text, #111);
  transition: color 0.1s ease;
}
.mf-track-listing__play:hover {
  color: var(--srfcs-primary, #111);
}
.mf-track-listing__play svg {
  display: block;
}
.mf-track-listing__duration {
  width: 5rem;
  text-align: right;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-track-listing__sort-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.mf-track-listing__sort-btn:hover {
  color: var(--srfcs-text, #111);
}
.mf-track-listing__sort-arrow {
  font-size: 0.5rem;
  line-height: 1;
}
.mf-track-listing__row--selected {
  background-color: var(--srfcs-bg-active, #eef2ff);
}
.mf-track-listing__row--selected:hover {
  background-color: var(--srfcs-bg-active, #eef2ff);
}
.mf-track-listing__detail-row {
  background-color: var(--srfcs-bg-subtle, #f9fafb);
  border-bottom: 1px solid var(--srfcs-border-subtle, #e8e8e8);
}
.mf-track-listing__detail {
  padding: 0.75rem 1rem;
}

.mf-song-detail {
  --_panel-top: calc(var(--srfcs-header-height, 4rem) + 2.25rem + 2.625rem + 2.125rem + 1rem);
  width: 22rem;
  flex-shrink: 0;
  position: sticky;
  top: var(--_panel-top);
  max-height: calc(100vh - var(--_panel-top) - 1rem);
  overflow-y: auto;
  border-left: 1px solid var(--srfcs-border, #e2e2e2);
  padding-left: 1.25rem;
  scrollbar-width: thin;
  scrollbar-color: var(--srfcs-border, #e2e2e2) transparent;
}
.mf-song-detail::-webkit-scrollbar {
  width: 4px;
}
.mf-song-detail::-webkit-scrollbar-track {
  background: transparent;
}
.mf-song-detail::-webkit-scrollbar-thumb {
  background-color: var(--srfcs-border, #e2e2e2);
  border-radius: 2px;
}
@media (max-width: 767px) {
  .mf-song-detail {
    display: none;
  }
}
@media (max-width: 1024px) {
  .mf-song-detail {
    width: 18rem;
  }
}
.mf-song-detail__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.mf-song-detail__title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}
.mf-song-detail__close {
  background: none;
  border: none;
  padding: 0;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  flex-shrink: 0;
}
.mf-song-detail__close:hover {
  color: var(--srfcs-text, #111);
}
.mf-song-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin-bottom: 1rem;
}
.mf-song-detail__badge {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-primary, #4f46e5);
}
.mf-song-detail__iswc {
  font-size: 0.75rem;
  font-family: monospace;
}
.mf-song-detail__lyrics {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: var(--srfcs-bg-subtle, #fafafa);
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.5rem;
}
.mf-song-detail__lyrics-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.mf-song-detail__lyrics-header h4 {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0;
}
.mf-song-detail__edit-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: none;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  padding: 0.25rem 0.375rem;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.75rem;
  transition: all 0.15s ease;
}
.mf-song-detail__edit-btn:hover {
  border-color: var(--srfcs-border, #e2e2e2);
  color: var(--srfcs-text, #111);
}
.mf-song-detail__lyrics-content {
  font-family: inherit;
  font-size: 0.8125rem;
  line-height: 1.6;
  white-space: pre-wrap;
  margin: 0;
  color: var(--srfcs-text, #111);
  max-height: none;
}
.mf-song-detail__lyrics-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--srfcs-border-subtle, #f0f0f0);
}
.mf-song-detail__source {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-song-detail__authority {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  background: var(--srfcs-bg-hover, #f0f0f0);
  color: var(--srfcs-text, #111);
}
.mf-song-detail__no-lyrics {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
  margin: 0.5rem 0;
}
.mf-song-detail__form {
  margin-top: 0.75rem;
}
.mf-song-detail__form-title {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0 0 0.75rem;
}
.mf-song-detail .srfcs-form-card {
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
}
.mf-song-detail .srfcs-form-group textarea {
  min-height: 10rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.mf-song-detail__expand-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: none;
  border: none;
  padding: 0;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  cursor: pointer;
  margin-bottom: 0.75rem;
}
.mf-song-detail__expand-link:hover {
  color: var(--srfcs-text, #111);
}

.mf-song-details-pane {
  --_pane-top: calc(var(--srfcs-header-height, 4rem) + 2.25rem + 2.625rem + 2.125rem + 1rem);
  width: 20rem;
  flex-shrink: 0;
  position: sticky;
  top: var(--_pane-top);
  max-height: calc(100vh - var(--_pane-top) - 1rem);
  overflow-y: auto;
  border-left: 1px solid var(--srfcs-border, #e2e2e2);
  padding-left: 1.25rem;
  scrollbar-width: thin;
  scrollbar-color: var(--srfcs-border, #e2e2e2) transparent;
}
@media (max-width: 1200px) {
  .mf-song-details-pane {
    width: 16rem;
  }
}
@media (max-width: 767px) {
  .mf-song-details-pane {
    display: none;
  }
}
.mf-song-details-pane__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.mf-song-details-pane__title {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}
.mf-song-details-pane__close {
  background: none;
  border: none;
  padding: 0;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  flex-shrink: 0;
}
.mf-song-details-pane__close:hover {
  color: var(--srfcs-text, #111);
}
.mf-song-details-pane__section {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-song-details-pane__section:last-child {
  border-bottom: none;
}
.mf-song-details-pane__section-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text, #111);
  margin: 0 0 0.5rem;
}
.mf-song-details-pane__placeholder {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #9ca3af);
  font-style: italic;
  line-height: 1.5;
  margin: 0;
}

.mf-player {
  --mf-player-accent: var(--srfcs-text, #111);
  --mf-player-track: var(--srfcs-border, #d1d5db);
  --mf-player-progress: #e5e7eb;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: var(--srfcs-bg-subtle, #f9fafb);
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}
.mf-player--empty {
  justify-content: center;
}
.mf-player__controls {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.mf-player__play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: none;
  background: var(--srfcs-text, #111);
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  transition: opacity 0.15s ease;
}
.mf-player__play-btn:hover {
  opacity: 0.8;
}
.mf-player__time, .mf-player__duration {
  font-size: 0.6875rem;
  font-variant-numeric: tabular-nums;
  color: var(--srfcs-text-muted, #6b7280);
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 2.25rem;
}
.mf-player__time {
  text-align: right;
}
.mf-player__duration {
  text-align: left;
}
.mf-player__waveform-wrap {
  flex: 1;
  min-width: 0;
  height: 2.5rem;
  cursor: pointer;
}
.mf-player__waveform {
  display: block;
  width: 100%;
  height: 100%;
}
.mf-player__no-audio {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #9ca3af);
  margin: 0;
  font-style: italic;
}

.mf-lyrics-synced {
  max-height: 20rem;
  overflow-y: auto;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--srfcs-border, #d1d5db) transparent;
}

.mf-lyrics-line {
  font-size: 0.8125rem;
  line-height: 1.6;
  padding: 0.125rem 0.5rem;
  color: var(--srfcs-text-muted, #9ca3af);
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
  border-radius: 0.25rem;
}
.mf-lyrics-line--past {
  color: var(--srfcs-text-muted, #9ca3af);
}
.mf-lyrics-line--active {
  color: var(--srfcs-text, #111);
  font-weight: 600;
  background: var(--srfcs-bg-subtle, #f3f4f6);
}
.mf-lyrics-line:hover {
  background: var(--srfcs-bg-subtle, #f3f4f6);
}
.mf-lyrics-line:empty {
  min-height: 1rem;
}

.mf-track-list {
  margin: 0.5rem 0 0;
}
.mf-track-list__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-bottom: 2px solid var(--srfcs-border, #e2e2e2);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-track-list__header-num {
  width: 2rem;
  text-align: center;
  flex-shrink: 0;
}
.mf-track-list__header-title, .mf-track-list__header-album {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
}
.mf-track-list__header-title {
  flex: 1;
}
.mf-track-list__header-album {
  width: 14rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .mf-track-list__header-album {
    display: none;
  }
}
.mf-track-list__header-duration {
  width: 3.5rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.mf-track-list__header-field {
  flex: 1;
  min-width: 0;
  display: flex;
}
.mf-track-list__header-input {
  width: 100%;
  padding: 0.125rem 0.375rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
  background: transparent;
}
.mf-track-list__header-input::placeholder {
  color: var(--srfcs-text-muted, #6b7280);
  opacity: 1;
}
.mf-track-list__header-input:hover {
  border-color: var(--srfcs-border, #e2e2e2);
}
.mf-track-list__header-input:focus {
  outline: none;
  border-color: var(--srfcs-primary, #111);
  box-shadow: 0 0 0 1px var(--srfcs-primary, #111);
  color: var(--srfcs-text, #111);
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  font-size: 0.8125rem;
}
.mf-track-list__header-sort {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  background: none;
  border: none;
  padding: 0.125rem;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  opacity: 0.4;
  transition: opacity 0.15s ease, color 0.15s ease;
  flex-shrink: 0;
}
.mf-track-list__header-sort:hover {
  opacity: 1;
  color: var(--srfcs-text, #111);
}
.mf-track-list__header-sort--active {
  opacity: 1;
  color: var(--srfcs-text, #111);
}
.mf-track-list__header-sort--asc {
  stroke: var(--srfcs-text, #111);
  stroke-width: 3;
}
.mf-track-list__header-sort--desc {
  stroke: var(--srfcs-text, #111);
  stroke-width: 3;
}
.mf-track-list__header-sort svg {
  display: block;
}
.mf-track-list__header-clock {
  margin-right: 0.125rem;
}
.mf-track-list__body {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mf-track-list__empty {
  padding: 2rem 0.75rem;
  text-align: center;
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.875rem;
}
.mf-track-list__row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--srfcs-border-subtle, #f3f4f6);
  transition: background-color 0.1s ease;
}
.mf-track-list__row:hover {
  background-color: var(--srfcs-bg-hover, #f9fafb);
}
.mf-track-list__row:hover .mf-track-list__number {
  display: none;
}
.mf-track-list__row:hover .mf-track-list__play {
  display: flex;
}
.mf-track-list__number {
  width: 2rem;
  text-align: center;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.mf-track-list__play {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2rem;
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--srfcs-text, #111);
  transition: color 0.1s ease;
}
.mf-track-list__play:hover {
  color: var(--srfcs-primary, #111);
}
.mf-track-list__play svg {
  display: block;
}
.mf-track-list__title {
  flex: 1;
  min-width: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--srfcs-text, #111);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mf-track-list__album {
  width: 14rem;
  flex-shrink: 0;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .mf-track-list__album {
    display: none;
  }
}
.mf-track-list__duration {
  width: 3.5rem;
  text-align: right;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}

.mf-release-credits {
  margin-top: 1rem;
}
.mf-album-detail__cover-col .mf-release-credits {
  font-size: 0.8125rem;
}
.mf-release-credits__title {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.mf-album-detail__cover-col .mf-release-credits__title {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-release-credits__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mf-release-credits__item {
  padding: 0.25rem 0;
  font-size: 0.875rem;
}
.mf-album-detail__cover-col .mf-release-credits__item {
  font-size: 0.8125rem;
}
.mf-release-credits__role {
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-medium {
  margin-top: 1.5rem;
}
.mf-medium__title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.mf-medium__format {
  font-weight: 400;
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-section-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.mf-section-header__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--srfcs-text, #111);
  margin: 0;
  white-space: nowrap;
}
.mf-section-header__controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  flex-shrink: 0;
}
.mf-section-header__input {
  width: 12rem;
  padding: 0.3125rem 0.625rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  background: var(--srfcs-bg, #fff);
  color: var(--srfcs-text, #111);
}
.mf-section-header__input::placeholder {
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-section-header__input:focus {
  outline: none;
  border-color: var(--srfcs-primary, #111);
  box-shadow: 0 0 0 1px var(--srfcs-primary, #111);
}
@media (max-width: 639px) {
  .mf-section-header__input {
    width: 8rem;
  }
}
.mf-section-header__sort {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  flex-shrink: 0;
}
.mf-section-header__sort-icon {
  color: var(--srfcs-text-muted, #6b7280);
  flex-shrink: 0;
}
.mf-section-header__select {
  padding: 0.3125rem 1.5rem 0.3125rem 0.5rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  background: var(--srfcs-bg, #fff);
  color: var(--srfcs-text, #111);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.375rem center;
}
.mf-section-header__select:focus {
  outline: none;
  border-color: var(--srfcs-primary, #111);
  box-shadow: 0 0 0 1px var(--srfcs-primary, #111);
}
.mf-section-header__count {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 479px) {
  .mf-section-header__count {
    display: none;
  }
}

.mf-release-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: 1.25rem;
  margin: 1rem 0;
}
.mf-release-grid__item {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--srfcs-text, #111);
  transition: transform 0.15s ease;
}
.mf-release-grid__item:hover {
  transform: translateY(-2px);
}
.mf-release-grid__cover {
  aspect-ratio: 1;
  border-radius: 0.25rem;
  overflow: hidden;
  background-color: var(--srfcs-bg-subtle, #f3f4f6);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.mf-release-grid__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mf-release-grid__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--srfcs-text-muted, #6b7280);
  opacity: 0.2;
  user-select: none;
}
.mf-release-grid__title {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mf-release-grid__year {
  font-weight: 400;
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-release-hero {
  margin: 1.5rem 0;
}
.mf-release-hero__layout {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}
@media (max-width: 40rem) {
  .mf-release-hero__layout {
    flex-direction: column;
    align-items: center;
  }
}
.mf-release-hero__cover {
  flex-shrink: 0;
  margin: 0;
  width: 16rem;
}
@media (max-width: 40rem) {
  .mf-release-hero__cover {
    width: 12rem;
  }
}
.mf-release-hero__image {
  width: 100%;
  border-radius: 0.375rem;
  display: block;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.mf-release-hero__attribution {
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
}
.mf-release-hero__details {
  flex: 1;
  min-width: 0;
}

.mf-album-detail {
  padding-top: 1.5rem;
}
.mf-album-detail__layout {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}
.mf-album-detail__main {
  flex: 1;
  min-width: 0;
}
.mf-album-detail__top {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}
@media (max-width: 40rem) {
  .mf-album-detail__top {
    flex-direction: column;
    align-items: center;
  }
}
.mf-album-detail__layout--song-expanded .mf-album-detail__top {
  flex-direction: column;
}
.mf-album-detail__cover-col {
  flex-shrink: 0;
  width: 14rem;
}
@media (max-width: 40rem) {
  .mf-album-detail__cover-col {
    width: 12rem;
  }
}
.mf-album-detail__tracks-col {
  flex: 1;
  min-width: 0;
}
.mf-album-detail__layout--song-expanded .mf-album-detail__tracks-col {
  width: 100%;
}
.mf-album-detail__cover {
  margin: 0;
}
.mf-album-detail__cover-image {
  width: 100%;
  border-radius: 0.375rem;
  display: block;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.mf-album-detail__attribution {
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
}
.mf-album-detail__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-album-detail__type {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  color: var(--srfcs-text, #111);
}
.mf-album-detail__date, .mf-album-detail__label, .mf-album-detail__catalog {
  font-size: 0.8125rem;
}
.mf-album-detail__description {
  margin: 0.75rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-album-detail__title {
  margin: 0 0 0.75rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.mf-album-nav {
  --_nav-top: calc(var(--srfcs-header-height, 4rem) + 2.25rem + 2.625rem + 2.125rem + 1rem);
  width: 13rem;
  flex-shrink: 0;
  position: sticky;
  top: var(--_nav-top);
  max-height: calc(100vh - var(--_nav-top) - 1rem);
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--srfcs-border, #e2e2e2);
  padding-right: 0.75rem;
  transition: width 0.2s ease;
}
@media (max-width: 767px) {
  .mf-album-nav {
    display: none;
  }
}
@media (max-width: 1200px) {
  .mf-album-detail__layout:has(.mf-song-detail) .mf-album-nav {
    display: none;
  }
}
.mf-album-nav__sticky-header {
  flex-shrink: 0;
  padding-bottom: 0.25rem;
}
.mf-album-nav__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--srfcs-border, #e2e2e2) transparent;
}
.mf-album-nav__scroll::-webkit-scrollbar {
  width: 4px;
}
.mf-album-nav__scroll::-webkit-scrollbar-track {
  background: transparent;
}
.mf-album-nav__scroll::-webkit-scrollbar-thumb {
  background-color: var(--srfcs-border, #e2e2e2);
  border-radius: 2px;
}
.mf-album-nav__group + .mf-album-nav__group {
  margin-top: 0.5rem;
}
.mf-album-nav__group-label {
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--srfcs-text-muted, #6b7280);
  margin: 0 0 0.125rem 0.375rem;
  opacity: 0.7;
}
.mf-album-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  margin-bottom: 0.375rem;
}
.mf-album-nav__heading {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
  margin: 0;
  white-space: nowrap;
}
.mf-album-nav__collapse-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: none;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  padding: 0.125rem;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  transition: all 0.15s ease;
}
.mf-album-nav__collapse-btn:hover {
  border-color: var(--srfcs-border, #e2e2e2);
  color: var(--srfcs-text, #111);
}
.mf-album-nav__type-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.375rem;
  border-bottom: 1px solid var(--srfcs-border-subtle, #f3f4f6);
}
.mf-album-nav__type-chip {
  font-size: 0.5625rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 0.75rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  background: none;
  color: var(--srfcs-text-muted, #6b7280);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.mf-album-nav__type-chip:hover {
  border-color: var(--srfcs-text, #111);
  color: var(--srfcs-text, #111);
}
.mf-album-nav__type-chip--active {
  background-color: var(--srfcs-text, #111);
  border-color: var(--srfcs-text, #111);
  color: #fff;
}
.mf-album-nav__controls {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.375rem;
  border-bottom: 1px solid var(--srfcs-border-subtle, #f3f4f6);
}
.mf-album-nav__filter {
  flex: 1;
  min-width: 0;
}
.mf-album-nav__filter-input {
  width: 100%;
  padding: 0.1875rem 0.375rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  font-size: 0.6875rem;
  color: var(--srfcs-text, #111);
  background: transparent;
}
.mf-album-nav__filter-input::placeholder {
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-album-nav__filter-input:hover {
  border-color: var(--srfcs-border, #e2e2e2);
}
.mf-album-nav__filter-input:focus {
  outline: none;
  border-color: var(--srfcs-primary, #111);
  box-shadow: 0 0 0 1px var(--srfcs-primary, #111);
}
.mf-album-nav__sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  background: none;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  padding: 0.1875rem 0.25rem;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.mf-album-nav__sort-btn:hover {
  border-color: var(--srfcs-border, #e2e2e2);
  color: var(--srfcs-text, #111);
}
.mf-album-nav__sort-btn svg {
  display: block;
}
.mf-album-nav__sort-label {
  font-size: 0.5625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}
.mf-album-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.mf-album-nav__list li + li {
  border-top: 1px solid var(--srfcs-border-subtle, #f0f0f0);
}
.mf-album-nav__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3125rem 0.375rem;
  border-radius: 0.25rem;
  text-decoration: none;
  color: var(--srfcs-text, #111);
  transition: background-color 0.15s ease;
}
.mf-album-nav__item:hover {
  background-color: var(--srfcs-bg-hover, #f9fafb);
}
.mf-album-nav__item--active {
  background-color: var(--srfcs-bg-hover, #f3f4f6);
  border-right: 3px solid var(--srfcs-text, #111);
  margin-right: calc(-0.75rem - 1px);
  padding-right: calc(1.125rem - 2px);
}
.mf-album-nav__cover {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border-radius: 0.125rem;
  overflow: hidden;
  background-color: var(--srfcs-bg-subtle, #f3f4f6);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.mf-album-nav__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mf-album-nav__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--srfcs-text-muted, #6b7280);
  opacity: 0.25;
  user-select: none;
}
.mf-album-nav__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.mf-album-nav__title {
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mf-album-nav__year {
  font-size: 0.625rem;
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-album-nav.mf-album-nav--collapsed {
  width: 5.5rem;
  padding-right: 0.375rem;
}
.mf-album-nav.mf-album-nav--collapsed .mf-album-nav__header {
  margin-bottom: 0.25rem;
}
.mf-album-nav.mf-album-nav--collapsed .mf-album-nav__group + .mf-album-nav__group {
  margin-top: 0.25rem;
}
.mf-album-nav.mf-album-nav--collapsed .mf-album-nav__list li + li {
  border-top-color: transparent;
}
.mf-album-nav.mf-album-nav--collapsed .mf-album-nav__item {
  justify-content: center;
  padding: 0.25rem;
  gap: 0;
}
.mf-album-nav.mf-album-nav--collapsed .mf-album-nav__cover {
  width: 2.75rem;
  height: 2.75rem;
}
.mf-album-nav.mf-album-nav--collapsed .mf-album-nav__item--active {
  padding-right: calc(0.625rem - 2px);
  margin-right: calc(-0.375rem - 1px);
}

.mf-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  background-color: var(--srfcs-bg-subtle, #f3f4f6);
  color: var(--srfcs-text-muted, #6b7280);
  margin-left: 0.25rem;
}

.mf-form-upload {
  margin-top: 0.5rem;
}
.mf-form-upload__current {
  margin-bottom: 0.75rem;
}
.mf-form-upload__preview-img {
  max-width: 150px;
  max-height: 150px;
  border-radius: 0.5rem;
  object-fit: cover;
  border: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-form-upload__entry {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
  padding: 0.5rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.5rem;
  background: var(--srfcs-bg-subtle, #f9fafb);
}
.mf-form-upload__entry-info {
  flex: 1;
  min-width: 0;
}
.mf-form-upload__progress {
  width: 100%;
  height: 0.375rem;
  margin-top: 0.25rem;
  appearance: none;
  border: none;
  border-radius: 9999px;
  background: var(--srfcs-bg-subtle, #e5e7eb);
}
.mf-form-upload__progress::-webkit-progress-bar {
  background: var(--srfcs-bg-subtle, #e5e7eb);
  border-radius: 9999px;
}
.mf-form-upload__progress::-webkit-progress-value {
  background: var(--srfcs-primary, #3b82f6);
  border-radius: 9999px;
}
.mf-form-upload__progress::-moz-progress-bar {
  background: var(--srfcs-primary, #3b82f6);
  border-radius: 9999px;
}
.mf-form-upload__cancel {
  font-size: 0.75rem;
  color: var(--srfcs-danger, #dc2626);
  background: none;
  border: none;
  cursor: pointer;
}
.mf-form-upload__cancel:hover {
  text-decoration: underline;
}
.mf-form-upload__error {
  font-size: 0.75rem;
  color: var(--srfcs-danger, #dc2626);
}

.mf-genre-select__trigger--active {
  background-color: var(--srfcs-text, #111);
  border-color: var(--srfcs-text, #111);
  color: #fff;
}
.mf-genre-select__trigger--active:hover {
  background-color: var(--srfcs-text, #111);
  border-color: var(--srfcs-text, #111);
  color: #fff;
}
.mf-genre-select__clear {
  display: inline-flex;
  align-items: center;
  margin-left: var(--srfcs-space-1, 0.25rem);
  padding: 0;
  background: none;
  border: none;
  color: inherit;
  font-size: var(--srfcs-text-sm, 0.875rem);
  cursor: pointer;
  opacity: 0.7;
}
.mf-genre-select__clear:hover {
  opacity: 1;
}
.mf-genre-select__menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  min-width: 14rem;
  padding: 0;
  overflow: hidden;
}
.mf-genre-select__search {
  padding: var(--srfcs-space-2, 0.5rem);
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-genre-select__search-input {
  width: 100%;
  padding: var(--srfcs-space-2, 0.5rem) var(--srfcs-space-3, 0.75rem);
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: var(--srfcs-radius-md, 0.375rem);
  font-size: var(--srfcs-text-sm, 0.875rem);
  color: var(--srfcs-text, #111);
  background: transparent;
  outline: none;
}
.mf-genre-select__search-input:focus {
  border-color: var(--srfcs-primary, #3b82f6);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.mf-genre-select__list {
  max-height: 16rem;
  overflow-y: auto;
  padding: var(--srfcs-space-1, 0.25rem);
}
.mf-genre-select__item--selected {
  color: var(--srfcs-text, #111);
  font-weight: var(--srfcs-font-medium, 500);
  background-color: var(--srfcs-bg-hover, #f3f4f6);
}
.mf-genre-select__empty {
  padding: var(--srfcs-space-3, 0.75rem);
  font-size: var(--srfcs-text-sm, 0.875rem);
  color: var(--srfcs-text-muted, #6b7280);
  text-align: center;
}

.mf-artist-hero--compact .mf-artist-hero__bg {
  height: 14rem;
}
@media (min-width: 768px) {
  .mf-artist-hero--compact .mf-artist-hero__bg {
    height: 18rem;
  }
}

.mf-media-page {
  margin-top: var(--srfcs-space-6, 1.5rem);
}
.mf-media-page__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 var(--srfcs-space-6, 1.5rem);
}
.mf-media-page__header {
  margin-bottom: var(--srfcs-space-6, 1.5rem);
}
.mf-media-page__back {
  font-size: 0.875rem;
  color: var(--srfcs-link, #3b82f6);
  text-decoration: none;
  display: inline-block;
  margin-bottom: var(--srfcs-space-2, 0.5rem);
}
.mf-media-page__back:hover {
  text-decoration: underline;
}
.mf-media-page__count {
  font-size: 0.875rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin: var(--srfcs-space-1, 0.25rem) 0 0;
}
.mf-media-page__galleries {
  display: flex;
  flex-direction: column;
  gap: var(--srfcs-space-8, 2rem);
}
.mf-media-page__gallery-section {
  padding-bottom: var(--srfcs-space-6, 1.5rem);
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-media-page__gallery-section:last-child {
  border-bottom: none;
}
.mf-media-page__thumb-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .mf-media-page__thumb-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.mf-media-page__thumb-item {
  cursor: pointer;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  display: block;
}
.mf-media-page__thumb-frame {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  background: #1a1a2e;
  border-radius: 2px;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}
.mf-media-page__thumb-item:hover .mf-media-page__thumb-frame {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transform: translateY(-2px);
}
.mf-media-page__thumb-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mf-media-page__thumb-play {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.15);
  transition: background 0.2s ease;
}
.mf-media-page__thumb-play svg {
  width: 48px;
  height: 34px;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
  transition: transform 0.2s ease;
}
.mf-media-page__thumb-item:hover .mf-media-page__thumb-play {
  background: rgba(0, 0, 0, 0.3);
}
.mf-media-page__thumb-item:hover .mf-media-page__thumb-play svg {
  transform: scale(1.1);
}
.mf-media-page__thumb-title {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #999);
  margin: 0.25rem 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mf-media-page__gallery-header {
  margin-bottom: var(--srfcs-space-3, 0.75rem);
}
.mf-media-page__gallery-link {
  text-decoration: none;
  color: var(--srfcs-text, #111);
  display: flex;
  align-items: baseline;
  gap: var(--srfcs-space-2, 0.5rem);
}
.mf-media-page__gallery-link h3 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}
.mf-media-page__gallery-link:hover h3 {
  color: var(--srfcs-link, #3b82f6);
}
.mf-media-page__gallery-count {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-media-page__see-all {
  display: inline-block;
  margin-top: var(--srfcs-space-3, 0.75rem);
  font-size: 0.875rem;
  color: var(--srfcs-link, #3b82f6);
  text-decoration: none;
}
.mf-media-page__see-all:hover {
  text-decoration: underline;
}
.mf-media-page__player-layout {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .mf-media-page__player-layout {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .mf-media-page__player-layout--full .mf-media-page__player-main {
    flex: 0 0 100%;
  }
  .mf-media-page__player-layout--full .mf-media-page__playlist {
    width: auto;
    flex: 2;
    min-width: 0;
    max-height: 28rem;
  }
  .mf-media-page__player-layout--full .mf-media-page__other-galleries {
    flex: 1;
    min-width: 0;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    flex-basis: auto;
  }
  .mf-media-page__player-layout--full .mf-media-page__other-galleries-row {
    flex-direction: column;
    gap: 0.75rem;
  }
  .mf-media-page__player-layout--full .mf-media-page__other-gallery-card {
    width: 100%;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
  }
  .mf-media-page__player-layout--full .mf-media-page__other-gallery-thumb {
    flex: 0 0 7rem;
    width: 7rem;
  }
  .mf-media-page__player-layout--full .mf-media-page__other-gallery-name {
    margin-top: 0;
  }
}
.mf-media-page__player-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.375rem;
}
.mf-media-page__width-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: var(--srfcs-bg-muted, #f3f4f6);
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 4px;
  color: var(--srfcs-text-muted, #6b7280);
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}
.mf-media-page__width-toggle:hover {
  color: var(--srfcs-text, #111);
  background: var(--srfcs-bg-hover, #e5e7eb);
}
.mf-media-page__player-main {
  flex: 1;
  min-width: 0;
}
.mf-media-page__video-hero {
  display: block;
  text-decoration: none;
  color: inherit;
}
.mf-media-page__video-hero-frame {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  background: #000;
  border-radius: 2px;
}
.mf-media-page__video-hero-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mf-media-page__video-hero-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.mf-media-page__video-hero-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 48px;
  opacity: 0.85;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.mf-media-page__video-hero:hover .mf-media-page__video-hero-play {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
}
.mf-media-page__video-hero-play svg {
  width: 100%;
  height: 100%;
}
.mf-media-page__playlist {
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.5rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .mf-media-page__playlist {
    width: 22rem;
    flex-shrink: 0;
  }
}
.mf-media-page__playlist-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: var(--srfcs-bg-subtle, #f9fafb);
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-media-page__playlist-label {
  font-size: 0.875rem;
  font-weight: 600;
}
.mf-media-page__playlist-count {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-media-page__playlist-items {
  max-height: 32rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--srfcs-border, #e2e2e2) transparent;
}
.mf-media-page__playlist-items::-webkit-scrollbar {
  width: 4px;
}
.mf-media-page__playlist-items::-webkit-scrollbar-track {
  background: transparent;
}
.mf-media-page__playlist-items::-webkit-scrollbar-thumb {
  background-color: var(--srfcs-border, #e2e2e2);
  border-radius: 2px;
}
.mf-media-page__playlist-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: none;
  border: none;
  border-bottom: 1px solid var(--srfcs-border-subtle, #f0f0f0);
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: var(--srfcs-text, #111);
  transition: background-color 0.1s ease;
}
.mf-media-page__playlist-item:hover {
  background-color: var(--srfcs-bg-hover, #f5f6f8);
}
.mf-media-page__playlist-item:last-child {
  border-bottom: none;
}
.mf-media-page__playlist-item--active {
  background-color: var(--srfcs-bg-active, #eef2ff);
  border-left: 3px solid var(--srfcs-primary, #4f46e5);
}
.mf-media-page__playlist-num {
  font-size: 0.6875rem;
  color: var(--srfcs-text-muted, #9ca3af);
  width: 1.25rem;
  text-align: center;
  flex-shrink: 0;
}
.mf-media-page__playlist-thumb {
  position: relative;
  width: 7rem;
  height: 0;
  padding-bottom: 3.9375rem;
  flex-shrink: 0;
  border-radius: 0.25rem;
  overflow: hidden;
  background: #1a1a2e;
}
.mf-media-page__playlist-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mf-media-page__playlist-thumb-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.85);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.mf-media-page__playlist-item:hover .mf-media-page__playlist-thumb-play {
  opacity: 1;
}
.mf-media-page__playlist-item--active .mf-media-page__playlist-thumb-play {
  opacity: 1;
}
.mf-media-page__playlist-info {
  flex: 1;
  min-width: 0;
}
.mf-media-page__playlist-item-title {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mf-media-page__playlist-item-date {
  display: block;
  font-size: 0.6875rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin-top: 0.125rem;
}
.mf-media-page__playlist-item-credit {
  display: block;
  font-size: 0.6875rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin-top: 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mf-media-page__video-details {
  margin-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-media-page__video-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  line-height: 1.3;
}
.mf-media-page__video-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin-bottom: 0.75rem;
}
.mf-media-page__video-date {
  white-space: nowrap;
}
.mf-media-page__video-credit::before {
  content: "·";
  margin-right: 0.75rem;
}
.mf-media-page__video-description {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--srfcs-text, #111);
  margin: 0 0 0.5rem;
}
.mf-media-page__video-caption {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--srfcs-text-muted, #6b7280);
  margin: 0 0 0.5rem;
  font-style: italic;
}
.mf-media-page__video-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.75rem;
}
.mf-media-page__video-tag {
  display: inline-block;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  background: var(--srfcs-bg-subtle, #f3f4f6);
  padding: 0.125rem 0.5rem;
  border-radius: 1rem;
  border: 1px solid var(--srfcs-border-subtle, #e8e8e8);
}
.mf-media-page__video-source {
  display: inline-block;
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  color: var(--srfcs-link, #3b82f6);
  text-decoration: none;
}
.mf-media-page__video-source:hover {
  text-decoration: underline;
}
.mf-media-page__other-galleries {
  flex-basis: 100%;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-media-page__other-galleries-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 1rem;
}
.mf-media-page__other-galleries-row {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  -ms-overflow-style: none;
  scrollbar-width: thin;
}
.mf-media-page__other-gallery-card {
  flex: 0 0 auto;
  width: 11rem;
  text-decoration: none;
  color: inherit;
}
.mf-media-page__other-gallery-card:hover .mf-media-page__other-gallery-thumb img {
  transform: scale(1.05);
}
.mf-media-page__other-gallery-thumb {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  background: #000;
  border-radius: 2px;
}
.mf-media-page__other-gallery-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}
.mf-media-page__other-gallery-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.25rem 0.5rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
}
.mf-media-page__other-gallery-count {
  font-size: 0.6875rem;
  color: #fff;
  font-weight: 500;
}
.mf-media-page__other-gallery-name {
  margin: 0.375rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mf-info-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.375rem;
  color: var(--srfcs-text-muted, #6b7280);
  cursor: help;
  vertical-align: middle;
}
.mf-info-tip:hover {
  color: var(--srfcs-text, #111);
}
.mf-info-tip::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.5rem);
  transform: translateX(-50%);
  background: var(--srfcs-text, #1f2937);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.4;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  width: max-content;
  max-width: 18rem;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.mf-info-tip:hover::after {
  opacity: 1;
}

.mf-tours__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.mf-tours__title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}
.mf-tours__view-toggle {
  display: flex;
  gap: 0.25rem;
  background: var(--srfcs-bg-subtle, #f3f4f6);
  border-radius: 0.375rem;
  padding: 0.125rem;
}
.mf-tours__view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: none;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  transition: all 0.15s ease;
}
.mf-tours__view-btn:hover {
  color: var(--srfcs-text, #111);
}
.mf-tours__view-btn--active {
  background: #fff;
  color: var(--srfcs-text, #111);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.mf-tours__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: 1rem;
}
.mf-tours__list-group {
  margin-bottom: 1.5rem;
}

.mf-tour-card {
  display: flex;
  flex-direction: column;
  background: var(--srfcs-bg-subtle, #f9fafb);
  border: 1px solid var(--srfcs-border-subtle, #e8e8e8);
  border-radius: 0.5rem;
  overflow: hidden;
  text-decoration: none;
  color: var(--srfcs-text, #111);
  transition: all 0.15s ease;
}
.mf-tour-card:hover {
  border-color: var(--srfcs-border, #d1d5db);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.mf-tour-card--current {
  border-color: var(--srfcs-primary, #4f46e5);
}
.mf-tour-card__poster {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--srfcs-bg-hover, #f0f0f0);
}
.mf-tour-card__poster-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mf-tour-card__poster-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--srfcs-text-muted, #9ca3af);
  background: linear-gradient(135deg, #e5e7eb 0%, #f3f4f6 100%);
}
.mf-tour-card__badge {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff;
  background: var(--srfcs-primary, #4f46e5);
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
  z-index: 1;
}
.mf-tour-card__body {
  padding: 0.75rem;
  flex: 1;
}
.mf-tour-card__name {
  font-size: 0.8125rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
  line-height: 1.3;
}
.mf-tour-card__dates {
  font-size: 0.6875rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-tour-card__footer {
  padding: 0.5rem 0.75rem;
  border-top: 1px solid var(--srfcs-border-subtle, #e8e8e8);
}
.mf-tour-card__shows {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-tours__timeline {
  overflow-x: auto;
}

.mf-tour-timeline__years {
  position: relative;
  height: 1.5rem;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
  margin-bottom: 0.25rem;
}
.mf-tour-timeline__year {
  position: absolute;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--srfcs-text-muted, #6b7280);
  transform: translateX(-50%);
  white-space: nowrap;
}
.mf-tour-timeline__year::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1px;
  height: 0.375rem;
  background: var(--srfcs-border, #e2e2e2);
}
.mf-tour-timeline__rows {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.mf-tour-timeline__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: 1.75rem;
}
.mf-tour-timeline__label {
  width: 16rem;
  flex-shrink: 0;
  font-size: 0.75rem;
  color: var(--srfcs-text, #111);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mf-tour-timeline__track {
  flex: 1;
  position: relative;
  height: 100%;
  min-width: 30rem;
}
.mf-tour-timeline__bar {
  position: absolute;
  top: 0.125rem;
  height: calc(100% - 0.25rem);
  background: var(--srfcs-text-muted, #9ca3af);
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  transition: filter 0.15s ease;
  min-width: 1.5rem;
}
.mf-tour-timeline__bar:hover {
  filter: brightness(0.85);
}
.mf-tour-timeline__bar--current {
  background: var(--srfcs-primary, #4f46e5);
}
.mf-tour-timeline__bar-count {
  font-size: 0.625rem;
  font-weight: 700;
  white-space: nowrap;
  padding: 0 0.25rem;
}

.mf-tour-page {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.mf-tour-page__main {
  flex: 1;
  min-width: 0;
}
.mf-tour-page__dates {
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-tour-section {
  margin-top: 1.5rem;
}
.mf-tour-section__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.75rem;
}
.mf-tour-section__description {
  color: var(--srfcs-text-muted, #6b7280);
  line-height: 1.6;
  margin: 0;
}
.mf-tour-section__artists {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.mf-tour-section__artist {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
}
.mf-tour-section__artist-link {
  font-weight: 500;
  color: var(--srfcs-text, #111);
  text-decoration: none;
}
.mf-tour-section__artist-link:hover {
  text-decoration: underline;
}
.mf-tour-section__artist-role {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-tour-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.mf-tour-section__leg-controls {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.mf-tour-section__leg-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  padding: 0;
}
.mf-tour-section__leg-toggle:hover {
  color: var(--srfcs-text, #111);
}
.mf-tour-section__leg-divider {
  color: var(--srfcs-border, #e2e2e2);
  font-size: 0.75rem;
}
.mf-tour-section__empty {
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.875rem;
}
.mf-tour-section__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.mf-tour-section__links a {
  color: var(--srfcs-text, #111);
  text-decoration: none;
  font-size: 0.875rem;
}
.mf-tour-section__links a:hover {
  text-decoration: underline;
}

.mf-tour-shows {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.mf-tour-shows__thead {
  position: sticky;
  top: calc(var(--srfcs-header-height, 4rem) + 0.5rem);
  z-index: 2;
  background: #fff;
}
.mf-tour-shows__th {
  text-align: left;
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid var(--srfcs-border, #e2e2e2);
}
.mf-tour-shows__leg-row:hover .mf-tour-shows__leg-cell {
  background-color: var(--srfcs-bg-hover, #edf0f3);
}
.mf-tour-shows__leg-cell {
  padding: 0;
  background: var(--srfcs-bg-subtle, #f5f6f8);
  border-top: 1px solid var(--srfcs-border, #e2e2e2);
  transition: background-color 0.1s ease;
}
.mf-tour-shows__row {
  border-bottom: 1px solid var(--srfcs-border-subtle, #f0f0f0);
  transition: background-color 0.1s ease;
}
.mf-tour-shows__row:hover {
  background-color: var(--srfcs-bg-hover, #f9fafb);
}
.mf-tour-shows__date, .mf-tour-shows__location, .mf-tour-shows__venue {
  padding: 0.5rem 0.75rem;
}
.mf-tour-shows__date {
  white-space: nowrap;
  color: var(--srfcs-text, #111);
}
.mf-tour-shows__location a {
  color: var(--srfcs-text, #111);
  text-decoration: none;
}
.mf-tour-shows__location a:hover {
  text-decoration: underline;
}
.mf-tour-shows__venue {
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-tour-shows__row--selected {
  background-color: var(--srfcs-bg-active, #eef2ff);
}
.mf-tour-shows__row--selected:hover {
  background-color: var(--srfcs-bg-active, #eef2ff);
}
.mf-tour-shows__detail-row {
  background-color: var(--srfcs-bg-subtle, #f9fafb);
}
.mf-tour-shows__detail {
  padding: 0;
}

.mf-show-panel {
  width: 22rem;
  flex-shrink: 0;
  position: sticky;
  top: calc(var(--srfcs-header-height, 4rem) + 1rem);
  max-height: calc(100vh - var(--srfcs-header-height, 4rem) - 2rem);
  overflow-y: auto;
  border-left: 1px solid var(--srfcs-border, #e2e2e2);
  padding-left: 1.25rem;
  scrollbar-width: thin;
  scrollbar-color: var(--srfcs-border, #e2e2e2) transparent;
}
.mf-show-panel::-webkit-scrollbar {
  width: 4px;
}
.mf-show-panel::-webkit-scrollbar-track {
  background: transparent;
}
.mf-show-panel::-webkit-scrollbar-thumb {
  background-color: var(--srfcs-border, #e2e2e2);
  border-radius: 2px;
}
@media (max-width: 1024px) {
  .mf-show-panel {
    display: none;
  }
}
.mf-show-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.mf-show-panel__header-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
.mf-show-panel__title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
}
.mf-show-panel__date {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-show-panel__venue {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-show-panel__close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  padding: 0.25rem;
  border-radius: 0.25rem;
  flex-shrink: 0;
}
.mf-show-panel__close:hover {
  color: var(--srfcs-text, #111);
  background: var(--srfcs-bg-hover, #f5f6f8);
}
.mf-show-panel__meta {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.mf-show-panel__type, .mf-show-panel__status {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
  background: var(--srfcs-bg-hover, #f0f0f0);
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
}
.mf-show-panel__artists {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
}
.mf-show-panel__artist-role {
  font-size: 0.6875rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin-left: 0.25rem;
}
.mf-show-panel__no-setlist {
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.875rem;
  font-style: italic;
  margin: 1rem 0 0;
}
.mf-show-panel__footer {
  margin-top: 1.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--srfcs-border-subtle, #e8e8e8);
}
.mf-show-panel__full-link {
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  text-decoration: none;
}
.mf-show-panel__full-link:hover {
  color: var(--srfcs-text, #111);
  text-decoration: underline;
}

.mf-show-setlist__heading {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
  margin: 0 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mf-show-setlist__count {
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
}
.mf-show-setlist__set {
  margin-bottom: 1rem;
}
.mf-show-setlist__set:last-child {
  margin-bottom: 0;
}
.mf-show-setlist__set-title {
  font-size: 0.8125rem;
  font-weight: 600;
  margin: 0 0 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mf-show-setlist__encore-badge {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-primary, #4f46e5);
  background: rgba(79, 70, 229, 0.1);
  padding: 0.0625rem 0.375rem;
  border-radius: 0.25rem;
}
.mf-show-setlist__entries {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mf-show-setlist__entry {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.25rem;
  border-bottom: 1px solid var(--srfcs-border-subtle, #f0f0f0);
  transition: background-color 0.1s ease;
}
.mf-show-setlist__entry:hover {
  background-color: rgba(0, 0, 0, 0.02);
}
.mf-show-setlist__entry:hover .mf-show-setlist__num {
  display: none;
}
.mf-show-setlist__entry:hover .mf-show-setlist__play {
  display: flex;
}
.mf-show-setlist__num {
  width: 1.75rem;
  text-align: center;
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.mf-show-setlist__play {
  display: none;
  width: 1.75rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--srfcs-text, #111);
}
.mf-show-setlist__play:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.mf-show-setlist__play svg {
  display: block;
}
.mf-show-setlist__song {
  flex: 1;
  font-size: 0.8125rem;
  min-width: 0;
}
.mf-show-setlist__cover, .mf-show-setlist__guest {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  margin-left: 0.25rem;
}
.mf-show-setlist__tag {
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
  background: var(--srfcs-bg-hover, #f0f0f0);
  padding: 0.0625rem 0.375rem;
  border-radius: 0.25rem;
  white-space: nowrap;
}
.mf-show-setlist__tag--debut {
  color: var(--srfcs-primary, #4f46e5);
  background: rgba(79, 70, 229, 0.1);
}
.mf-show-setlist__transition {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #9ca3af);
  font-style: italic;
}
.mf-show-setlist__notes {
  margin: 0.75rem 0 0;
  font-size: 0.8125rem;
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
  padding-left: 2.125rem;
}

.mf-tour-leg__header-inner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0.75rem;
}
.mf-tour-leg__header-inner--expanded .mf-tour-leg__chevron {
  transform: rotate(90deg);
}
.mf-tour-leg__chevron {
  flex-shrink: 0;
  transition: transform 0.15s ease;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-tour-leg__name {
  font-weight: 600;
  font-size: 0.875rem;
  flex: 1;
  min-width: 0;
}
.mf-tour-leg__meta {
  font-size: 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
  white-space: nowrap;
}
.mf-tour-leg__count {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--srfcs-text-muted, #6b7280);
  white-space: nowrap;
  background: var(--srfcs-bg-hover, #e8e8e8);
  padding: 0.125rem 0.5rem;
  border-radius: 1rem;
}

.mf-tour-nav {
  width: 13rem;
  flex-shrink: 0;
  position: sticky;
  top: calc(var(--srfcs-header-height, 4rem) + 1rem);
  max-height: calc(100vh - var(--srfcs-header-height, 4rem) - 2rem);
  overflow-y: auto;
  border-right: 1px solid var(--srfcs-border, #e2e2e2);
  padding-right: 0.75rem;
  scrollbar-width: thin;
  scrollbar-color: var(--srfcs-border, #e2e2e2) transparent;
}
.mf-tour-nav::-webkit-scrollbar {
  width: 4px;
}
.mf-tour-nav::-webkit-scrollbar-track {
  background: transparent;
}
.mf-tour-nav::-webkit-scrollbar-thumb {
  background-color: var(--srfcs-border, #e2e2e2);
  border-radius: 2px;
}
@media (max-width: 767px) {
  .mf-tour-nav {
    display: none;
  }
}
.mf-tour-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  margin-bottom: 0.375rem;
}
.mf-tour-nav__heading {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-text-muted, #6b7280);
  margin: 0;
}
.mf-tour-nav__collapse-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  padding: 0.125rem;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mf-tour-nav__collapse-btn:hover {
  color: var(--srfcs-text, #111);
  background: var(--srfcs-bg-hover, #f5f6f8);
}
.mf-tour-nav__controls {
  display: flex;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}
.mf-tour-nav__filter {
  flex: 1;
  min-width: 0;
}
.mf-tour-nav__filter-input {
  width: 100%;
  padding: 0.25rem 0.375rem;
  font-size: 0.6875rem;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.25rem;
  outline: none;
  background: transparent;
}
.mf-tour-nav__filter-input:focus {
  border-color: var(--srfcs-primary, #4f46e5);
}
.mf-tour-nav__filter-input::placeholder {
  color: var(--srfcs-text-muted, #9ca3af);
}
.mf-tour-nav__sort-btn {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  background: none;
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 0.25rem;
  padding: 0.25rem 0.375rem;
  cursor: pointer;
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.6875rem;
  white-space: nowrap;
}
.mf-tour-nav__sort-btn:hover {
  border-color: var(--srfcs-text-muted, #6b7280);
  color: var(--srfcs-text, #111);
}
.mf-tour-nav__sort-label {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 500;
  font-size: 0.5625rem;
}
.mf-tour-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mf-tour-nav__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.25rem;
  border-radius: 0.25rem;
  text-decoration: none;
  color: var(--srfcs-text, #111);
  transition: background-color 0.1s ease;
}
.mf-tour-nav__item:hover {
  background-color: var(--srfcs-bg-hover, #f5f6f8);
}
.mf-tour-nav__item--active {
  background-color: var(--srfcs-bg-active, #eef2ff);
  border-left: 3px solid var(--srfcs-primary, #4f46e5);
  padding-left: calc(0.25rem - 3px);
}
.mf-tour-nav__thumb {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border-radius: 0.25rem;
  overflow: hidden;
  background: var(--srfcs-bg-hover, #f0f0f0);
}
.mf-tour-nav__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mf-tour-nav__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--srfcs-text-muted, #9ca3af);
  background: linear-gradient(135deg, #e5e7eb, #f3f4f6);
}
.mf-tour-nav__info {
  min-width: 0;
  flex: 1;
}
.mf-tour-nav__title {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mf-tour-nav__year {
  display: block;
  font-size: 0.625rem;
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-tour-nav.mf-tour-nav--collapsed {
  width: 4.5rem;
  padding-right: 0.375rem;
}
.mf-tour-nav.mf-tour-nav--collapsed .mf-tour-nav__item {
  justify-content: center;
  padding: 0.25rem;
}
.mf-tour-nav.mf-tour-nav--collapsed .mf-tour-nav__thumb {
  width: 2.75rem;
  height: 2.75rem;
}
.mf-tour-nav.mf-tour-nav--collapsed .mf-tour-nav__item--active {
  padding-left: calc(0.25rem - 3px);
}

.srfcs-admin-bar {
  background: var(--srfcs-color-warning-bg, #fef3c7);
  border-bottom: 2px solid var(--srfcs-color-warning, #f59e0b);
  padding: 0.2rem 1.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--srfcs-color-warning-text, #92400e);
}

.mf-admin__top {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.mf-admin__top h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
.mf-admin__artist-count {
  font-size: 0.8rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-admin__coverage-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
  margin-bottom: 1.5rem;
}
.mf-admin__coverage-table th,
.mf-admin__coverage-table td {
  padding: 0.375rem 0.5rem;
  text-align: left;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-admin__coverage-table th {
  font-weight: 600;
  font-size: 0.7rem;
  color: var(--srfcs-text-muted, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.mf-admin__coverage-table tbody tr:hover {
  background: var(--srfcs-bg-hover, #f9fafb);
}
.mf-admin__th-num, .mf-admin__td-num {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}
.mf-admin__th-bar {
  width: 30%;
  min-width: 120px;
}
.mf-admin__td-bar {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}
.mf-admin__td-records {
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.75rem;
}
.mf-admin__td-action {
  font-size: 0.75rem;
}
.mf-admin__dim-label {
  font-weight: 500;
}
.mf-admin__td-fraction {
  white-space: nowrap;
}
.mf-admin__td-of {
  color: var(--srfcs-text-muted, #9ca3af);
  font-size: 0.7rem;
}
.mf-admin__td-depth {
  font-size: 0.75rem;
  white-space: nowrap;
}
.mf-admin__depth-label {
  color: var(--srfcs-text-muted, #6b7280);
  font-size: 0.65rem;
  margin-left: 0.125rem;
}
.mf-admin__td-muted {
  color: var(--srfcs-text-muted, #d1d5db);
}
.mf-admin__bar {
  height: 6px;
  background: var(--srfcs-border, #e5e7eb);
  border-radius: 3px;
  overflow: hidden;
}
.mf-admin__bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.3s ease;
}
.mf-admin__bar-fill--good {
  background: #10b981;
}
.mf-admin__bar-fill--partial {
  background: #f59e0b;
}
.mf-admin__bar-fill--low {
  background: #ef4444;
}
.mf-admin__gap-link {
  color: var(--srfcs-color-primary, #2563eb);
  text-decoration: none;
  white-space: nowrap;
}
.mf-admin__gap-link:hover {
  text-decoration: underline;
}
.mf-admin__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  font-size: 0.8rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-admin__links a {
  color: var(--srfcs-color-primary, #2563eb);
  text-decoration: none;
}
.mf-admin__links a:hover {
  text-decoration: underline;
}

.mf-ingestion__top {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-bottom: 0.75rem;
}
.mf-ingestion__top h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
.mf-ingestion__count {
  font-size: 0.8rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-ingestion__coverage {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  margin-left: auto;
}
.mf-ingestion__cov-pill {
  font-size: 0.7rem;
  color: var(--srfcs-text-muted, #6b7280);
  white-space: nowrap;
}
.mf-ingestion__cov-pill strong {
  color: var(--srfcs-text, #111827);
  margin-left: 0.125rem;
}
.mf-ingestion__cov-depth {
  font-size: 0.6rem;
  color: var(--srfcs-text-muted, #9ca3af);
}
.mf-ingestion__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  align-items: center;
}
.mf-ingestion__search {
  flex: 1;
  min-width: 180px;
  max-width: 280px;
}
.mf-ingestion__table-wrap {
  overflow-x: auto;
}
.mf-ingestion__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.mf-ingestion__table th,
.mf-ingestion__table td {
  padding: 0.3rem 0.5rem;
  text-align: left;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}
.mf-ingestion__table th {
  font-weight: 600;
  font-size: 0.7rem;
  color: var(--srfcs-text-muted, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.mf-ingestion__table tbody tr:hover {
  background: var(--srfcs-bg-hover, #f9fafb);
}
.mf-ingestion__th-num, .mf-ingestion__td-num {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
  min-width: 40px;
}
.mf-ingestion__th-center, .mf-ingestion__td-center {
  text-align: center !important;
}
.mf-ingestion__th-score, .mf-ingestion__td-score {
  text-align: center !important;
  width: 50px;
}
.mf-ingestion__score {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.0625rem 0.375rem;
  border-radius: 4px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.mf-ingestion__score--good {
  background: #d1fae5;
  color: #065f46;
}
.mf-ingestion__score--partial {
  background: #fef3c7;
  color: #92400e;
}
.mf-ingestion__score--low {
  background: #fee2e2;
  color: #991b1b;
}
.mf-ingestion__td-zero {
  color: var(--srfcs-text-muted, #d1d5db);
}
.mf-ingestion__artist-link {
  color: var(--srfcs-color-primary, #2563eb);
  text-decoration: none;
  font-weight: 500;
}
.mf-ingestion__artist-link:hover {
  text-decoration: underline;
}
.mf-ingestion__authority {
  font-size: 0.65rem;
  font-weight: 500;
  padding: 0.0625rem 0.375rem;
  border-radius: 9999px;
  white-space: nowrap;
}
.mf-ingestion__authority--fan_contributed {
  background: #dbeafe;
  color: #1e40af;
}
.mf-ingestion__authority--artist_verified {
  background: #d1fae5;
  color: #065f46;
}
.mf-ingestion__authority--artist_authored {
  background: #ede9fe;
  color: #5b21b6;
}
.mf-ingestion__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
  padding: 0.75rem 0;
  font-size: 0.8rem;
}
.mf-ingestion__page-link {
  color: var(--srfcs-color-primary, #2563eb);
  text-decoration: none;
  font-weight: 500;
}
.mf-ingestion__page-link:hover {
  text-decoration: underline;
}
.mf-ingestion__page-info {
  color: var(--srfcs-text-muted, #6b7280);
}

.mf-ingestion-show__header {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.mf-ingestion-show__header h1 {
  margin: 0;
  font-size: 1.125rem;
}
.mf-ingestion-show__view-link {
  margin-left: auto;
  font-size: 0.8rem;
  color: var(--srfcs-color-primary, #2563eb);
  text-decoration: none;
}
.mf-ingestion-show__view-link:hover {
  text-decoration: underline;
}
.mf-ingestion-show__meta {
  margin-bottom: 1.5rem;
}
.mf-ingestion-show__meta dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.125rem 0.75rem;
  font-size: 0.8rem;
}
.mf-ingestion-show__meta dt {
  font-weight: 600;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-ingestion-show__meta dd {
  margin: 0;
}
.mf-ingestion-show h2 {
  font-size: 0.9rem;
  font-weight: 600;
  margin: 1.25rem 0 0.5rem;
}
.mf-ingestion-show__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.mf-ingestion-show__dimension {
  border: 1px solid var(--srfcs-border, #e2e2e2);
  border-radius: 6px;
  padding: 0.5rem;
  text-align: center;
}
.mf-ingestion-show__dimension--complete {
  border-color: #10b981;
  background: #ecfdf5;
}
.mf-ingestion-show__dimension--missing {
  border-color: #fca5a5;
  background: #fef2f2;
}
.mf-ingestion-show__dimension-count {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
}
.mf-ingestion-show__dimension-label {
  display: block;
  font-size: 0.7rem;
  color: var(--srfcs-text-muted, #6b7280);
}
.mf-ingestion-show__empty {
  color: var(--srfcs-text-muted, #6b7280);
  font-style: italic;
  font-size: 0.85rem;
}
.mf-ingestion-show__url {
  word-break: break-all;
  font-size: 0.8rem;
  color: var(--srfcs-color-primary, #2563eb);
  text-decoration: none;
}
.mf-ingestion-show__url:hover {
  text-decoration: underline;
}

.srfcs-search {
  margin: 1.5rem 0;
}

.srfcs-section-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 2rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--srfcs-border, #e2e2e2);
}

.srfcs-subsection-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 1.5rem 0 0.75rem;
  color: var(--srfcs-text-muted, #6b7280);
}

.srfcs-artist-details {
  margin-top: 1.5rem;
}

.srfcs-artist-bio {
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.srfcs-artist-origin {
  margin-right: 1rem;
}

.srfcs-artist-tours {
  margin-top: 1rem;
}

.srfcs-artist-releases {
  margin-top: 1rem;
}

.srfcs-release-type-group {
  margin-bottom: 1rem;
}

/*# sourceMappingURL=app.css.map */
