*, *::before, *::after{box-sizing: border-box}*, *::before, *::after{margin: 0;padding: 0}html{-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;-webkit-text-size-adjust: 100%;-moz-text-size-adjust: 100%;text-size-adjust: 100%;tab-size: 4;font-feature-settings: "kern" 1, "liga" 1, "calt" 1;line-height: 1.5;overflow-wrap: break-word}body{min-height: 100vh;min-height: 100dvh;line-height: 1.5}img, picture, video, canvas, svg{display: block;max-width: 100%}img, video{height: auto}svg{overflow: visible}input, button, textarea, select, optgroup{font: inherit;color: inherit;letter-spacing: inherit}input, textarea{border: none;outline: none}textarea{resize: vertical}p, h1, h2, h3, h4, h5, h6{overflow-wrap: break-word;hyphens: auto}h1, h2, h3, h4, h5, h6{text-wrap: balance}p{text-wrap: pretty}ul[role="list"], ol[role="list"]{list-style: none}button{background: none;border: none;padding: 0;cursor: pointer;color: inherit;font: inherit;line-height: inherit;-webkit-appearance: none;-moz-appearance: none;appearance: none;-webkit-user-select: none;user-select: none}button::-moz-focus-inner{border: 0;padding: 0}a{color: inherit;text-decoration: inherit;-webkit-user-select: none;user-select: none}table{border-collapse: collapse;border-spacing: 0}fieldset{border: none;padding: 0;margin: 0}legend{padding: 0}select{-webkit-appearance: none;-moz-appearance: none;appearance: none}input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration{-webkit-appearance: none}input[type="number"]{-moz-appearance: textfield}input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button{-webkit-appearance: none;margin: 0}summary{display: list-item;cursor: pointer;-webkit-user-select: none;user-select: none}dialog{padding: 0;border: none;background: transparent}dialog::backdrop{background: transparent}abbr[title]{text-decoration: underline dotted}b, strong{font-weight: bolder}code, kbd, samp, pre{font-size: 1em}small{font-size: 80%}sub, sup{font-size: 75%;line-height: 0;position: relative;vertical-align: baseline}sub{bottom: -0.25em}sup{top: -0.5em}hr{height: 0;color: inherit;border: none;border-top: 1px solid}[hidden]{display: none !important}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*, *::before, *::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important}}:root{--border-color: #e2e8f0;--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-rgb: 99, 102, 241;--primary-light: #eff6ff;--color-secondary: #0ea5e9;--color-secondary-light: #38bdf8;--color-secondary-dark: #0284c7;--color-secondary-rgb: 14, 165, 233;--color-accent: #f43f5e;--color-accent-light: #fb7185;--color-accent-dark: #e11d48;--color-bg: #ffffff;--color-bg-alt: #f8fafc;--color-bg-rgb: 255, 255, 255;--color-surface: #ffffff;--color-surface-2: #f8fafc;--color-surface-hover: #f1f5f9;--color-surface-active: #e2e8f0;--color-surface-raised: #ffffff;--color-surface-rgb: 255, 255, 255;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-muted: #64748b;--color-text-faint: #94a3b8;--color-text-inverse: #ffffff;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-dark: #dc2626;--color-error-rgb: 239, 68, 68;--color-info: #3b82f6;--color-info-light: #dbeafe;--color-info-dark: #2563eb;--color-success-rgb: 16, 185, 129;--font-heading: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;--font-body: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;--font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace;--text-xs: clamp(0.6875rem, 0.65rem + 0.15vw, 0.75rem);--text-sm: clamp(0.8125rem, 0.78rem + 0.15vw, 0.875rem);--text-base: clamp(0.9375rem, 0.9rem + 0.18vw, 1rem);--text-lg: clamp(1.0625rem, 1rem + 0.25vw, 1.125rem);--text-xl: clamp(1.1875rem, 1.1rem + 0.35vw, 1.25rem);--text-2xl: clamp(1.4rem, 1.3rem + 0.5vw, 1.5rem);--text-3xl: clamp(1.75rem, 1.55rem + 0.9vw, 1.875rem);--text-4xl: clamp(2.1rem, 1.8rem + 1.3vw, 2.25rem);--text-5xl: clamp(2.75rem, 2.3rem + 1.8vw, 3rem);--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--tracking-tighter: -0.05em;--tracking-tight: -0.025em;--tracking-normal: 0;--tracking-wide: 0.025em;--tracking-wider: 0.05em;--space-xs: 0.25rem;--space-sm: 0.5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 3px 0 rgba(0, 0, 0, 0.06);--shadow-md: 0 2px 4px -1px rgba(0, 0, 0, 0.04), 0 4px 8px -1px rgba(0, 0, 0, 0.08);--shadow-lg: 0 4px 6px -2px rgba(0, 0, 0, 0.03), 0 10px 20px -3px rgba(0, 0, 0, 0.1);--shadow-xl: 0 8px 12px -4px rgba(0, 0, 0, 0.04), 0 20px 40px -6px rgba(0, 0, 0, 0.12);--shadow-2xl: 0 16px 24px -8px rgba(0, 0, 0, 0.06), 0 32px 64px -12px rgba(0, 0, 0, 0.16);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);--shadow-glow: 0 0 20px rgba(var(--color-primary-rgb), 0.15);--shadow-card: 0 1px 3px rgba(0, 0, 0, 0.04), 0 6px 16px rgba(0, 0, 0, 0.06);--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);--transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);--transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);--container-max: 1200px;--container-narrow: 720px;--container-wide: 1440px;--header-height: 80px;--sidebar-width: 280px;--sidebar-collapsed-width: 72px;--content-padding: var(--space-lg);--z-base: 1;--z-dropdown: 50;--z-sticky: 80;--z-header: 100;--z-overlay: 500;--z-modal: 1000;--z-toast: 2000;--z-tooltip: 3000;--z-max: 9999;--backdrop-blur: 12px;--backdrop-color: rgba(0, 0, 0, 0.5);--focus-ring-width: 3px;--focus-ring-color: rgba(var(--color-primary-rgb), 0.4);--focus-ring-offset: 2px}[data-theme="dark"]{--border-color: #1e293b;--color-primary: #818cf8;--color-primary-light: #a5b4fc;--color-primary-dark: #6366f1;--color-primary-50: rgba(99, 102, 241, 0.1);--color-primary-100: rgba(99, 102, 241, 0.15);--color-primary-200: rgba(99, 102, 241, 0.25);--primary-light: rgba(99, 102, 241, 0.25);--color-secondary: #38bdf8;--color-secondary-light: #7dd3fc;--color-secondary-dark: #0ea5e9;--color-accent: #fb7185;--color-accent-light: #fda4af;--color-accent-dark: #f43f5e;--color-bg: #0c0f1a;--color-bg-alt: #111827;--color-bg-rgb: 12, 15, 26;--color-surface: #1e2235;--color-surface-2: #252a3f;--color-surface-hover: #282d44;--color-surface-active: #323853;--color-surface-raised: #252a3f;--color-surface-rgb: 30, 34, 53;--color-border: #2d3350;--color-border-light: #232845;--color-border-strong: #3d4470;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-faint: #64748b;--color-text-inverse: #0f172a;--color-success-light: rgba(16, 185, 129, 0.15);--color-warning-light: rgba(245, 158, 11, 0.15);--color-error-light: rgba(239, 68, 68, 0.15);--color-info-light: rgba(59, 130, 246, 0.15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 1px 3px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 2px 4px -1px rgba(0, 0, 0, 0.25), 0 4px 8px -1px rgba(0, 0, 0, 0.35);--shadow-lg: 0 4px 6px -2px rgba(0, 0, 0, 0.2), 0 10px 20px -3px rgba(0, 0, 0, 0.4);--shadow-xl: 0 8px 12px -4px rgba(0, 0, 0, 0.3), 0 20px 40px -6px rgba(0, 0, 0, 0.45);--shadow-2xl: 0 16px 24px -8px rgba(0, 0, 0, 0.35), 0 32px 64px -12px rgba(0, 0, 0, 0.5);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.2);--shadow-glow: 0 0 24px rgba(var(--color-primary-rgb), 0.25);--shadow-card: 0 1px 3px rgba(0, 0, 0, 0.15), 0 6px 16px rgba(0, 0, 0, 0.25);--backdrop-color: rgba(0, 0, 0, 0.7)}@media (prefers-color-scheme: dark){[data-theme="system"]{--color-primary: #818cf8;--color-primary-light: #a5b4fc;--color-primary-dark: #6366f1;--color-primary-50: rgba(99, 102, 241, 0.1);--color-primary-100: rgba(99, 102, 241, 0.15);--color-primary-200: rgba(99, 102, 241, 0.25);--color-secondary: #38bdf8;--color-secondary-light: #7dd3fc;--color-secondary-dark: #0ea5e9;--color-accent: #fb7185;--color-accent-light: #fda4af;--color-accent-dark: #f43f5e;--color-bg: #0c0f1a;--color-bg-alt: #111827;--color-bg-rgb: 12, 15, 26;--color-surface: #1e2235;--color-surface-hover: #282d44;--color-surface-active: #323853;--color-surface-raised: #252a3f;--color-surface-rgb: 30, 34, 53;--color-border: #2d3350;--color-border-light: #232845;--color-border-strong: #3d4470;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-faint: #64748b;--color-text-inverse: #0f172a;--color-success-light: rgba(16, 185, 129, 0.15);--color-warning-light: rgba(245, 158, 11, 0.15);--color-error-light: rgba(239, 68, 68, 0.15);--color-info-light: rgba(59, 130, 246, 0.15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 1px 3px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 2px 4px -1px rgba(0, 0, 0, 0.25), 0 4px 8px -1px rgba(0, 0, 0, 0.35);--shadow-lg: 0 4px 6px -2px rgba(0, 0, 0, 0.2), 0 10px 20px -3px rgba(0, 0, 0, 0.4);--shadow-xl: 0 8px 12px -4px rgba(0, 0, 0, 0.3), 0 20px 40px -6px rgba(0, 0, 0, 0.45);--shadow-2xl: 0 16px 24px -8px rgba(0, 0, 0, 0.35), 0 32px 64px -12px rgba(0, 0, 0, 0.5);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.2);--shadow-glow: 0 0 24px rgba(var(--color-primary-rgb), 0.25);--shadow-card: 0 1px 3px rgba(0, 0, 0, 0.15), 0 6px 16px rgba(0, 0, 0, 0.25);--backdrop-color: rgba(0, 0, 0, 0.7)}}body{font-family: var(--font-body);font-size: var(--text-base);font-weight: var(--font-normal);line-height: var(--leading-normal);color: var(--color-text);background-color: var(--color-bg);transition: background-color var(--transition-slow), color var(--transition-slow);overflow-x: clip;overflow-anchor: none}h1, h2, h3, h4, h5, h6{font-family: var(--font-heading);line-height: var(--leading-tight);letter-spacing: var(--tracking-tight);color: var(--color-text)}h1{font-size: var(--text-4xl);font-weight: var(--font-extrabold)}h2{font-size: var(--text-3xl);font-weight: var(--font-bold);margin-bottom: var(--space-md)}h3{font-size: var(--text-2xl);font-weight: var(--font-bold);margin-bottom: var(--space-md)}h4{font-size: var(--text-xl);font-weight: var(--font-semibold);margin-bottom: var(--space-sm)}h5{font-size: var(--text-lg);font-weight: var(--font-semibold);margin-bottom: var(--space-sm)}h6{font-size: var(--text-base);font-weight: var(--font-semibold);margin-bottom: var(--space-sm)}p{margin-bottom: var(--space-md);color: var(--color-text)}p:last-child{margin-bottom: 0}a{color: var(--color-primary);text-decoration: underline;text-decoration-thickness: 1px;text-underline-offset: 2px;transition: color var(--transition-fast), text-decoration-color var(--transition-fast)}a:hover{color: var(--color-primary-dark);text-decoration-thickness: 2px}strong, b{font-weight: var(--font-semibold)}small{font-size: var(--text-sm)}code{font-family: var(--font-mono);font-size: 0.9em;background-color: var(--color-bg-alt);padding: 0.15em 0.4em;border-radius: var(--radius-sm);border: 1px solid var(--color-border)}pre{font-family: var(--font-mono);font-size: var(--text-sm);background-color: var(--color-bg-alt);padding: var(--space-md);border-radius: var(--radius-md);border: 1px solid var(--color-border);overflow-x: auto}pre code{background: none;padding: 0;border: none;font-size: inherit}blockquote{border-left: 4px solid var(--color-primary);padding-left: var(--space-md);margin: var(--space-md) 0;color: var(--color-text-muted);font-style: italic}mark{background-color: var(--color-warning-light);color: var(--color-text);padding: 0.1em 0.3em;border-radius: var(--radius-sm)}hr{border-top: 1px solid var(--color-border);margin: var(--space-xl) 0}::selection{background-color: rgba(var(--color-primary-rgb), 0.2);color: var(--color-text)}:focus-visible{outline: var(--focus-ring-width) solid var(--focus-ring-color);outline-offset: var(--focus-ring-offset);border-radius: var(--radius-sm)}:focus:not(:focus-visible){outline: none}#news-detail-page.container{margin-top: calc(var(--header-height) + var(--space-xl))}#news-page.container{margin-top: calc(var(--header-height) + var(--space-xl))}#my-account-page.container{margin-top: calc(var(--header-height) + var(--space-3xl));padding-bottom: var(--space-xl)}#login-page.container, #register-page.container, #forgot-password-page.container{margin-top: calc(var(--header-height) + var(--space-xl))}.container{width: 100%;max-width: var(--container-max);margin-left: auto;margin-right: auto;padding-left: var(--space-md);padding-right: var(--space-md)}.container-narrow{width: 100%;max-width: var(--container-narrow);margin-left: auto;margin-right: auto;padding-left: var(--space-md);padding-right: var(--space-md)}.container-wide{width: 100%;max-width: var(--container-wide);margin-left: auto;margin-right: auto;padding-left: var(--space-md);padding-right: var(--space-md)}.container-fluid{width: 100%;padding-left: var(--space-md);padding-right: var(--space-md)}.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}.sr-only-focusable:focus, .sr-only-focusable:active{position: static;width: auto;height: auto;padding: inherit;margin: inherit;overflow: visible;clip: auto;white-space: normal}.text-left{text-align: left}.text-center{text-align: center}.text-right{text-align: right}.text-justify{text-align: justify}.mb-0{margin-bottom: 0}.mb-1{margin-bottom: var(--space-xs)}.mb-2{margin-bottom: var(--space-sm)}.mb-3{margin-bottom: var(--space-md)}.mb-4{margin-bottom: var(--space-lg)}.mb-5{margin-bottom: var(--space-xl)}.mb-6{margin-bottom: var(--space-2xl)}.mt-0{margin-top: 0}.mt-1{margin-top: var(--space-xs)}.mt-2{margin-top: var(--space-sm)}.mt-3{margin-top: var(--space-md)}.mt-4{margin-top: var(--space-lg)}.mt-5{margin-top: var(--space-xl)}.mt-6{margin-top: var(--space-2xl)}.flex{display: flex}.inline-flex{display: inline-flex}.flex-col{display: flex;flex-direction: column}.flex-row{display: flex;flex-direction: row}.flex-wrap{flex-wrap: wrap}.flex-nowrap{flex-wrap: nowrap}.flex-center{display: flex;align-items: center;justify-content: center}.items-start{align-items: flex-start}.items-center{align-items: center}.items-end{align-items: flex-end}.items-baseline{align-items: baseline}.items-stretch{align-items: stretch}.justify-start{justify-content: flex-start}.justify-center{justify-content: center}.justify-end{justify-content: flex-end}.justify-between{justify-content: space-between}.justify-around{justify-content: space-around}.justify-evenly{justify-content: space-evenly}.flex-1{flex: 1 1 0%}.flex-auto{flex: 1 1 auto}.flex-none{flex: none}.flex-shrink-0{flex-shrink: 0}.self-start{align-self: flex-start}.self-center{align-self: center}.self-end{align-self: flex-end}.gap-0{gap: 0}.gap-1{gap: var(--space-xs)}.gap-2{gap: var(--space-sm)}.gap-3{gap: var(--space-md)}.gap-4{gap: var(--space-lg)}.gap-5{gap: var(--space-xl)}.gap-6{gap: var(--space-2xl)}.grid{display: grid}.grid-2{display: grid;grid-template-columns: repeat(2, 1fr);gap: var(--space-md)}.grid-3{display: grid;grid-template-columns: repeat(3, 1fr);gap: var(--space-md)}.grid-4{display: grid;grid-template-columns: repeat(4, 1fr);gap: var(--space-md)}.grid-auto{display: grid;grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));gap: var(--space-md)}@media (max-width: 1024px){.grid-4{grid-template-columns: repeat(2, 1fr)}.grid-3{grid-template-columns: repeat(2, 1fr)}}@media (max-width: 640px){.grid-2, .grid-3, .grid-4{grid-template-columns: 1fr}}.hidden{display: none !important}.visible{visibility: visible}.invisible{visibility: hidden}.opacity-0{opacity: 0}.opacity-50{opacity: 0.5}.opacity-100{opacity: 1}.block{display: block}.inline-block{display: inline-block}.inline{display: inline}.overflow-hidden{overflow: hidden}.overflow-auto{overflow: auto}.overflow-x-auto{overflow-x: auto}.overflow-y-auto{overflow-y: auto}.w-full{width: 100%}.h-full{height: 100%}.min-h-screen{min-height: 100vh;min-height: 100dvh}.max-w-full{max-width: 100%}.rounded-none{border-radius: 0}.rounded-sm{border-radius: var(--radius-sm)}.rounded{border-radius: var(--radius-md)}.rounded-lg{border-radius: var(--radius-lg)}.rounded-xl{border-radius: var(--radius-xl)}.rounded-2xl{border-radius: var(--radius-2xl)}.rounded-full{border-radius: var(--radius-full)}.shadow-none{box-shadow: none}.shadow-sm{box-shadow: var(--shadow-sm)}.shadow{box-shadow: var(--shadow-md)}.shadow-lg{box-shadow: var(--shadow-lg)}.shadow-xl{box-shadow: var(--shadow-xl)}.shadow-2xl{box-shadow: var(--shadow-2xl)}.truncate{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.line-clamp-2{display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.line-clamp-3{display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden}.line-clamp-4{display: -webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;overflow: hidden}.relative{position: relative}.absolute{position: absolute}.fixed{position: fixed}.sticky{position: sticky}.inset-0{inset: 0}.top-0{top: 0}.right-0{right: 0}.bottom-0{bottom: 0}.left-0{left: 0}.font-heading{font-family: var(--font-heading)}.font-body{font-family: var(--font-body)}.font-mono{font-family: var(--font-mono)}.font-light{font-weight: var(--font-light)}.font-normal{font-weight: var(--font-normal)}.font-medium{font-weight: var(--font-medium)}.font-semibold{font-weight: var(--font-semibold)}.font-bold{font-weight: var(--font-bold)}.uppercase{text-transform: uppercase}.lowercase{text-transform: lowercase}.capitalize{text-transform: capitalize}.italic{font-style: italic}.no-underline{text-decoration: none}.underline{text-decoration: underline}.text-primary{color: var(--color-primary)}.text-secondary{color: var(--color-secondary)}.text-muted{color: var(--color-text-muted)}.text-faint{color: var(--color-text-faint)}.text-success{color: var(--color-success)}.text-warning{color: var(--color-warning)}.text-error{color: var(--color-error)}.text-info{color: var(--color-info)}.text-inverse{color: var(--color-text-inverse)}.bg-primary{background-color: var(--color-primary)}.bg-surface{background-color: var(--color-surface)}.bg-alt{background-color: var(--color-bg-alt)}.bg-transparent{background-color: transparent}.border{border: 1px solid var(--color-border)}.border-light{border: 1px solid var(--color-border-light)}.border-strong{border: 1px solid var(--color-border-strong)}.border-top{border-top: 1px solid var(--color-border)}.border-bottom{border-bottom: 1px solid var(--color-border)}.border-none{border: none}.cursor-pointer{cursor: pointer}.cursor-default{cursor: default}.cursor-not-allowed{cursor: not-allowed}.pointer-events-none{pointer-events: none}.p-0{padding: 0}.p-1{padding: var(--space-xs)}.p-2{padding: var(--space-sm)}.p-3{padding: var(--space-md)}.p-4{padding: var(--space-lg)}.p-5{padding: var(--space-xl)}.p-6{padding: var(--space-2xl)}.px-1{padding-left: var(--space-xs);padding-right: var(--space-xs)}.px-2{padding-left: var(--space-sm);padding-right: var(--space-sm)}.px-3{padding-left: var(--space-md);padding-right: var(--space-md)}.px-4{padding-left: var(--space-lg);padding-right: var(--space-lg)}.py-1{padding-top: var(--space-xs);padding-bottom: var(--space-xs)}.py-2{padding-top: var(--space-sm);padding-bottom: var(--space-sm)}.py-3{padding-top: var(--space-md);padding-bottom: var(--space-md)}.py-4{padding-top: var(--space-lg);padding-bottom: var(--space-lg)}.custom-scrollbar{scrollbar-width: thin;scrollbar-color: var(--color-border-strong) transparent}.custom-scrollbar::-webkit-scrollbar{width: 6px;height: 6px}.custom-scrollbar::-webkit-scrollbar-track{background: transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color: var(--color-border-strong);border-radius: var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color: var(--color-text-muted)}.tabs{display: flex;gap: var(--space-xs);border-bottom: 2px solid var(--color-border);margin-bottom: var(--space-xl);overflow-x: auto;-webkit-overflow-scrolling: touch}.tab-item{padding: var(--space-sm) var(--space-lg);font-size: var(--font-size-sm, 0.875rem);font-weight: var(--font-medium, 500);color: var(--color-text-muted);border: none;background: none;cursor: pointer;white-space: nowrap;border-bottom: 2px solid transparent;margin-bottom: -2px;transition: color 0.2s, border-color 0.2s;-webkit-user-select: none;user-select: none}.tab-item:hover{color: var(--color-text)}.tab-item.active{color: var(--color-primary, var(--color-accent));border-bottom-color: var(--color-primary, var(--color-accent))}.tab-panel{display: none}.tab-content.active, .tab-panel.active{display: block}.data-table-wrapper{overflow-x: auto;border: 1px solid var(--color-border);border-radius: var(--radius-md, 0.5rem)}.data-table{width: 100%;border-collapse: collapse;font-size: var(--font-size-sm, 0.875rem)}.data-table th, .data-table td{padding: var(--space-sm) var(--space-md);text-align: left;border-bottom: 1px solid var(--color-border)}.data-table th{font-weight: var(--font-semibold, 600);color: var(--color-text-muted);background: var(--color-bg-alt, var(--color-surface));white-space: nowrap;font-size: var(--font-size-xs, 0.75rem);text-transform: uppercase;letter-spacing: 0.05em}.data-table tbody tr:last-child td{border-bottom: none}.data-table tbody tr:hover{background: var(--color-bg-alt, rgba(0,0,0,0.02))}.data-table .badge{font-size: var(--font-size-xs, 0.75rem)}@media (max-width: 640px){.data-table th, .data-table td{padding: var(--space-xs) var(--space-sm);font-size: var(--font-size-xs, 0.75rem)}}@media (max-width: 640px){.sm\:hidden{display: none !important}.sm\:block{display: block !important}.sm\:flex-col{flex-direction: column}.sm\:text-center{text-align: center}.sm\:w-full{width: 100%}}@media (max-width: 768px){.hide-mobile{display: none !important}}@media (max-width: 1023px){.hide-tablet{display: none !important}}@media (min-width: 641px) and (max-width: 1024px){.md\:hidden{display: none !important}.md\:block{display: block !important}}@media (min-width: 1025px){.lg\:hidden{display: none !important}.lg\:block{display: block !important}}.page-enter{opacity: 0;transform: translateY(20px)}.page-enter-active{opacity: 1;transform: translateY(0);transition: opacity 300ms cubic-bezier(0.16, 1, 0.3, 1), transform 300ms cubic-bezier(0.16, 1, 0.3, 1)}.page-leave{opacity: 1;transform: translateY(0)}.page-leave-active{opacity: 0;transform: translateY(-10px);transition: opacity 200ms cubic-bezier(0.4, 0, 1, 1), transform 200ms cubic-bezier(0.4, 0, 1, 1)}.modal-overlay{opacity: 0;transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1)}.modal-overlay.active{opacity: 1}.modal-overlay.closing{opacity: 0;transition: opacity 200ms cubic-bezier(0.4, 0, 1, 1)}.modal-content{opacity: 0;transform: scale(0.95) translateY(10px);transition: opacity 300ms cubic-bezier(0.34, 1.56, 0.64, 1), transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1)}.modal-content.active{opacity: 1;transform: scale(1) translateY(0)}.modal-content.closing{opacity: 0;transform: scale(0.97) translateY(5px);transition: opacity 200ms cubic-bezier(0.4, 0, 1, 1), transform 200ms cubic-bezier(0.4, 0, 1, 1)}.modal-content--slide-up{opacity: 0;transform: translateY(100%);transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1), transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}.modal-content--slide-up.active{opacity: 1;transform: translateY(0)}.modal-content--slide-up.closing{opacity: 0;transform: translateY(100%);transition: opacity 250ms cubic-bezier(0.4, 0, 1, 1), transform 250ms cubic-bezier(0.4, 0, 1, 1)}.toast{opacity: 0;transform: translateX(120%);transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1), transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}.toast.visible{opacity: 1;transform: translateX(0)}.toast.exiting{opacity: 0;transform: translateX(120%);transition: opacity 250ms cubic-bezier(0.4, 0, 1, 1), transform 250ms cubic-bezier(0.4, 0, 1, 1)}.toast--top{transform: translateY(-120%)}.toast--top.visible{transform: translateY(0)}.toast--top.exiting{transform: translateY(-120%)}.card-hover{transform: translateY(0) translateZ(0);transition: transform var(--transition-base), box-shadow var(--transition-base)}.card-hover:hover{transform: translateY(-4px) translateZ(0);box-shadow: var(--shadow-lg)}.card-hover:active{transform: translateY(-2px) translateZ(0)}.card-hover-scale{transform: scale(1) translateZ(0);transition: transform var(--transition-base), box-shadow var(--transition-base)}.card-hover-scale:hover{transform: scale(1.02) translateZ(0);box-shadow: var(--shadow-lg)}.card-hover-scale:active{transform: scale(1.005) translateZ(0)}.card-hover-tilt{transform: perspective(1000px) rotateX(0) rotateY(0) translateZ(0);transition: transform var(--transition-base), box-shadow var(--transition-base)}.btn-press{transform: scale(1) translateZ(0);transition: transform var(--transition-fast)}.btn-press:active{transform: scale(0.97) translateZ(0)}.btn-shimmer{position: relative;overflow: hidden}.btn-shimmer::after{content: '';position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: linear-gradient( 90deg, transparent 0%, rgba(255, 255, 255, 0.15) 50%, transparent 100% );transform: translateZ(0);animation: shimmer 2.5s infinite}@keyframes shimmer{0%{transform: translateX(0%) translateZ(0)}100%{transform: translateX(200%) translateZ(0)}}.btn-ripple{position: relative;overflow: hidden}.btn-ripple::after{content: '';position: absolute;top: 50%;left: 50%;width: 0;height: 0;border-radius: var(--radius-full);background: rgba(255, 255, 255, 0.2);transform: translate(-50%, -50%) scale(0) translateZ(0);opacity: 1}.btn-ripple:active::after{width: 300px;height: 300px;opacity: 0;transform: translate(-50%, -50%) scale(1) translateZ(0);transition: width 0.4s ease-out, height 0.4s ease-out, opacity 0.4s ease-out, transform 0.4s ease-out}.skeleton{position: relative;overflow: hidden;background-color: var(--color-bg-alt);border-radius: var(--radius-md)}.skeleton::after{content: '';position: absolute;inset: 0;transform: translateX(-100%) translateZ(0);background: linear-gradient( 90deg, transparent 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100% );animation: skeleton-pulse 1.8s ease-in-out infinite}@keyframes skeleton-pulse{0%{transform: translateX(-100%) translateZ(0)}50%, 100%{transform: translateX(100%) translateZ(0)}}.spinner{display: inline-block;width: 24px;height: 24px;border: 3px solid var(--color-border);border-top-color: var(--color-primary);border-radius: var(--radius-full);animation: spinner-rotate 0.7s linear infinite}.spinner--sm{width: 16px;height: 16px;border-width: 2px}.spinner--lg{width: 40px;height: 40px;border-width: 4px}@keyframes spinner-rotate{to{transform: rotate(360deg) translateZ(0)}}.dots-loading{display: inline-flex;align-items: center;gap: 4px}.dots-loading span{display: inline-block;width: 8px;height: 8px;border-radius: var(--radius-full);background-color: var(--color-primary);animation: dots-bounce 1.4s ease-in-out infinite}.dots-loading span:nth-child(1){animation-delay: 0ms}.dots-loading span:nth-child(2){animation-delay: 160ms}.dots-loading span:nth-child(3){animation-delay: 320ms}@keyframes dots-bounce{0%, 80%, 100%{transform: scale(0.6) translateZ(0);opacity: 0.4}40%{transform: scale(1) translateZ(0);opacity: 1}}.progress-indeterminate{width: 100%;height: 3px;background-color: var(--color-bg-alt);border-radius: var(--radius-full);overflow: hidden;position: relative}.progress-indeterminate::after{content: '';position: absolute;top: 0;left: 0;height: 100%;width: 40%;background-color: var(--color-primary);border-radius: var(--radius-full);animation: progress-slide 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite}@keyframes progress-slide{0%{transform: translateX(-100%) translateZ(0)}100%{transform: translateX(350%) translateZ(0)}}.fade-in{animation: fadeIn 300ms cubic-bezier(0.16, 1, 0.3, 1) forwards}.fade-out{animation: fadeOut 200ms cubic-bezier(0.4, 0, 1, 1) forwards}@keyframes fadeIn{from{opacity: 0}to{opacity: 1}}@keyframes fadeOut{from{opacity: 1}to{opacity: 0}}.slide-up{animation: slideUp 350ms cubic-bezier(0.16, 1, 0.3, 1) forwards}.slide-down{animation: slideDown 350ms cubic-bezier(0.16, 1, 0.3, 1) forwards}.slide-left{animation: slideLeft 350ms cubic-bezier(0.16, 1, 0.3, 1) forwards}.slide-right{animation: slideRight 350ms cubic-bezier(0.16, 1, 0.3, 1) forwards}@keyframes slideUp{from{opacity: 0;transform: translateY(20px) translateZ(0)}to{opacity: 1;transform: translateY(0) translateZ(0)}}@keyframes slideDown{from{opacity: 0;transform: translateY(-20px) translateZ(0)}to{opacity: 1;transform: translateY(0) translateZ(0)}}@keyframes slideLeft{from{opacity: 0;transform: translateX(20px) translateZ(0)}to{opacity: 1;transform: translateX(0) translateZ(0)}}@keyframes slideRight{from{opacity: 0;transform: translateX(-20px) translateZ(0)}to{opacity: 1;transform: translateX(0) translateZ(0)}}.scale-in{animation: scaleIn 300ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards}.scale-out{animation: scaleOut 200ms cubic-bezier(0.4, 0, 1, 1) forwards}@keyframes scaleIn{from{opacity: 0;transform: scale(0.9) translateZ(0)}to{opacity: 1;transform: scale(1) translateZ(0)}}@keyframes scaleOut{from{opacity: 1;transform: scale(1) translateZ(0)}to{opacity: 0;transform: scale(0.9) translateZ(0)}}.stagger-item{opacity: 0;transform: translateY(15px) translateZ(0);animation: staggerFadeUp 400ms cubic-bezier(0.16, 1, 0.3, 1) forwards;animation-delay: calc(var(--stagger-index, 0) * 60ms)}@keyframes staggerFadeUp{from{opacity: 0;transform: translateY(15px) translateZ(0)}to{opacity: 1;transform: translateY(0) translateZ(0)}}.stagger-item-scale{opacity: 0;transform: scale(0.9) translateZ(0);animation: staggerScaleIn 400ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;animation-delay: calc(var(--stagger-index, 0) * 60ms)}@keyframes staggerScaleIn{from{opacity: 0;transform: scale(0.9) translateZ(0)}to{opacity: 1;transform: scale(1) translateZ(0)}}.stagger-item-left{opacity: 0;transform: translateX(-20px) translateZ(0);animation: staggerSlideLeft 400ms cubic-bezier(0.16, 1, 0.3, 1) forwards;animation-delay: calc(var(--stagger-index, 0) * 60ms)}@keyframes staggerSlideLeft{from{opacity: 0;transform: translateX(-20px) translateZ(0)}to{opacity: 1;transform: translateX(0) translateZ(0)}}.reveal{opacity: 0;transform: translateY(20px) translateZ(0);transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1)}.reveal.revealed{opacity: 1;transform: translateY(0) translateZ(0)}.reveal-left{opacity: 0;transform: translateX(-20px) translateZ(0);transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1)}.reveal-left.revealed{opacity: 1;transform: translateX(0) translateZ(0)}.reveal-right{opacity: 0;transform: translateX(20px) translateZ(0);transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1)}.reveal-right.revealed{opacity: 1;transform: translateX(0) translateZ(0)}.reveal-scale{opacity: 0;transform: scale(0.9) translateZ(0);transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1)}.reveal-scale.revealed{opacity: 1;transform: scale(1) translateZ(0)}.reveal-down{opacity: 0;transform: translateY(-20px) translateZ(0);transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1)}.reveal-down.revealed{opacity: 1;transform: translateY(0) translateZ(0)}.reveal-fade{opacity: 0;transition: opacity 800ms cubic-bezier(0.16, 1, 0.3, 1)}.reveal-fade.revealed{opacity: 1}.reveal[data-reveal-delay], .reveal-left[data-reveal-delay], .reveal-right[data-reveal-delay], .reveal-down[data-reveal-delay], .reveal-scale[data-reveal-delay], .reveal-fade[data-reveal-delay]{transition-delay: var(--reveal-delay, 0ms)}.reveal-stagger > *{opacity: 0;transform: translateY(20px) translateZ(0);transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1)}.reveal-stagger.revealed > *{opacity: 1;transform: translateY(0) translateZ(0)}.reveal-stagger.revealed > *:nth-child(1){transition-delay: 0ms}.reveal-stagger.revealed > *:nth-child(2){transition-delay: 80ms}.reveal-stagger.revealed > *:nth-child(3){transition-delay: 160ms}.reveal-stagger.revealed > *:nth-child(4){transition-delay: 240ms}.reveal-stagger.revealed > *:nth-child(5){transition-delay: 320ms}.reveal-stagger.revealed > *:nth-child(6){transition-delay: 400ms}.reveal-stagger.revealed > *:nth-child(7){transition-delay: 480ms}.reveal-stagger.revealed > *:nth-child(8){transition-delay: 560ms}.reveal-stagger.revealed > *:nth-child(n+9){transition-delay: 640ms}.parallax-bg{transform: translateZ(0);backface-visibility: hidden}.parallax-layer{transform: translate3d(0, var(--parallax-offset, 0), 0);backface-visibility: hidden}.dropdown-enter{opacity: 0;transform: scale(0.95) translateY(-8px) translateZ(0);transform-origin: top center}.dropdown-enter-active{opacity: 1;transform: scale(1) translateY(0) translateZ(0);transition: opacity 200ms cubic-bezier(0.16, 1, 0.3, 1), transform 200ms cubic-bezier(0.16, 1, 0.3, 1)}.dropdown-leave{opacity: 1;transform: scale(1) translateY(0) translateZ(0)}.dropdown-leave-active{opacity: 0;transform: scale(0.97) translateY(-4px) translateZ(0);transition: opacity 150ms cubic-bezier(0.4, 0, 1, 1), transform 150ms cubic-bezier(0.4, 0, 1, 1)}.tooltip-enter{opacity: 0;transform: scale(0.9) translateZ(0)}.tooltip-enter-active{opacity: 1;transform: scale(1) translateZ(0);transition: opacity 150ms cubic-bezier(0.16, 1, 0.3, 1), transform 150ms cubic-bezier(0.16, 1, 0.3, 1)}.tooltip-leave-active{opacity: 0;transform: scale(0.95) translateZ(0);transition: opacity 100ms cubic-bezier(0.4, 0, 1, 1), transform 100ms cubic-bezier(0.4, 0, 1, 1)}.drawer-left{transform: translateX(-100%) translateZ(0);transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}.drawer-left.open{transform: translateX(0) translateZ(0)}.drawer-right{transform: translateX(100%) translateZ(0);transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1)}.drawer-right.open{transform: translateX(0) translateZ(0)}.pulse{animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes pulse{0%, 100%{opacity: 1}50%{opacity: 0.5}}.ping{position: relative}.ping::after{content: '';position: absolute;inset: 0;border-radius: inherit;background: inherit;animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite}@keyframes ping{75%, 100%{transform: scale(2) translateZ(0);opacity: 0}}.bounce-subtle{animation: bounceSubtle 2s ease-in-out infinite}@keyframes bounceSubtle{0%, 100%{transform: translateY(0) translateZ(0)}50%{transform: translateY(-6px) translateZ(0)}}.number-roll{display: inline-block;overflow: hidden;vertical-align: bottom}.number-roll-digit{display: inline-block;transform: translateY(var(--digit-offset, 0)) translateZ(0);transition: transform 800ms cubic-bezier(0.16, 1, 0.3, 1)}.image-reveal{overflow: hidden}.image-reveal img{transform: scale(1.1) translateZ(0);opacity: 0;transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), opacity 500ms cubic-bezier(0.16, 1, 0.3, 1)}.image-reveal.revealed img{transform: scale(1) translateZ(0);opacity: 1}.tab-content-enter{opacity: 0;transform: translateY(8px) translateZ(0)}.tab-content-enter-active{opacity: 1;transform: translateY(0) translateZ(0);transition: opacity 250ms cubic-bezier(0.16, 1, 0.3, 1), transform 250ms cubic-bezier(0.16, 1, 0.3, 1)}.tab-content-leave-active{opacity: 0;transform: translateY(-8px) translateZ(0);transition: opacity 150ms cubic-bezier(0.4, 0, 1, 1), transform 150ms cubic-bezier(0.4, 0, 1, 1)}.collapse-content{display: grid;grid-template-rows: 0fr;opacity: 0;transition: grid-template-rows 350ms cubic-bezier(0.16, 1, 0.3, 1), opacity 250ms cubic-bezier(0.16, 1, 0.3, 1)}.collapse-content.expanded{grid-template-rows: 1fr;opacity: 1}.collapse-content > *{overflow: hidden}@media (prefers-reduced-motion: reduce){*, *::before, *::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;animation-delay: 0ms !important;transition-duration: 0.01ms !important;transition-delay: 0ms !important;scroll-behavior: auto !important}.reveal, .reveal-left, .reveal-right, .reveal-down, .reveal-scale, .reveal-fade, .reveal-stagger > *, .stagger-item, .stagger-item-scale, .stagger-item-left{opacity: 1 !important;transform: none !important}.parallax-bg, .parallax-layer{will-change: auto !important;transform: none !important}}.skip-link{position: absolute;top: -40px;left: 8px;z-index: 10000;padding: 8px 16px;background: #111;color: #fff;text-decoration: none;font-weight: 600;border-radius: 4px;transition: top 0.15s ease}.skip-link:focus, .skip-link:focus-visible{top: 8px;outline: 3px solid #fff;outline-offset: 2px}.btn{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-sm);padding: 0.625rem 1.25rem;font-family: var(--font-body);font-size: var(--text-sm);font-weight: var(--font-medium);line-height: 1.5;border: 1px solid transparent;border-radius: var(--radius-md);cursor: pointer;white-space: nowrap;text-decoration: none;user-select: none;transform: translateY(0) translateZ(0);transition: transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast)}.btn:hover{transform: translateY(-1px) translateZ(0)}.btn:active{transform: scale(0.97) translateZ(0)}.btn:focus-visible{outline: var(--focus-ring-width) solid var(--focus-ring-color);outline-offset: var(--focus-ring-offset)}.btn:disabled, .btn.disabled{opacity: 0.5;cursor: not-allowed;pointer-events: none;transform: none}.btn-primary{background-color: var(--color-primary);color: #fff;border-color: var(--color-primary);box-shadow: 0 1px 3px rgba(var(--color-primary-rgb), 0.3)}.btn-primary:hover{color: #fff;background-color: var(--color-primary-dark);border-color: var(--color-primary-dark);box-shadow: 0 4px 12px rgba(var(--color-primary-rgb), 0.35)}.btn-secondary{background-color: var(--color-secondary);color: var(--color-text-inverse);border-color: var(--color-secondary)}.btn-secondary:hover{background-color: var(--color-secondary-dark);border-color: var(--color-secondary-dark);box-shadow: 0 4px 12px rgba(var(--color-secondary-rgb), 0.35)}.btn-outline{background-color: var(--color-secondary);color: var(--color-text-inverse);border-color: var(--color-primary)}.btn-outline:hover{background-color: var(--color-primary);color: var(--color-text-inverse);box-shadow: 0 4px 12px rgba(var(--color-primary-rgb), 0.25)}.btn-ghost{background-color: transparent;color: var(--color-text);border-color: transparent}.btn-ghost:hover{background-color: var(--color-surface-hover)}.btn-danger{background-color: var(--color-error);color: var(--color-text-inverse);border-color: var(--color-error);box-shadow: 0 1px 3px rgba(var(--color-error-rgb, 239, 68, 68), 0.3)}.btn-danger:hover{background-color: var(--color-error-dark);border-color: var(--color-error-dark);box-shadow: 0 4px 12px rgba(var(--color-error-rgb, 239, 68, 68), 0.35)}.btn-success{background-color: var(--color-success);color: var(--color-text-inverse);border-color: var(--color-success)}.btn-success:hover{background-color: var(--color-success-dark);border-color: var(--color-success-dark)}.btn-light{background-color: var(--color-bg-alt);color: var(--color-text);border-color: var(--color-border)}.btn-light:hover{background-color: var(--color-surface-hover);border-color: var(--color-border-strong)}.btn-xs{padding: 0.25rem 0.625rem;font-size: var(--text-xs);border-radius: var(--radius-sm);gap: var(--space-xs)}.btn-sm{padding: 0.375rem 0.875rem;font-size: var(--text-sm);gap: var(--space-xs)}.btn-lg{padding: 0.75rem 1.75rem;font-size: var(--text-lg);gap: var(--space-sm);border-radius: var(--radius-lg)}.btn-xl{padding: 1rem 2.25rem;font-size: var(--text-xl);gap: var(--space-md);border-radius: var(--radius-lg)}.btn-icon{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;padding: 0;border-radius: var(--radius-md)}.btn-icon.btn-sm{width: 32px;height: 32px}.btn-icon.btn-lg{width: 48px;height: 48px}.btn-icon.btn-xs{width: 28px;height: 28px}.btn-loading{position: relative;color: transparent !important;pointer-events: none}.btn-loading::after{content: '';position: absolute;top: 50%;left: 50%;width: 18px;height: 18px;margin-top: -9px;margin-left: -9px;border: 2px solid rgba(255, 255, 255, 0.3);border-top-color: #fff;border-radius: var(--radius-full);animation: spinner-rotate 0.7s linear infinite}.btn-loading.btn-outline::after, .btn-loading.btn-ghost::after, .btn-loading.btn-light::after{border-color: rgba(var(--color-primary-rgb), 0.3);border-top-color: var(--color-primary)}.btn-group{display: inline-flex}.btn-group .btn{border-radius: 0}.btn-group .btn:first-child{border-radius: var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child{border-radius: 0 var(--radius-md) var(--radius-md) 0}.btn-group .btn + .btn{margin-left: -1px}.btn-block{display: flex;width: 100%}.form-group{margin-bottom: var(--space-lg)}.form-label{display: block;font-size: var(--text-sm);font-weight: var(--font-medium);margin-bottom: var(--space-xs);color: var(--color-text);line-height: var(--leading-normal)}.form-label--required::after{content: ' *';color: var(--color-error)}.form-input{display: block;width: 100%;padding: 0.625rem 0.875rem;font-size: var(--text-base);font-family: var(--font-body);line-height: var(--leading-normal);color: var(--color-text);background-color: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md);transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);appearance: none}.form-input::placeholder{color: var(--color-text-faint)}.form-input:hover{border-color: var(--color-border-strong)}.form-input:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.15);outline: none}.form-input:disabled{background-color: var(--color-bg-alt);color: var(--color-text-faint);cursor: not-allowed;opacity: 0.6}.form-input--sm{padding: 0.375rem 0.625rem;font-size: var(--text-sm)}.form-input--lg{padding: 0.75rem 1rem;font-size: var(--text-lg)}.form-textarea{display: block;width: 100%;min-height: 120px;padding: 0.625rem 0.875rem;font-size: var(--text-base);font-family: var(--font-body);line-height: var(--leading-relaxed);color: var(--color-text);background-color: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md);resize: vertical;transition: border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-textarea::placeholder{color: var(--color-text-faint)}.form-textarea:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.15);outline: none}.form-select{display: block;width: 100%;padding: 0.625rem 2.5rem 0.625rem 0.875rem;font-size: var(--text-base);font-family: var(--font-body);line-height: var(--leading-normal);color: var(--color-text);background-color: var(--color-surface);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8.825a.5.5 0 0 1-.354-.146l-3.5-3.5a.5.5 0 1 1 .708-.708L6 7.618l3.146-3.147a.5.5 0 1 1 .708.708l-3.5 3.5A.5.5 0 0 1 6 8.825z'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 0.875rem center;background-size: 12px;border: 1px solid var(--color-border);border-radius: var(--radius-md);cursor: pointer;appearance: none;transition: border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-select:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.15);outline: none}.form-checkbox{display: flex;align-items: center;gap: var(--space-sm);cursor: pointer;user-select: none}.form-checkbox input[type="checkbox"]{appearance: none;width: 20px;height: 20px;flex-shrink: 0;border: 2px solid var(--color-primary);border-radius: var(--radius-sm);background-color: var(--color-surface);cursor: pointer;position: relative;transition: background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-checkbox input[type="checkbox"]:checked{background-color: var(--color-primary);border-color: var(--color-primary)}.form-checkbox input[type="checkbox"]:checked::after{content: '';position: absolute;top: 2px;left: 6px;width: 5px;height: 10px;border: 2px solid var(--color-text-inverse);border-top: none;border-left: none;transform: rotate(45deg) translateZ(0)}.form-checkbox input[type="checkbox"]:focus-visible{box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.3)}.form-checkbox span{font-size: var(--text-sm);color: var(--color-text)}.form-radio{display: flex;align-items: center;gap: var(--space-sm);cursor: pointer;user-select: none}.form-radio input[type="radio"]{appearance: none;width: 20px;height: 20px;flex-shrink: 0;border: 2px solid var(--color-border-strong);border-radius: var(--radius-full);background-color: var(--color-surface);cursor: pointer;position: relative;transition: background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-radio input[type="radio"]:checked{border-color: var(--color-primary)}.form-radio input[type="radio"]:checked::after{content: '';position: absolute;top: 50%;left: 50%;width: 10px;height: 10px;background-color: var(--color-primary);border-radius: var(--radius-full);transform: translate(-50%, -50%) translateZ(0)}.form-radio input[type="radio"]:focus-visible{box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.3)}.form-radio span{font-size: var(--text-sm);color: var(--color-text)}.form-toggle{display: flex;align-items: center;gap: var(--space-sm);cursor: pointer;user-select: none}.form-toggle input[type="checkbox"]{appearance: none;width: 44px;height: 24px;flex-shrink: 0;background-color: var(--color-border-strong);border-radius: var(--radius-full);cursor: pointer;position: relative;transition: background-color var(--transition-fast)}.form-toggle input[type="checkbox"]::after{content: '';position: absolute;top: 2px;left: 2px;width: 20px;height: 20px;background-color: var(--color-text-inverse);border-radius: var(--radius-full);box-shadow: var(--shadow-sm);transform: translateX(0) translateZ(0);transition: transform var(--transition-fast)}.form-toggle input[type="checkbox"]:checked{background-color: var(--color-primary)}.form-toggle input[type="checkbox"]:checked::after{transform: translateX(20px) translateZ(0)}.form-input.is-error, .form-textarea.is-error, .form-select.is-error{border-color: var(--color-error)}.form-input.is-error:focus, .form-textarea.is-error:focus, .form-select.is-error:focus{box-shadow: 0 0 0 3px rgba(var(--color-error-rgb, 239, 68, 68), 0.15)}.form-error{display: block;font-size: var(--text-sm);color: var(--color-error);margin-top: var(--space-xs)}.form-input.is-success{border-color: var(--color-success)}.form-input.is-success:focus{box-shadow: 0 0 0 3px rgba(var(--color-success-rgb, 16, 185, 129), 0.15)}.form-hint{display: block;font-size: var(--text-sm);color: var(--color-text-muted);margin-top: var(--space-xs)}.input-group{display: flex;align-items: stretch}.input-group .form-input{border-radius: var(--radius-md) 0 0 var(--radius-md);flex: 1}.input-group .btn, .input-group .input-group-addon{border-radius: 0 var(--radius-md) var(--radius-md) 0;margin-left: -1px;flex-shrink: 0}.input-group-addon{display: inline-flex;align-items: center;padding: 0 0.875rem;background-color: var(--color-bg-alt);border: 1px solid var(--color-border);color: var(--color-text-muted);font-size: var(--text-sm)}.input-icon-wrapper{position: relative}.input-icon-wrapper .form-input{padding-left: 2.5rem}.input-icon-wrapper .input-icon{position: absolute;left: 0.875rem;top: 50%;transform: translateY(-50%);color: var(--color-text-faint);pointer-events: none;width: 18px;height: 18px}.input-icon-wrapper--right .form-input{padding-left: 0.875rem;padding-right: 2.5rem}.input-icon-wrapper--right .input-icon{left: auto;right: 0.875rem}.form-floating{position: relative}.form-floating .form-input{padding-top: 1.5rem;padding-bottom: 0.375rem}.form-floating .form-label{position: absolute;top: 50%;left: 0.875rem;transform: translateY(-50%);pointer-events: none;color: var(--color-text-faint);font-weight: var(--font-normal);margin-bottom: 0;transition: transform var(--transition-fast), font-size var(--transition-fast), color var(--transition-fast);transform-origin: left center}.form-floating .form-input:focus ~ .form-label, .form-floating .form-input:not(:placeholder-shown) ~ .form-label{transform: translateY(-140%) scale(0.85);color: var(--color-primary)}.modal-overlay{position: fixed;inset: 0;background-color: var(--backdrop-color);backdrop-filter: blur(var(--backdrop-blur));-webkit-backdrop-filter: blur(var(--backdrop-blur));display: flex;align-items: center;justify-content: center;z-index: var(--z-modal);padding: var(--space-md)}.modal-container{position: relative;width: 100%;max-width: 560px;max-height: 90vh;max-height: 90dvh;background-color: var(--color-surface);border-radius: var(--radius-xl);box-shadow: var(--shadow-2xl);display: flex;flex-direction: column;overflow: hidden}.modal-container--sm{max-width: 400px}.modal-container--lg{max-width: 720px}.modal-container--xl{max-width: 960px}.modal-container--full{max-width: calc(100vw - 2rem);max-height: calc(100vh - 2rem)}.modal-header{display: flex;align-items: center;justify-content: space-between;padding: var(--space-lg) var(--space-lg) var(--space-md);flex-shrink: 0}.modal-title{font-size: var(--text-xl);font-weight: var(--font-semibold);color: var(--color-text);margin: 0;line-height: var(--leading-tight)}.modal-close{display: inline-flex;align-items: center;justify-content: center;width: 36px;height: 36px;border-radius: var(--radius-md);color: var(--color-text-muted);cursor: pointer;flex-shrink: 0;transition: background-color var(--transition-fast), color var(--transition-fast)}.modal-close:hover{background-color: var(--color-surface-hover);color: var(--color-text)}.modal-body{padding: var(--space-md) var(--space-lg);overflow-y: auto;flex: 1}.modal-footer{display: flex;align-items: center;justify-content: flex-end;gap: var(--space-sm);padding: var(--space-md) var(--space-lg) var(--space-lg);flex-shrink: 0}.modal-footer--between{justify-content: space-between}@media (max-width: 640px){.modal-container{max-width: 100%;max-height: 100%;border-radius: 0;height: 100%}}.modal-backdrop{position: fixed;inset: 0;background-color: var(--backdrop-color, rgba(0, 0, 0, 0.5));backdrop-filter: blur(var(--backdrop-blur, 4px));-webkit-backdrop-filter: blur(var(--backdrop-blur, 4px));display: flex;align-items: center;justify-content: center;z-index: var(--z-modal, 9998);padding: var(--space-md);opacity: 0;transition: opacity 0.25s ease}.modal-backdrop[data-open]{opacity: 1}.modal-backdrop > .modal{position: relative;width: 100%;max-width: 560px;max-height: 90vh;max-height: 90dvh;background-color: var(--color-surface);border-radius: var(--radius-xl);box-shadow: var(--shadow-2xl);display: flex;flex-direction: column;overflow: hidden;transform: scale(0.9) translateY(10px);opacity: 0;transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s ease}.modal-backdrop[data-open] > .modal{transform: scale(1) translateY(0);opacity: 1}@media (max-width: 640px){.modal-backdrop > .modal{max-width: 100%;max-height: 100%;border-radius: 0;height: 100%}}.toast-container{position: fixed;top: var(--space-lg);right: var(--space-lg);display: flex;flex-direction: column;gap: var(--space-sm);z-index: var(--z-toast);max-width: 420px;width: calc(100% - 2 * var(--space-lg));pointer-events: none}.toast-container--bottom-right{top: auto;bottom: var(--space-lg)}.toast-container--top-center{right: 50%;transform: translateX(50%)}.toast{display: flex;align-items: flex-start;gap: var(--space-sm);padding: var(--space-md);background-color: var(--color-surface-raised);border-radius: var(--radius-lg);box-shadow: var(--shadow-xl);border-left: 4px solid var(--color-border);pointer-events: all;position: relative;overflow: hidden}.toast-success{border-left-color: var(--color-success)}.toast-error{border-left-color: var(--color-error)}.toast-warning{border-left-color: var(--color-warning)}.toast-info{border-left-color: var(--color-info)}.toast-icon{flex-shrink: 0;width: 20px;height: 20px;margin-top: 1px}.toast-success .toast-icon{color: var(--color-success)}.toast-error .toast-icon{color: var(--color-error)}.toast-warning .toast-icon{color: var(--color-warning)}.toast-info .toast-icon{color: var(--color-info)}.toast-content{flex: 1;min-width: 0}.toast-title{font-size: var(--text-sm);font-weight: var(--font-semibold);color: var(--color-text);margin-bottom: 2px}.toast-message{font-size: var(--text-sm);color: var(--color-text-muted);line-height: var(--leading-snug)}.toast-close{flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 24px;height: 24px;border-radius: var(--radius-sm);color: var(--color-text-faint);cursor: pointer;transition: background-color var(--transition-fast), color var(--transition-fast)}.toast-close:hover{background-color: var(--color-surface-hover);color: var(--color-text)}.toast-progress{position: absolute;bottom: 0;left: 0;height: 3px;background-color: var(--color-primary);border-radius: 0 0 0 var(--radius-lg);transition: width linear}@media (max-width: 640px){.toast-container{top: var(--space-sm);right: var(--space-sm);left: var(--space-sm);width: auto;max-width: none}}.card{background-color: var(--color-surface);border-radius: var(--radius-lg);box-shadow: var(--shadow-card);overflow: hidden;border: 1px solid var(--color-border-light);transition: box-shadow var(--transition-base), border-color var(--transition-base)}.card--interactive{cursor: pointer}.card--interactive:hover{box-shadow: var(--shadow-lg);border-color: var(--color-border)}.card--flat{box-shadow: none;border: 1px solid var(--color-border)}.card--glass{background: rgba(var(--color-surface-rgb), 0.6);backdrop-filter: blur(16px);-webkit-backdrop-filter: blur(16px);border: 1px solid rgba(var(--color-surface-rgb), 0.3)}.card-image{width: 100%;aspect-ratio: 16 / 10;object-fit: cover}.card-image--portrait{aspect-ratio: 3 / 4}.card-image--square{aspect-ratio: 1 / 1}.card-body{padding: var(--space-lg)}.card-body--compact{padding: var(--space-md)}.card-title{font-size: var(--text-lg);font-weight: var(--font-semibold);color: var(--color-text);margin-bottom: var(--space-xs);line-height: var(--leading-tight)}.card-text{font-size: var(--text-sm);color: var(--color-text-muted);line-height: var(--leading-relaxed);margin-bottom: var(--space-sm)}.card-text:last-child{margin-bottom: 0}.card-meta{display: flex;align-items: center;gap: var(--space-sm);font-size: var(--text-xs);color: var(--color-text-faint);margin-top: var(--space-sm)}.card-footer{padding: var(--space-md) var(--space-lg);border-top: 1px solid var(--color-border-light);display: flex;align-items: center;justify-content: space-between}.card-footer--compact{padding: var(--space-sm) var(--space-md)}.card-badge{position: absolute;top: var(--space-sm);right: var(--space-sm);padding: 0.25rem 0.625rem;font-size: var(--text-xs);font-weight: var(--font-semibold);color: var(--color-text-inverse);background-color: var(--color-primary);border-radius: var(--radius-full);z-index: var(--z-base)}.card-badge--sale{background-color: var(--color-error)}.card-badge--new{background-color: var(--color-success)}.card--has-badge{position: relative}.card-actions-overlay{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;gap: var(--space-sm);background: rgba(0, 0, 0, 0.4);opacity: 0;transition: opacity var(--transition-base)}.card--interactive:hover .card-actions-overlay{opacity: 1}.datatable-wrapper{width: 100%;overflow-x: auto;border: 1px solid var(--color-border);border-radius: var(--radius-lg);background-color: var(--color-surface)}.datatable{width: 100%;border-collapse: collapse;font-size: var(--text-sm)}.datatable thead{position: sticky;top: 0;z-index: var(--z-base)}.datatable th{padding: 0.75rem 1rem;text-align: left;font-weight: var(--font-semibold);font-size: var(--text-xs);text-transform: uppercase;letter-spacing: var(--tracking-wider);color: var(--color-text-muted);background-color: var(--color-bg-alt);border-bottom: 1px solid var(--color-border);white-space: nowrap;user-select: none}.datatable th.sortable{cursor: pointer;transition: color var(--transition-fast)}.datatable th.sortable:hover{color: var(--color-text)}.datatable th.sorted-asc::after, .datatable th.sorted-desc::after{content: '';display: inline-block;width: 0;height: 0;margin-left: 0.5rem;vertical-align: middle;border-left: 4px solid transparent;border-right: 4px solid transparent}.datatable th.sorted-asc::after{border-bottom: 5px solid currentColor}.datatable th.sorted-desc::after{border-top: 5px solid currentColor}.datatable td{padding: 0.75rem 1rem;border-bottom: 1px solid var(--color-border-light);color: var(--color-text);vertical-align: middle}.datatable tbody tr{transition: background-color var(--transition-fast)}.datatable tbody tr:hover{background-color: var(--color-surface-hover)}.datatable tbody tr:last-child td{border-bottom: none}.datatable tbody tr.selected{background-color: var(--color-primary-50)}.datatable-empty{text-align: center;padding: var(--space-2xl) var(--space-md);color: var(--color-text-muted)}.datatable-actions{display: flex;align-items: center;gap: var(--space-xs)}.datatable-header{display: flex;align-items: center;justify-content: space-between;gap: var(--space-md);padding: var(--space-md);border-bottom: 1px solid var(--color-border-light);flex-wrap: wrap}.datatable-search{position: relative;max-width: 320px;flex: 1}.datatable-search .form-input{padding-left: 2.5rem;font-size: var(--text-sm)}.datatable-search .input-icon{position: absolute;left: 0.75rem;top: 50%;transform: translateY(-50%);color: var(--color-text-faint);pointer-events: none}.datatable-footer{display: flex;align-items: center;justify-content: space-between;padding: var(--space-md);border-top: 1px solid var(--color-border-light);flex-wrap: wrap;gap: var(--space-sm)}.datatable-info{font-size: var(--text-sm);color: var(--color-text-muted)}.datatable-pagination{display: flex;align-items: center;gap: var(--space-xs)}.datatable-pagination .btn{min-width: 36px;height: 36px;padding: 0;font-size: var(--text-sm)}.badge{display: inline-flex;align-items: center;gap: 4px;padding: 0.125rem 0.625rem;font-size: var(--text-xs);font-weight: var(--font-medium);line-height: var(--leading-normal);border-radius: var(--radius-full);white-space: nowrap;background-color: var(--color-bg-alt);color: var(--color-text-muted);border: 1px solid var(--color-border)}.badge-primary{background-color: var(--color-primary-100);color: var(--color-primary-dark);border-color: var(--color-primary-200)}.badge-success{background-color: var(--color-success-light);color: var(--color-success-dark);border-color: transparent}.badge-warning{background-color: var(--color-warning-light);color: var(--color-warning-dark);border-color: transparent}.badge-error{background-color: var(--color-error-light);color: var(--color-error-dark);border-color: transparent}.badge-info{background-color: var(--color-info-light);color: var(--color-info-dark);border-color: transparent}.badge--solid-primary{background-color: var(--color-primary);color: var(--color-text-inverse);border-color: transparent}.badge--dot{padding-left: 0.5rem}.badge--dot::before{content: '';width: 6px;height: 6px;border-radius: var(--radius-full);background-color: currentColor;flex-shrink: 0}.badge--lg{padding: 0.25rem 0.75rem;font-size: var(--text-sm)}.tag{display: inline-flex;align-items: center;gap: 4px;padding: 0.25rem 0.5rem;font-size: var(--text-xs);font-weight: var(--font-medium);border-radius: var(--radius-md);background-color: var(--color-bg-alt);color: var(--color-text);border: 1px solid var(--color-border);-webkit-user-select: none;user-select: none}.tag-close{display: inline-flex;align-items: center;justify-content: center;width: 16px;height: 16px;border-radius: var(--radius-sm);cursor: pointer;color: var(--color-text-faint);transition: color var(--transition-fast), background-color var(--transition-fast)}.tag-close:hover{color: var(--color-error);background-color: var(--color-error-light)}.calendar{width: 100%;user-select: none}.calendar-header{display: flex;align-items: center;justify-content: space-between;padding: var(--space-sm) 0;margin-bottom: var(--space-sm)}.calendar-title{font-size: var(--text-lg);font-weight: var(--font-semibold);color: var(--color-text)}.calendar-nav{display: flex;align-items: center;gap: var(--space-xs)}.calendar-nav .btn{width: 36px;height: 36px;padding: 0}.calendar-weekdays{display: grid;grid-template-columns: repeat(7, 1fr);gap: 0;margin-bottom: var(--space-xs)}.calendar-weekday{text-align: center;font-size: var(--text-xs);font-weight: var(--font-semibold);color: var(--color-text-muted);text-transform: uppercase;letter-spacing: var(--tracking-wider);padding: var(--space-sm) 0}.calendar-grid{display: grid;grid-template-columns: repeat(7, 1fr);gap: 2px}.calendar-day{position: relative;aspect-ratio: 1 / 1;display: flex;flex-direction: column;align-items: center;justify-content: center;border-radius: var(--radius-md);cursor: pointer;font-size: var(--text-sm);font-weight: var(--font-medium);color: var(--color-text);transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast)}.calendar-day:hover{background-color: var(--color-surface-hover)}.calendar-day--other-month{color: var(--color-text-faint)}.calendar-day--today{box-shadow: inset 0 0 0 2px var(--color-primary);font-weight: var(--font-bold)}.calendar-day--selected{background-color: var(--color-primary);color: var(--color-text-inverse);font-weight: var(--font-bold)}.calendar-day--selected:hover{background-color: var(--color-primary-dark)}.calendar-day--range{background-color: var(--color-primary-50);border-radius: 0}.calendar-day--range-start{border-radius: var(--radius-md) 0 0 var(--radius-md);background-color: var(--color-primary);color: var(--color-text-inverse)}.calendar-day--range-end{border-radius: 0 var(--radius-md) var(--radius-md) 0;background-color: var(--color-primary);color: var(--color-text-inverse)}.calendar-day--unavailable{color: var(--color-text-faint);cursor: not-allowed;text-decoration: line-through;opacity: 0.5}.calendar-day--unavailable:hover{background-color: transparent}.calendar-day--price{font-size: var(--text-xs);color: var(--color-text-muted);line-height: 1;margin-top: 1px}.calendar-day--has-events::after{content: '';width: 4px;height: 4px;border-radius: var(--radius-full);background-color: var(--color-primary);position: absolute;bottom: 4px}.calendar-legend{display: flex;align-items: center;gap: var(--space-md);margin-top: var(--space-md);font-size: var(--text-xs);color: var(--color-text-muted)}.calendar-legend-item{display: flex;align-items: center;gap: var(--space-xs)}.calendar-legend-swatch{width: 12px;height: 12px;border-radius: var(--radius-sm)}.datepicker{position: relative;display: inline-block;width: 100%}.datepicker-display{cursor: pointer;padding-right: 2.5rem !important;text-overflow: ellipsis}.datepicker-display:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.15);outline: none}.datepicker-icon{position: absolute;right: 0.75rem;top: 50%;transform: translateY(-50%);display: flex;align-items: center;justify-content: center;color: var(--color-text-muted);pointer-events: none;z-index: 1}.datepicker-popup{position: fixed;z-index: 10000;width: 280px;background: var(--color-surface, #ffffff);border: 1px solid var(--color-border, #d1d5db);border-radius: var(--radius-lg, 12px);box-shadow: var(--shadow-lg, 0 10px 25px rgba(0,0,0,0.1));padding: var(--space-sm, 0.75rem);opacity: 0;transform: translateY(-4px);transition: opacity 0.15s ease, transform 0.15s ease;pointer-events: none}.datepicker-popup.is-open{opacity: 1;transform: translateY(0);pointer-events: auto}.datepicker-popup--above{transform: translateY(4px)}.datepicker-popup--above.is-open{transform: translateY(0)}.datepicker-popup .calendar-nav-btn{width: 32px;height: 32px;padding: 0;display: flex;align-items: center;justify-content: center;border: 1px solid var(--color-border, #d1d5db);background: var(--color-surface, #ffffff);border-radius: var(--radius-md, 8px);cursor: pointer;color: var(--color-text, #374151);transition: background-color var(--transition-fast, 0.15s ease), border-color var(--transition-fast, 0.15s ease)}.datepicker-popup .calendar-nav-btn:hover{background-color: var(--color-surface-hover, #f3f4f6);border-color: var(--color-border-strong, #9ca3af)}.datepicker-popup .calendar-day{aspect-ratio: auto;min-height: 2.25rem;font-size: var(--text-sm, 0.875rem)}.datepicker-popup .calendar-day--focused{box-shadow: inset 0 0 0 2px var(--color-primary, #2563eb)}.timepicker{position: relative;display: inline-block;width: 100%}.timepicker-display{cursor: pointer;padding-right: 2.5rem !important}.timepicker-display:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.15);outline: none}.timepicker-icon{position: absolute;right: 0.75rem;top: 50%;transform: translateY(-50%);display: flex;align-items: center;justify-content: center;color: var(--color-text-muted);pointer-events: none;z-index: 1}.timepicker-popup{position: absolute;z-index: var(--z-dropdown, 1000);top: calc(100% + 4px);left: 0;width: 240px;background: var(--color-surface, #ffffff);border: 1px solid var(--color-border, #d1d5db);border-radius: var(--radius-lg, 12px);box-shadow: var(--shadow-lg, 0 10px 25px rgba(0,0,0,0.1));padding: var(--space-sm, 0.75rem);opacity: 0;transform: translateY(-4px);transition: opacity 0.15s ease, transform 0.15s ease;pointer-events: none}.timepicker-popup.is-open{opacity: 1;transform: translateY(0);pointer-events: auto}.timepicker-popup--above{top: auto;bottom: calc(100% + 4px)}.timepicker-grid{display: grid;grid-template-columns: repeat(4, 1fr);gap: 2px;max-height: 240px;overflow-y: auto;scrollbar-width: thin}.timepicker-grid::-webkit-scrollbar{width: 4px}.timepicker-grid::-webkit-scrollbar-thumb{background: var(--color-border, #d1d5db);border-radius: 2px}.timepicker-slot{padding: 0.5rem 0.25rem;text-align: center;border-radius: var(--radius-sm, 4px);cursor: pointer;font-size: var(--text-sm, 0.875rem);font-weight: var(--font-medium, 500);color: var(--color-text, #111827);transition: background-color var(--transition-fast, 0.15s ease), color var(--transition-fast, 0.15s ease);white-space: nowrap}.timepicker-slot:hover{background-color: var(--color-surface-hover, #f3f4f6)}.timepicker-slot--selected{background-color: var(--color-primary, #2563eb);color: var(--color-text-inverse, #ffffff);font-weight: var(--font-semibold, 600)}.timepicker-slot--selected:hover{background-color: var(--color-primary-dark, #1d4ed8)}.timepicker-slot--unavailable{color: var(--color-text-faint, #d1d5db);cursor: not-allowed;opacity: 0.4}.timepicker-slot--unavailable:hover{background-color: transparent}.time-range{display: flex;align-items: center;gap: var(--space-sm, 0.75rem)}.time-range__separator{color: var(--color-text-muted, #6b7280);font-weight: var(--font-medium, 500);flex-shrink: 0}.time-range .timepicker{flex: 1;min-width: 0}.time-range__clear{flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;padding: 0;border: 1px solid var(--color-border, #d1d5db);border-radius: var(--radius-sm, 4px);background: transparent;color: var(--color-text-muted, #6b7280);cursor: pointer;transition: color 0.15s, border-color 0.15s, background 0.15s}.time-range__clear:hover{color: var(--color-danger, #ef4444);border-color: var(--color-danger, #ef4444);background: rgba(239, 68, 68, 0.06)}@media (max-width: 480px){.time-range{flex-direction: column;gap: var(--space-xs, 0.5rem)}}@media (max-width: 640px){.flex.justify-between.items-center.mb-3{flex-direction: column;align-items: stretch;gap: var(--space-sm, 0.5rem)}.datepicker-popup{width: calc(100vw - 2rem);max-width: 320px;left: 50% !important;transform: translateX(-50%) translateY(-4px)}.datepicker-popup.is-open{transform: translateX(-50%) translateY(0)}.datepicker-popup--above{transform: translateX(-50%) translateY(4px)}.datepicker-popup--above.is-open{transform: translateX(-50%) translateY(0)}.timepicker-popup{width: calc(100vw - 2rem);max-width: 320px;left: 50% !important;transform: translateX(-50%) translateY(-4px)}.timepicker-popup.is-open{transform: translateX(-50%) translateY(0)}}.gallery-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));gap: var(--space-sm)}.gallery-item{position: relative;border-radius: var(--radius-md);overflow: hidden;cursor: pointer;aspect-ratio: 1 / 1;background: var(--color-bg-alt, #f0f0f0)}.gallery-item::before{content: '';position: absolute;inset: 0;background: linear-gradient(90deg, var(--color-bg-alt, #f0f0f0) 25%, rgba(255,255,255,0.4) 50%, var(--color-bg-alt, #f0f0f0) 75%);background-size: 200% 100%;animation: skeleton-pulse 1.8s ease-in-out infinite;z-index: 0;transition: opacity 0.3s ease}.gallery-item.loaded::before{opacity: 0;pointer-events: none}.gallery-item img{width: 100%;height: 100%;object-fit: cover;transition: transform var(--transition-fast), opacity 0.4s ease;will-change: transform;backface-visibility: hidden;opacity: 0;position: relative;z-index: 1}.gallery-item img.loaded{opacity: 1}.gallery-item:hover img{transform: scale(1.05) translateZ(0)}.gallery-item-overlay{position: absolute;inset: 0;background: linear-gradient(transparent 60%, rgba(0, 0, 0, 0.5) 100%);opacity: 0;transition: opacity var(--transition-base);display: flex;align-items: flex-end;padding: var(--space-sm)}.gallery-item:hover .gallery-item-overlay{opacity: 1}.gallery-item-caption{position: absolute;bottom: 0;left: 0;right: 0;padding: 0.75rem 1rem;background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));color: #fff;font-size: 0.8125rem;line-height: 1.4}.contact-info__card{background: var(--color-bg-elevated);border: 1px solid var(--color-border);border-radius: var(--radius-lg);padding: var(--space-xl);transition: box-shadow var(--transition-base)}.contact-info__card:hover{box-shadow: var(--shadow-md)}[data-theme="dark"] .contact-info__card{background: var(--color-bg-elevated);border-color: var(--color-border)}.gallery-sections{display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: var(--space-lg)}.gallery-section-card{border-radius: var(--radius-lg);overflow: hidden;background: var(--color-surface);box-shadow: var(--shadow-sm, 0 2px 8px rgba(0,0,0,.08));transition: transform var(--transition-base), box-shadow var(--transition-base)}.gallery-section-card:hover{transform: translateY(-4px);box-shadow: var(--shadow-lg, 0 8px 24px rgba(0,0,0,.12))}.gallery-section-link{text-decoration: none;color: inherit;display: block}.gallery-section-image{aspect-ratio: 16 / 10;overflow: hidden;background: var(--color-bg-alt, #f0f0f0);position: relative}.gallery-section-image:has(> img)::before{content: '';position: absolute;inset: 0;background: linear-gradient(90deg, var(--color-bg-alt, #f0f0f0) 25%, rgba(255,255,255,0.4) 50%, var(--color-bg-alt, #f0f0f0) 75%);background-size: 200% 100%;animation: skeleton-pulse 1.8s ease-in-out infinite;z-index: 0;transition: opacity 0.3s ease}.gallery-section-image.loaded::before{opacity: 0;pointer-events: none}.gallery-section-image img{width: 100%;height: 100%;object-fit: cover;transition: transform var(--transition-base), opacity 0.4s ease;opacity: 0;position: relative;z-index: 1}.gallery-section-image img.loaded{opacity: 1}.gallery-section-card:hover .gallery-section-image img{transform: scale(1.05)}.gallery-section-placeholder{width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;color: var(--color-text-muted)}.gallery-section-body{padding: var(--space-md) var(--space-lg)}.gallery-section-name{font-size: var(--fs-lg);font-weight: var(--fw-semibold);margin: 0 0 var(--space-sm);word-wrap: break-word;overflow-wrap: break-word}.gallery-section-desc{font-size: var(--fs-sm);color: var(--color-text-muted);margin: 0 0 var(--space-sm);line-height: var(--lh-relaxed);word-wrap: break-word;overflow-wrap: break-word}.gallery-section-count{font-size: var(--fs-sm);color: var(--color-text-muted);font-weight: var(--fw-medium)}.lightbox{position: fixed;inset: 0;z-index: 9999;background: rgba(0,0,0,.92);display: flex;align-items: center;justify-content: center;flex-direction: column}.lightbox .lightbox-close{position: absolute;top: var(--space-md);right: var(--space-md);background: none;border: none;color: #fff;font-size: 2rem;cursor: pointer;z-index: 10;line-height: 1;padding: var(--space-xs)}.lightbox .lightbox-prev, .lightbox .lightbox-next{position: absolute;top: 50%;transform: translateY(-50%);background: none;border: none;color: #fff;font-size: 3rem;cursor: pointer;z-index: 10;padding: var(--space-sm);line-height: 1}.lightbox .lightbox-prev{left: var(--space-md)}.lightbox .lightbox-next{right: var(--space-md)}.lightbox .lightbox-content{max-width: 90vw;max-height: 80vh;display: flex;align-items: center;justify-content: center}.lightbox .lightbox-content img{max-width: 100%;max-height: 80vh;object-fit: contain;border-radius: var(--radius-sm)}.lightbox .lightbox-caption{position: static;color: #ccc;font-size: var(--fs-sm);margin-top: var(--space-sm);text-align: center}.lightbox-overlay{position: fixed;inset: 0;background-color: rgba(0, 0, 0, 0.92);z-index: calc(var(--z-modal) + 1);display: flex;align-items: center;justify-content: center;padding: var(--space-xl)}.lightbox-image-wrapper{position: relative;max-width: 90vw;max-height: 85vh;display: flex;align-items: center;justify-content: center}.lightbox-image{max-width: 100%;max-height: 85vh;object-fit: contain;border-radius: var(--radius-md);box-shadow: var(--shadow-2xl)}.lightbox-nav{position: absolute;top: 50%;transform: translateY(-50%);display: inline-flex;align-items: center;justify-content: center;width: 48px;height: 48px;border-radius: var(--radius-full);background: rgba(255, 255, 255, 0.1);color: white;cursor: pointer;backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);transition: background-color var(--transition-fast), transform var(--transition-fast)}.lightbox-nav:hover{background: rgba(255, 255, 255, 0.2)}.lightbox-nav--prev{left: var(--space-md)}.lightbox-nav--next{right: var(--space-md)}.lightbox-close{position: absolute;top: var(--space-md);right: var(--space-md);width: 44px;height: 44px;display: inline-flex;align-items: center;justify-content: center;border-radius: var(--radius-full);background: rgba(255, 255, 255, 0.1);color: white;cursor: pointer;backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);transition: background-color var(--transition-fast)}.lightbox-close:hover{background: rgba(255, 255, 255, 0.2)}.lightbox-caption{position: absolute;bottom: var(--space-lg);left: 50%;transform: translateX(-50%);color: white;font-size: var(--text-sm);text-align: center;max-width: 80%;padding: var(--space-sm) var(--space-md);background: rgba(0, 0, 0, 0.5);border-radius: var(--radius-md);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px)}.lightbox-counter{position: absolute;top: var(--space-md);left: var(--space-md);color: rgba(255, 255, 255, 0.7);font-size: var(--text-sm);font-weight: var(--font-medium)}.lightbox-zoom-slider{position: absolute;top: var(--space-md);right: calc(var(--space-md) + 52px);display: flex;align-items: center;gap: 4px;padding: 4px 6px;border-radius: var(--radius-full);background: rgba(255, 255, 255, 0.1);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);z-index: 10;user-select: none}.lightbox-zoom-slider__btn{display: flex;align-items: center;justify-content: center;width: 32px;height: 32px;border: none;border-radius: 50%;background: transparent;color: white;cursor: pointer;transition: background var(--transition-fast);flex-shrink: 0}.lightbox-zoom-slider__btn:hover{background: rgba(255, 255, 255, 0.2)}.lightbox-zoom-slider__range{-webkit-appearance: none;appearance: none;width: 80px;height: 4px;background: rgba(255, 255, 255, 0.25);border-radius: 2px;outline: none;cursor: pointer}.lightbox-zoom-slider__range::-webkit-slider-thumb{-webkit-appearance: none;appearance: none;width: 14px;height: 14px;border-radius: 50%;background: white;cursor: pointer;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3)}.lightbox-zoom-slider__range::-moz-range-thumb{width: 14px;height: 14px;border: none;border-radius: 50%;background: white;cursor: pointer;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3)}.lightbox .lightbox-content img, .gallery-lightbox__image{cursor: zoom-in}.lightbox .lightbox-content img.is-zoomed, .gallery-lightbox__image.is-zoomed{cursor: grab}.lightbox .lightbox-content img.is-panning, .gallery-lightbox__image.is-panning{cursor: grabbing !important}.lightbox .lightbox-content{touch-action: none}.lightbox-caption-hidden{opacity: 0 !important;pointer-events: none}@media (max-width: 640px){.lightbox-zoom-slider{display: none}}.tabs{display: flex;border-bottom: 1px solid var(--color-border);overflow-x: auto;scrollbar-width: none;-ms-overflow-style: none}.tabs::-webkit-scrollbar{display: none}.tab{display: inline-flex;align-items: center;gap: var(--space-xs);padding: 0.75rem 1.25rem;font-size: var(--text-sm);font-weight: var(--font-medium);color: var(--color-text-muted);cursor: pointer;border-bottom: 2px solid transparent;white-space: nowrap;transition: color var(--transition-fast), border-color var(--transition-fast);margin-bottom: -1px}.tab:hover{color: var(--color-text)}.tab.active{color: var(--color-primary);border-bottom-color: var(--color-primary)}.tab-badge{font-size: var(--text-xs);background-color: var(--color-bg-alt);color: var(--color-text-muted);padding: 0.1rem 0.4rem;border-radius: var(--radius-full);min-width: 20px;text-align: center}.tab.active .tab-badge{background-color: var(--color-primary-100);color: var(--color-primary-dark)}.tab-content{padding-top: var(--space-lg)}.tabs--pills{border-bottom: none;gap: var(--space-xs);background-color: var(--color-bg-alt);border-radius: var(--radius-lg);padding: var(--space-xs)}.tabs--pills .tab{border-bottom: none;border-radius: var(--radius-md);margin-bottom: 0;padding: 0.5rem 1rem}.tabs--pills .tab.active{background-color: var(--color-surface);color: var(--color-text);box-shadow: var(--shadow-sm)}.dropdown{position: relative;display: inline-block}.dropdown-trigger{cursor: pointer}.dropdown-menu{position: absolute;top: calc(100% + var(--space-xs));left: 0;min-width: 200px;max-height: 320px;overflow-y: auto;background-color: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);box-shadow: var(--shadow-xl);z-index: var(--z-dropdown);padding: var(--space-xs)}.dropdown-menu--right{left: auto;right: 0}.dropdown-menu--up{top: auto;bottom: calc(100% + var(--space-xs))}.dropdown-item{display: flex;align-items: center;gap: var(--space-sm);padding: 0.5rem 0.75rem;font-size: var(--text-sm);color: var(--color-text);border-radius: var(--radius-md);cursor: pointer;transition: background-color var(--transition-fast), color var(--transition-fast);white-space: nowrap}.dropdown-item:hover{background-color: var(--color-surface-hover)}.dropdown-item.active{background-color: var(--color-primary-50);color: var(--color-primary)}.dropdown-item--danger{color: var(--color-error)}.dropdown-item--danger:hover{background-color: var(--color-error-light)}.dropdown-item:disabled, .dropdown-item.disabled{color: var(--color-text-faint);cursor: not-allowed;pointer-events: none}.dropdown-item-icon{width: 16px;height: 16px;flex-shrink: 0;color: var(--color-text-muted)}.dropdown-divider{height: 1px;background-color: var(--color-border-light);margin: var(--space-xs) 0}.dropdown-header{padding: 0.5rem 0.75rem 0.25rem;font-size: var(--text-xs);font-weight: var(--font-semibold);color: var(--color-text-faint);text-transform: uppercase;letter-spacing: var(--tracking-wider)}.alert{display: flex;align-items: flex-start;gap: var(--space-sm);padding: var(--space-md);border-radius: var(--radius-lg);border-left: 4px solid var(--color-border);background-color: var(--color-bg-alt);font-size: var(--text-sm);line-height: var(--leading-relaxed)}.alert-success{background-color: var(--color-success-light);border-left-color: var(--color-success);color: var(--color-success-dark)}.alert-warning{background-color: var(--color-warning-light);border-left-color: var(--color-warning);color: var(--color-warning-dark)}.alert-error{background-color: var(--color-error-light);border-left-color: var(--color-error);color: var(--color-error-dark)}.alert-info{background-color: var(--color-info-light);border-left-color: var(--color-info);color: var(--color-info-dark)}.alert-icon{flex-shrink: 0;width: 20px;height: 20px;margin-top: 1px}.alert-content{flex: 1;min-width: 0}.alert-title{font-weight: var(--font-semibold);margin-bottom: 2px}.alert-close{flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border-radius: var(--radius-sm);cursor: pointer;opacity: 0.6;transition: opacity var(--transition-fast), background-color var(--transition-fast)}.alert-close:hover{opacity: 1;background-color: rgba(0, 0, 0, 0.05)}.pagination{display: flex;align-items: center;gap: var(--space-xs)}.pagination-item{display: inline-flex;align-items: center;justify-content: center;min-width: 36px;height: 36px;padding: 0 var(--space-sm);font-size: var(--text-sm);font-weight: var(--font-medium);color: var(--color-text-muted);border-radius: var(--radius-md);cursor: pointer;transition: background-color var(--transition-fast), color var(--transition-fast);user-select: none}.pagination-item:hover{background-color: var(--color-surface-hover);color: var(--color-text)}.pagination-item.active{background-color: var(--color-primary);color: var(--color-text-inverse)}.pagination-item.disabled{color: var(--color-text-faint);cursor: not-allowed;pointer-events: none}.pagination-ellipsis{display: inline-flex;align-items: center;justify-content: center;width: 36px;height: 36px;color: var(--color-text-faint);font-size: var(--text-sm);cursor: default}.avatar{display: inline-flex;align-items: center;justify-content: center;border-radius: var(--radius-full);overflow: hidden;background-color: var(--color-primary-100);color: var(--color-primary);font-weight: var(--font-semibold);flex-shrink: 0}.avatar img{width: 100%;height: 100%;object-fit: cover}.avatar-xs{width: 24px;height: 24px;font-size: var(--text-xs)}.avatar-sm{width: 32px;height: 32px;font-size: var(--text-xs)}.avatar-md{width: 40px;height: 40px;font-size: var(--text-sm)}.avatar-lg{width: 56px;height: 56px;font-size: var(--text-lg)}.avatar-xl{width: 80px;height: 80px;font-size: var(--text-2xl)}.avatar-2xl{width: 120px;height: 120px;font-size: var(--text-3xl)}.avatar--square{border-radius: var(--radius-lg)}.avatar-group{display: flex;align-items: center}.avatar-group .avatar{border: 2px solid var(--color-surface);margin-left: -8px}.avatar-group .avatar:first-child{margin-left: 0}.avatar-group--count{display: inline-flex;align-items: center;justify-content: center;border-radius: var(--radius-full);background-color: var(--color-bg-alt);border: 2px solid var(--color-surface);margin-left: -8px;font-size: var(--text-xs);font-weight: var(--font-medium);color: var(--color-text-muted)}.avatar-wrapper{position: relative;display: inline-block}.avatar-status{position: absolute;bottom: 0;right: 0;width: 12px;height: 12px;border-radius: var(--radius-full);border: 2px solid var(--color-surface)}.avatar-status--online{background-color: var(--color-success)}.avatar-status--offline{background-color: var(--color-text-faint)}.avatar-status--busy{background-color: var(--color-error)}.avatar-status--away{background-color: var(--color-warning)}.stat-card{background-color: var(--color-surface);border-radius: var(--radius-lg);border: 1px solid var(--color-border-light);padding: var(--space-lg);display: flex;align-items: flex-start;justify-content: space-between;gap: var(--space-md);box-shadow: var(--shadow-sm);transition: box-shadow var(--transition-base), border-color var(--transition-base)}.stat-card:hover{box-shadow: var(--shadow-md);border-color: var(--color-border)}.stat-card-content{flex: 1;min-width: 0}.stat-card-label{font-size: var(--text-sm);color: var(--color-text-muted);margin-bottom: var(--space-xs);font-weight: var(--font-medium)}.stat-card-value{font-size: var(--text-3xl);font-weight: var(--font-bold);color: var(--color-text);line-height: var(--leading-none);margin-bottom: var(--space-xs);letter-spacing: var(--tracking-tight)}.stat-card-trend{display: inline-flex;align-items: center;gap: 4px;font-size: var(--text-xs);font-weight: var(--font-medium);padding: 2px 6px;border-radius: var(--radius-full)}.stat-card-trend--up{color: var(--color-success-dark);background-color: var(--color-success-light)}.stat-card-trend--down{color: var(--color-error-dark);background-color: var(--color-error-light)}.stat-card-trend--neutral{color: var(--color-text-muted);background-color: var(--color-bg-alt)}.stat-card-icon{display: flex;align-items: center;justify-content: center;width: 48px;height: 48px;border-radius: var(--radius-lg);background-color: var(--color-primary-50);color: var(--color-primary);flex-shrink: 0}.stat-card-icon--success{background-color: var(--color-success-light);color: var(--color-success)}.stat-card-icon--warning{background-color: var(--color-warning-light);color: var(--color-warning)}.stat-card-icon--error{background-color: var(--color-error-light);color: var(--color-error)}.stat-card-icon--info{background-color: var(--color-info-light);color: var(--color-info)}.lang-switcher{position: relative;display: inline-block}.lang-switcher-trigger{display: inline-flex;align-items: center;gap: var(--space-xs);padding: 0.375rem 0.75rem;font-size: var(--text-sm);font-weight: var(--font-medium);color: var(--color-text);background-color: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md);cursor: pointer;transition: border-color var(--transition-fast), background-color var(--transition-fast)}.lang-switcher-trigger:hover{border-color: var(--color-border-strong);background-color: var(--color-surface-hover)}.lang-switcher-flag{width: 20px;height: 15px;border-radius: 2px;object-fit: cover}.lang-switcher-code{font-size: var(--text-xs);text-transform: uppercase;font-weight: var(--font-semibold);letter-spacing: var(--tracking-wide)}.lang-switcher-menu{position: absolute;top: calc(100% + var(--space-xs));right: 0;min-width: 180px;background-color: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);box-shadow: var(--shadow-xl);z-index: var(--z-dropdown);padding: var(--space-xs)}.lang-switcher-option{display: flex;align-items: center;gap: var(--space-sm);padding: 0.5rem 0.75rem;font-size: var(--text-sm);color: var(--color-text);border-radius: var(--radius-md);cursor: pointer;transition: background-color var(--transition-fast)}.lang-switcher-option:hover{background-color: var(--color-surface-hover)}.lang-switcher-option.active{background-color: var(--color-primary-50);color: var(--color-primary)}.lang-switcher-option-name{flex: 1}.theme-toggle{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: var(--radius-md);cursor: pointer;color: var(--color-text-muted);background: transparent;border: 1px solid transparent;transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast)}.theme-toggle:hover{background-color: var(--color-surface-hover);color: var(--color-text);border-color: var(--color-border)}.theme-toggle-icon{width: 20px;height: 20px;transition: transform var(--transition-base)}.theme-toggle:hover .theme-toggle-icon{transform: rotate(15deg) translateZ(0)}.theme-toggle-group{display: inline-flex;align-items: center;background-color: var(--color-bg-alt);border-radius: var(--radius-md);padding: 2px;gap: 2px}.theme-toggle-option{display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;border-radius: var(--radius-sm);cursor: pointer;color: var(--color-text-faint);transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast)}.theme-toggle-option:hover{color: var(--color-text)}.theme-toggle-option.active{background-color: var(--color-surface);color: var(--color-text);box-shadow: var(--shadow-sm)}.tooltip{position: relative;display: inline-block}.tooltip-content{position: absolute;bottom: calc(100% + 8px);left: 50%;transform: translateX(-50%) translateZ(0);padding: 0.375rem 0.75rem;font-size: var(--text-xs);font-weight: var(--font-medium);color: var(--color-text-inverse);background-color: var(--color-text);border-radius: var(--radius-md);white-space: nowrap;z-index: var(--z-tooltip);box-shadow: var(--shadow-lg);pointer-events: none}.tooltip-content::after{content: '';position: absolute;top: 100%;left: 50%;transform: translateX(-50%);border: 5px solid transparent;border-top-color: var(--color-text)}.tooltip-content--bottom{bottom: auto;top: calc(100% + 8px)}.tooltip-content--bottom::after{top: auto;bottom: 100%;border-top-color: transparent;border-bottom-color: var(--color-text)}.breadcrumb{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-xs);font-size: var(--text-sm)}.breadcrumb-item{display: inline-flex;align-items: center;gap: var(--space-xs);color: var(--color-text-muted)}.breadcrumb-item a{color: var(--color-text-muted);text-decoration: none;transition: color var(--transition-fast)}.breadcrumb-item a:hover{color: var(--color-primary)}.breadcrumb-item:last-child{color: var(--color-text);font-weight: var(--font-medium)}.breadcrumb-separator{color: var(--color-text);font-size: var(--text-xs)}.empty-state{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;padding: var(--space-3xl) var(--space-lg);max-width: 480px;margin: 0 auto}.empty-state-icon{width: 64px;height: 64px;color: var(--color-text-faint);margin-bottom: var(--space-lg);opacity: 0.5}.empty-state-title{font-size: var(--text-xl);font-weight: var(--font-semibold);color: var(--color-text);margin-bottom: var(--space-sm)}.empty-state-text{font-size: var(--text-sm);color: var(--color-text-muted);margin-bottom: var(--space-lg);line-height: var(--leading-relaxed)}.divider{display: flex;align-items: center;gap: var(--space-md);color: var(--color-text-faint);font-size: var(--text-sm);margin: var(--space-lg) 0}.divider::before, .divider::after{content: '';flex: 1;height: 1px;background-color: var(--color-border)}.divider:empty::after{display: none}.divider:empty{height: 1px;background-color: var(--color-border)}.divider:empty::before{display: none}.price{display: inline-flex;align-items: baseline;gap: 2px}.price-currency{font-size: var(--text-sm);font-weight: var(--font-medium);color: var(--color-text)}.price-amount{font-size: var(--text-2xl);font-weight: var(--font-bold);color: var(--color-text);line-height: var(--leading-none)}.price-period{font-size: var(--text-sm);color: var(--color-text-muted);font-weight: var(--font-normal)}.price--sm .price-amount{font-size: var(--text-lg)}.price--lg .price-amount{font-size: var(--text-4xl)}.price-original{font-size: var(--text-sm);color: var(--color-text-faint);text-decoration: line-through;margin-right: var(--space-xs)}.rating{display: inline-flex;align-items: center;gap: 2px}.rating-star{width: 18px;height: 18px;color: var(--color-border)}.rating-star--filled{color: var(--color-warning)}.rating-star--half{position: relative;color: var(--color-border)}.rating-value{font-size: var(--text-sm);font-weight: var(--font-semibold);color: var(--color-text);margin-left: var(--space-xs)}.rating-count{font-size: var(--text-sm);color: var(--color-text-muted);margin-left: 2px}.accordion{border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden}.accordion-item{border-bottom: 1px solid var(--color-border-light)}.accordion-item:last-child{border-bottom: none}.accordion-trigger{display: flex;align-items: center;justify-content: space-between;width: 100%;padding: var(--space-md) var(--space-lg);font-size: var(--text-base);font-weight: var(--font-medium);color: var(--color-text);background: transparent;cursor: pointer;text-align: left;transition: background-color var(--transition-fast)}.accordion-trigger:hover{background-color: var(--color-surface-hover)}.accordion-trigger-icon{width: 20px;height: 20px;flex-shrink: 0;color: var(--color-text-muted);transition: transform var(--transition-base);transform: rotate(0deg) translateZ(0)}.accordion-item.expanded .accordion-trigger-icon{transform: rotate(180deg) translateZ(0)}.accordion-content{padding: 0 var(--space-lg) var(--space-lg);font-size: var(--text-sm);color: var(--color-text-muted);line-height: var(--leading-relaxed)}.progress{width: 100%;height: 8px;background-color: var(--color-bg-alt);border-radius: var(--radius-full);overflow: hidden}.progress-bar{height: 100%;background-color: var(--color-primary);border-radius: var(--radius-full);transition: width 600ms cubic-bezier(0.16, 1, 0.3, 1)}.progress-bar--success{background-color: var(--color-success)}.progress-bar--warning{background-color: var(--color-warning)}.progress-bar--error{background-color: var(--color-error)}.progress--sm{height: 4px}.progress--lg{height: 12px}.progress-label{display: flex;align-items: center;justify-content: space-between;margin-bottom: var(--space-xs);font-size: var(--text-sm)}.progress-label-text{color: var(--color-text);font-weight: var(--font-medium)}.progress-label-value{color: var(--color-text-muted)}.amenity-tag{padding: 0rem .75rem;border-radius: var(--radius-full);background-color: var(--color-accent-light);color: #fff}.chip{display: inline-flex;align-items: center;gap: var(--space-xs);padding: 0.375rem 0.875rem;font-size: var(--text-sm);font-weight: var(--font-medium);color: var(--color-text);background-color: var(--color-bg-alt);border: 1px solid var(--color-border);border-radius: var(--radius-full);cursor: pointer;transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);user-select: none}.chip:hover{background-color: var(--color-surface-hover);border-color: var(--color-border-strong)}.chip.active{background-color: var(--color-primary);border-color: var(--color-primary);color: #fff}.chip-group{display: flex;flex-wrap: wrap;gap: var(--space-sm)}.skeleton-text{height: 14px;border-radius: var(--radius-sm);margin-bottom: var(--space-sm)}.skeleton-text:last-child{width: 70%}.skeleton-title{height: 22px;width: 60%;border-radius: var(--radius-sm);margin-bottom: var(--space-md)}.skeleton-avatar{width: 40px;height: 40px;border-radius: var(--radius-full)}.skeleton-image{width: 100%;aspect-ratio: 16 / 10;border-radius: var(--radius-md)}.skeleton-button{height: 40px;width: 120px;border-radius: var(--radius-md)}.skeleton-card{border-radius: var(--radius-md);overflow: hidden;background: var(--color-bg);border: 1px solid var(--color-border, rgba(0,0,0,0.06))}.skeleton-card-image{width: 100%;aspect-ratio: 16 / 10}.skeleton-card-body{padding: var(--space-md)}.skeleton-text.w80{width: 80%}.skeleton-text.w60{width: 60%}.skeleton-text.w50{width: 50%}.skeleton-text.w40{width: 40%}.skeleton-text.w30{width: 30%}.skeleton-grid{display: grid;gap: var(--space-md)}.skeleton-grid.cols-2{grid-template-columns: repeat(2, 1fr)}.skeleton-grid.cols-3{grid-template-columns: repeat(3, 1fr)}.skeleton-grid.cols-4{grid-template-columns: repeat(4, 1fr)}.skeleton-content{max-width: 800px}.skeleton-content .skeleton-text{width: 100%;margin-bottom: var(--space-sm)}.skeleton-content .skeleton-text:nth-child(3n){width: 85%}.skeleton-content .skeleton-text:nth-child(5n){width: 70%}.skeleton-content .skeleton-text:last-child{width: 50%}.skeleton-review{padding: var(--space-lg);border-radius: var(--radius-md);background: var(--color-bg);border: 1px solid var(--color-border, rgba(0,0,0,0.06))}.skeleton-stars{display: flex;gap: 4px;margin-bottom: var(--space-sm)}.skeleton-star{width: 16px;height: 16px;border-radius: 2px}.skeleton-form-group{margin-bottom: var(--space-md)}.skeleton-form-label{height: 12px;width: 25%;margin-bottom: var(--space-xs);border-radius: var(--radius-sm)}.skeleton-form-input{height: 40px;width: 100%;border-radius: var(--radius-md)}@media (max-width: 768px){.skeleton-grid.cols-3{grid-template-columns: repeat(2, 1fr)}.skeleton-grid.cols-4{grid-template-columns: repeat(2, 1fr)}}@media (max-width: 480px){.skeleton-grid.cols-2, .skeleton-grid.cols-3, .skeleton-grid.cols-4{grid-template-columns: 1fr}}.loading-placeholder{display: flex;align-items: center;justify-content: center;padding: var(--space-2xl) 0;min-height: 200px}.loading-spinner{width: 40px;height: 40px;border: 3px solid var(--color-border, #e0e0e0);border-top-color: var(--color-primary, #0a7e8c);border-radius: 50%;animation: spinner-rotate 0.8s linear infinite}@keyframes spinner-rotate{to{transform: rotate(360deg)}}.loading-placeholder--sm{padding: var(--space-lg) 0;min-height: 100px}.loading-placeholder--sm .loading-spinner{width: 24px;height: 24px;border-width: 2px}@media (max-width: 640px){.datatable-header{flex-direction: column;align-items: stretch}.datatable-search{max-width: 100%}.datatable-footer{flex-direction: column;align-items: center;text-align: center}.stat-card{padding: var(--space-md)}.stat-card-value{font-size: var(--text-2xl)}.lightbox-nav{display: none}.gallery-grid{grid-template-columns: repeat(2, 1fr)}.tabs{gap: 0}.tab{padding: 0.625rem 0.75rem;font-size: var(--text-xs)}.modal-footer{flex-direction: column}.modal-footer .btn{width: 100%}}.cookie-banner{position: fixed;bottom: 0;left: 0;right: 0;z-index: 9990;transform: translateY(100%);transition: transform 0.3s ease}.cookie-banner--visible{transform: translateY(0)}.cookie-banner__inner{display: flex;align-items: center;justify-content: space-between;gap: 1.5rem;padding: 1rem 2rem;background: var(--color-surface, #fff);border-top: 1px solid var(--color-border, #e5e7eb);box-shadow: var(--shadow-md)}.cookie-banner__text{font-size: var(--text-sm, 0.875rem);color: var(--color-text, #1a1a2e);margin: 0;flex: 1;line-height: var(--leading-relaxed, 1.625)}.cookie-banner__link{font-size: var(--text-xs, 0.75rem);color: var(--color-primary, #4361ee);text-decoration: underline;margin-top: 0.25rem;display: inline-block}.cookie-banner__content{flex: 1;min-width: 0}.cookie-banner__categories{display: flex;flex-wrap: wrap;gap: 0.75rem;margin-top: 0.75rem}.cookie-category{display: flex;align-items: center;gap: 0.35rem;font-size: var(--text-sm, 0.875rem);cursor: pointer;flex-wrap: wrap}.cookie-category input[type="checkbox"]{accent-color: var(--color-primary, #2563eb)}.cookie-category .text-xs{display: block;width: 100%;padding-left: 1.25rem;font-size: 0.7rem}.cookie-banner__actions{display: flex;gap: 0.5rem;flex-shrink: 0;flex-wrap: wrap}.durinweb-logo-link{height: 35px}@media (max-width: 900px){.cookie-banner__inner{flex-direction: column;text-align: center;padding: 1rem}.cookie-banner__categories{flex-direction: column;align-items: flex-start}.cookie-banner__actions{width: 100%;justify-content: center}.cookie-banner__actions .btn{min-width: 0}}@media (max-width: 480px){.cookie-banner__actions{flex-direction: column;gap: 0.4rem}.cookie-banner__actions .btn{width: 100%;text-align: center}}.toggle-switch{position: relative;display: inline-block;width: 46px;height: 26px;flex-shrink: 0}.toggle-switch input{opacity: 0;width: 0;height: 0;position: absolute}.toggle-slider{position: absolute;inset: 0;background: var(--color-border, #d1d5db);border-radius: 26px;cursor: pointer;transition: background .2s ease}.toggle-slider::before{content: '';position: absolute;left: 3px;top: 3px;width: 20px;height: 20px;background: #fff;border-radius: 50%;box-shadow: 0 1px 3px rgba(0,0,0,.2);transition: transform .2s ease}.toggle-switch input:checked + .toggle-slider{background: var(--color-primary, #5d3a1a)}.toggle-switch input:checked + .toggle-slider::before{transform: translateX(20px)}.toggle-switch input:focus-visible + .toggle-slider{outline: 2px solid var(--color-primary, #5d3a1a);outline-offset: 2px}.news-card{display: flex;flex-direction: column;height: 100%}.news-card-body{display: flex;flex-direction: column;align-items: flex-start;flex: 1}.news-card-footer{margin-top: auto;padding-top: var(--space-md)}.carousel{position: relative;overflow: clip !important;scroll-snap-type: none !important;width: 100%;display: block !important;grid-template-columns: none !important}.carousel-track{display: flex !important;will-change: transform}.carousel-slide{flex-shrink: 0}.carousel-prev, .carousel-next{position: absolute;top: 50%;transform: translateY(-50%);z-index: 2;width: 40px;height: 40px;border: none;border-radius: 50%;background: var(--color-bg, #fff);color: var(--color-text, #333);box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);cursor: pointer;display: flex;align-items: center;justify-content: center;transition: background 200ms, opacity 200ms, box-shadow 200ms;opacity: 0.9}.carousel-prev{left: 8px}.carousel-next{right: 8px}.carousel-prev:hover, .carousel-next:hover{opacity: 1;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2)}.carousel-prev:disabled, .carousel-next:disabled{opacity: 0.3;cursor: default;pointer-events: none}.carousel-dots{display: flex;justify-content: center;gap: 8px;padding: 16px 0 4px}.carousel-dot{width: 10px;height: 10px;border: none;border-radius: 50%;background: var(--color-text-muted, #999);opacity: 0.4;cursor: pointer;padding: 0;transition: opacity 200ms, transform 200ms, background 200ms}.carousel-dot:hover{opacity: 0.7}.carousel-dot--active{opacity: 1;background: var(--color-primary, #5d3a1a);transform: scale(1.2)}@media (max-width: 768px){.carousel-prev, .carousel-next{width: 32px;height: 32px}.carousel-prev svg, .carousel-next svg{width: 18px;height: 18px}}.event-calendar{margin-bottom: 32px}.ec-header{display: flex;align-items: center;justify-content: space-between;padding: 12px 10px;margin-bottom: 8px}.ec-header h3{font-size: 1.15rem;font-weight: 600;margin: 0;text-transform: capitalize}.ec-nav{display: flex;gap: 4px}.ec-nav button{width: 36px;height: 36px;border: 1px solid var(--color-border, #ddd);border-radius: 8px;background: var(--color-bg, #fff);color: var(--color-text, #333);cursor: pointer;display: flex;align-items: center;justify-content: center;transition: background 200ms, border-color 200ms}.ec-nav button:hover{background: var(--color-bg-soft, #f5f5f5);border-color: var(--color-primary, #0A7E8C)}.ec-weekdays{display: grid;grid-template-columns: repeat(7, 1fr);text-align: center;font-size: 0.75rem;font-weight: 600;color: var(--color-text-muted, #888);text-transform: uppercase;letter-spacing: 0.5px;padding: 8px 0;border-bottom: 1px solid var(--color-border, #eee)}.ec-grid{display: grid;grid-template-columns: repeat(7, 1fr);gap: 2px}.ec-day{aspect-ratio: 1;display: flex;flex-direction: column;align-items: center;justify-content: flex-start;padding: 6px 2px;border-radius: 8px;cursor: default;font-size: 0.85rem;transition: background 200ms;min-height: 48px;position: relative}.ec-day--other-month{opacity: 0.3}.ec-day--today{font-weight: 700;background: var(--color-primary-light, rgba(10, 126, 140, 0.1))}.ec-day--today .ec-day-num{color: var(--color-primary, #0A7E8C)}.ec-day--has-events{cursor: pointer}.ec-day--has-events:hover{background: var(--color-bg-soft, #f0f0f0)}.ec-day--selected{background: var(--color-primary-light, rgba(10, 126, 140, 0.15));box-shadow: inset 0 0 0 2px var(--color-primary, #0A7E8C)}.ec-day-num{font-size: 0.85rem;line-height: 1;margin-bottom: 4px}.ec-dots{display: flex;gap: 3px;flex-wrap: wrap;justify-content: center}.ec-dot{width: 6px;height: 6px;border-radius: 50%;background: var(--color-primary, #0A7E8C)}.ec-dot--featured{background: var(--color-accent, #E8614D)}.ec-more{font-size: 0.6rem;color: var(--color-text-muted, #888);line-height: 1}.ec-day-panel{grid-column: 1 / -1;background: var(--color-bg-soft, #f8f8f8);border-radius: 12px;padding: 16px;margin: 4px 0;animation: ecSlideDown 300ms cubic-bezier(0.16, 1, 0.3, 1)}@keyframes ecSlideDown{from{opacity: 0;transform: translateY(-10px);max-height: 0}to{opacity: 1;transform: translateY(0);max-height: 500px}}.ec-day-panel h4{font-size: 0.9rem;font-weight: 600;margin: 0 0 12px;color: var(--color-text-muted, #888)}.ec-event-item{display: flex;align-items: center;gap: 12px;padding: 10px 12px;background: var(--color-bg, #fff);border-radius: 8px;margin-bottom: 8px;transition: box-shadow 200ms;cursor: pointer;text-decoration: none;color: inherit}.ec-event-item:last-child{margin-bottom: 0}.ec-event-item:hover{box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1)}.ec-event-time{font-size: 0.8rem;font-weight: 600;color: var(--color-primary, #0A7E8C);white-space: nowrap;min-width: 50px}.ec-event-title{font-size: 0.9rem;font-weight: 500}.ec-event-location{font-size: 0.75rem;color: var(--color-text-muted, #888)}.events-view-toggle{display: flex;gap: 4px;margin-bottom: 20px;padding: 4px;background: var(--color-bg-soft, #f0f0f0);border-radius: 8px;width: fit-content}.events-view-toggle .btn{padding: 6px 16px;border-radius: 6px;font-size: 0.85rem;border: none;background: transparent;color: var(--color-text-muted, #666);cursor: pointer;transition: background 200ms, color 200ms}.events-view-toggle .btn.active{background: var(--color-bg, #fff);color: var(--color-text, #333);box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1)}.events-split-layout{display: grid;grid-template-columns: 380px 1fr;gap: var(--space-2xl);align-items: start}.events-split-calendar{position: sticky;top: calc(var(--header-height, 64px) + var(--space-lg))}.events-split-list{min-width: 0}.events-split-list .chip-group{margin-bottom: var(--space-lg)}.events-split-list .events-list{display: flex;flex-direction: column}.event-card{display: flex;gap: var(--space-md);padding: var(--space-md);background: var(--color-surface, #fff);border-radius: var(--radius-lg, 12px);border: 1px solid var(--color-border, #e5e7eb);transition: transform 200ms, box-shadow 200ms;text-decoration: none;color: inherit;margin-bottom: var(--space-sm)}.event-card:hover{transform: translateY(-2px);box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08)}.event-card__date-badge{flex-shrink: 0;width: 56px;text-align: center;background: var(--color-primary);color: #fff;border-radius: var(--radius-md, 8px);padding: var(--space-xs) var(--space-sm);display: flex;flex-direction: column;align-items: center;justify-content: center;line-height: 1.1}.event-card__date-day{font-size: var(--fs-2xl, 1.5rem);font-weight: var(--fw-bold, 700)}.event-card__date-month{font-size: var(--fs-xs, 0.75rem);text-transform: uppercase;letter-spacing: 0.05em;opacity: 0.85}.event-card__body{flex: 1;min-width: 0}.event-card__title{font-size: var(--fs-md, 1rem);font-weight: var(--fw-semibold, 600);margin-bottom: var(--space-2xs, 4px);color: var(--color-text)}.event-card__meta{font-size: var(--fs-sm, 0.875rem);color: var(--color-text-muted, #6b7280);display: flex;flex-wrap: wrap;gap: var(--space-sm)}.event-card__meta i{margin-right: 4px;opacity: 0.7}.event-card__desc{font-size: var(--fs-sm, 0.875rem);color: var(--color-text-secondary);margin-top: var(--space-xs);display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.event-card--featured{border-left: 3px solid var(--color-accent, #e8614d)}[data-theme="dark"] .event-card{background: var(--color-surface, #1f2937);border-color: var(--color-border, #374151)}[data-theme="dark"] .event-card:hover{box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3)}.ec-day{cursor: pointer}.ec-day--other-month{cursor: default}@media (max-width: 900px){.events-split-layout{grid-template-columns: 1fr}.events-split-calendar{position: static}}@media (max-width: 640px){.ec-day{min-height: 36px;padding: 4px 1px}.ec-day-num{font-size: 0.75rem}.ec-dot{width: 4px;height: 4px}}.masonry-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));grid-auto-rows: 10px;gap: 16px}.masonry-item{border-radius: var(--radius, 8px);overflow: hidden}.count-up{font-variant-numeric: tabular-nums}.count-up[data-counted]{transition: none}.official-board-search{margin-bottom: var(--space-lg)}.official-board-search .search-input-wrap{position: relative;max-width: 480px}.official-board-search .search-input-wrap i{position: absolute;left: 14px;top: 50%;transform: translateY(-50%);color: var(--color-text-muted, #888);font-size: var(--fs-sm);pointer-events: none}.official-board-search .form-input{width: 100%;padding: var(--space-sm) var(--space-md) var(--space-sm) 40px;border: 1px solid var(--color-border);border-radius: var(--radius-md, 8px);background: var(--color-surface);color: var(--color-text);font-size: var(--fs-base);transition: border-color 0.2s, box-shadow 0.2s}.official-board-search .form-input:focus{outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.15)}.official-board-tabs{display: flex;gap: var(--space-xs, 6px);margin-bottom: var(--space-xl);overflow-x: auto;-webkit-overflow-scrolling: touch;scrollbar-width: none;padding-bottom: 2px}.official-board-tabs::-webkit-scrollbar{display: none}.official-board-tabs .tab-btn{flex-shrink: 0;padding: var(--space-xs, 6px) var(--space-md, 16px);border: 1px solid var(--color-border);border-radius: var(--radius-pill, 999px);background: var(--color-surface);color: var(--color-text-muted, #666);font-size: var(--fs-sm);font-weight: 500;cursor: pointer;transition: all 0.2s;white-space: nowrap}.official-board-tabs .tab-btn:hover{border-color: var(--color-primary);color: var(--color-primary);background: var(--color-surface-hover, rgba(0,0,0,0.03))}.official-board-tabs .tab-btn.active{background: var(--color-primary);color: #fff;border-color: var(--color-primary)}.official-board-list{display: flex;flex-direction: column;gap: var(--space-md)}.official-board-item{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md, 8px);padding: var(--space-lg);transition: box-shadow 0.2s, border-color 0.2s}.official-board-item:hover{border-color: var(--color-primary);box-shadow: 0 2px 12px rgba(0,0,0,0.06)}.official-board-item-header{display: flex;align-items: center;justify-content: space-between;gap: var(--space-sm);margin-bottom: var(--space-sm);flex-wrap: wrap}.official-board-category{display: inline-flex;align-items: center;padding: 2px 10px;border-radius: var(--radius-pill, 999px);background: var(--color-primary);color: #fff;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase}.official-board-date{display: inline-flex;align-items: center;gap: 4px;font-size: var(--fs-sm);color: var(--color-text-muted, #888)}.official-board-item-title{font-size: var(--fs-lg, 1.125rem);font-weight: 600;color: var(--color-text);margin: 0 0 var(--space-xs, 6px) 0;line-height: 1.4}.official-board-item-desc{font-size: var(--fs-sm);color: var(--color-text-muted, #666);margin: 0 0 var(--space-md) 0;line-height: 1.6}.official-board-item-actions{display: flex;gap: var(--space-sm);flex-wrap: wrap}[data-theme="dark"] .official-board-search .form-input{background: var(--color-surface);border-color: var(--color-border);color: var(--color-text)}[data-theme="dark"] .official-board-tabs .tab-btn{background: var(--color-surface);border-color: var(--color-border);color: var(--color-text-muted, #aaa)}[data-theme="dark"] .official-board-tabs .tab-btn:hover{border-color: var(--color-primary);color: var(--color-primary);background: rgba(255,255,255,0.05)}[data-theme="dark"] .official-board-tabs .tab-btn.active{background: var(--color-primary);color: #fff;border-color: var(--color-primary)}[data-theme="dark"] .official-board-item{background: var(--color-surface);border-color: var(--color-border)}[data-theme="dark"] .official-board-item:hover{border-color: var(--color-primary);box-shadow: 0 2px 12px rgba(0,0,0,0.2)}[data-theme="dark"] .official-board-category{background: var(--color-primary);color: #fff}@media (max-width: 640px){.official-board-item{padding: var(--space-md)}.official-board-item-actions{flex-direction: column}.official-board-item-actions .btn{width: 100%;justify-content: center}}.announcements-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));gap: var(--space-xl)}.announcement-card{background: var(--color-bg-elevated);border: 1px solid var(--color-border);border-radius: var(--radius-lg);padding: var(--space-xl);transition: box-shadow var(--transition-base), transform var(--transition-base)}.announcement-card:hover{box-shadow: var(--shadow-md);transform: translateY(-2px)}.announcement-card-meta{display: flex;align-items: center;gap: var(--space-sm);margin-bottom: var(--space-md);font-size: var(--fs-xs);color: var(--color-text-muted)}.announcement-card-category{display: inline-flex;padding: 2px 10px;border-radius: var(--radius-full);background: rgba(var(--color-accent-rgb, 59, 130, 246), 0.1);color: var(--color-accent, var(--color-primary));font-size: var(--fs-xs);font-weight: var(--fw-medium)}.announcement-card-title{font-size: var(--fs-lg);font-weight: var(--fw-semibold);margin-bottom: var(--space-sm);line-height: var(--lh-tight)}.announcement-card-title a{color: var(--color-text);text-decoration: none}.announcement-card-title a:hover{color: var(--color-primary)}.announcement-card-excerpt{font-size: var(--fs-sm);color: var(--color-text-secondary);line-height: var(--lh-relaxed);display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden}[data-theme="dark"] .announcement-card{background: var(--color-bg-elevated);border-color: var(--color-border)}.service-tile{display: flex;flex-direction: column;align-items: center;gap: var(--space-sm);padding: var(--space-xl) var(--space-lg);background: var(--color-bg-elevated);border: 1px solid var(--color-border);border-radius: var(--radius-lg);text-decoration: none;color: var(--color-text);text-align: center;transition: box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base)}.service-tile:hover{box-shadow: var(--shadow-md);transform: translateY(-3px);border-color: var(--color-primary)}.service-tile__icon{display: inline-flex;align-items: center;justify-content: center;width: 3rem;height: 3rem;border-radius: var(--radius-full);background: rgba(var(--color-accent-rgb, 59, 130, 246), 0.1);color: var(--color-primary);font-size: 1.25rem}.service-tile__icon svg{width: 1.25rem;height: 1.25rem;stroke: currentColor;fill: none}.service-tile__icon i{font-size: 1.25rem}.service-tile__title{font-size: var(--fs-sm);font-weight: var(--fw-semibold)}.service-tile__dept{font-size: var(--fs-xs);color: var(--color-text-muted)}[data-theme="dark"] .service-tile{background: var(--color-bg-elevated);border-color: var(--color-border)}[data-theme="dark"] .service-tile__icon{background: rgba(var(--color-accent-rgb, 59, 130, 246), 0.15)}.services-preview-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));gap: var(--space-lg)}@media (min-width: 768px){.services-preview-grid{grid-template-columns: repeat(3, 1fr)}}.events-preview-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: var(--space-lg)}.events-list{display: flex;flex-direction: column;gap: var(--space-md)}.event-list-item{display: flex;gap: var(--space-md);padding: var(--space-md);background: var(--color-bg-elevated);border: 1px solid var(--color-border);border-radius: var(--radius-md);text-decoration: none;color: var(--color-text);transition: box-shadow var(--transition-base), transform var(--transition-base)}.event-list-item:hover{box-shadow: var(--shadow-sm);transform: translateX(4px)}.event-list-date{display: flex;flex-direction: column;align-items: center;justify-content: center;min-width: 48px;padding: var(--space-xs) var(--space-sm);background: var(--color-primary);color: #fff;border-radius: var(--radius-md);text-align: center;flex-shrink: 0}.event-list-date-day{font-size: var(--fs-xl);font-weight: var(--fw-bold);line-height: 1}.event-list-date-month{font-size: var(--fs-xs);text-transform: uppercase;letter-spacing: 0.05em}.event-list-info{flex: 1;min-width: 0}.event-list-title{font-size: var(--fs-md);font-weight: var(--fw-semibold);margin-bottom: 2px}.event-list-meta{font-size: var(--fs-xs);color: var(--color-text-muted)}[data-theme="dark"] .event-list-item{background: var(--color-bg-elevated);border-color: var(--color-border)}.council-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));gap: var(--space-xl)}.council-member-card{text-align: center;background: var(--color-bg-elevated);border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;transition: box-shadow var(--transition-base), transform var(--transition-base)}.council-member-card:hover{box-shadow: var(--shadow-md);transform: translateY(-2px)}.council-member-photo{width: 100%;aspect-ratio: 1;object-fit: cover;background: var(--color-bg-subtle)}.council-member-info{padding: var(--space-lg)}.council-member-name{font-size: var(--fs-md);font-weight: var(--fw-semibold);margin-bottom: var(--space-xs)}.council-member-role{font-size: var(--fs-sm);color: var(--color-primary);font-weight: var(--fw-medium);margin-bottom: var(--space-xs)}.council-member-party{font-size: var(--fs-xs);color: var(--color-text-muted)}.council-member-contact{font-size: var(--fs-xs);color: var(--color-text-secondary);margin-top: var(--space-sm)}.council-member-contact a{color: var(--color-primary);text-decoration: none}.council-member-contact a:hover{text-decoration: underline}[data-theme="dark"] .council-member-card{background: var(--color-bg-elevated);border-color: var(--color-border)}.quick-links-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));gap: var(--space-md)}@media (min-width: 768px){.quick-links-grid{grid-template-columns: repeat(6, 1fr)}}.quick-link-card{display: flex;flex-direction: column;align-items: center;gap: var(--space-sm);padding: var(--space-xl) var(--space-md);background: var(--color-bg-elevated);border: 1px solid var(--color-border);border-radius: var(--radius-lg);text-decoration: none;color: var(--color-text);font-size: var(--fs-sm);font-weight: var(--fw-medium);text-align: center;transition: box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base)}.quick-link-card i{font-size: 1.5rem;color: var(--color-primary)}.quick-link-card:hover{box-shadow: var(--shadow-md);transform: translateY(-3px);border-color: var(--color-primary)}[data-theme="dark"] .quick-link-card{background: var(--color-bg-elevated);border-color: var(--color-border)}[data-theme="dark"] .quick-link-card i{color: var(--color-accent-light, var(--color-primary))}.sidebar-widget{background: var(--color-bg-elevated);border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;margin-bottom: var(--space-lg)}.sidebar-widget-header{display: flex;align-items: center;gap: var(--space-sm);padding: var(--space-md) var(--space-lg);background: var(--color-primary);color: #fff;font-weight: var(--fw-semibold);font-size: var(--fs-sm)}.sidebar-widget-header i{font-size: 1rem}.sidebar-widget-body{padding: var(--space-lg)}[data-theme="dark"] .sidebar-widget{background: var(--color-bg-elevated);border-color: var(--color-border)}.home-layout{display: grid;grid-template-columns: 1fr;gap: var(--space-3xl)}@media (min-width: 1024px){.home-layout{grid-template-columns: 1fr 320px}}.home-main{min-width: 0}.home-sidebar{display: flex;flex-direction: column}.office-hours-list{list-style: none;padding: 0;margin: 0}.office-hours-item{display: flex;justify-content: space-between;padding: var(--space-sm) 0;border-bottom: 1px solid var(--color-border-light, rgba(0,0,0,0.06));font-size: var(--fs-sm)}.office-hours-item:last-child{border-bottom: none}.office-hours-day{font-weight: var(--fw-medium)}.office-hours-closed{color: var(--color-text-muted);font-style: italic}.quick-links-list{list-style: none;padding: 0;margin: 0}.quick-links-list li{border-bottom: 1px solid var(--color-border-light, rgba(0,0,0,0.06))}.quick-links-list li:last-child{border-bottom: none}.quick-links-list a{display: flex;align-items: center;gap: var(--space-sm);padding: var(--space-sm) 0;color: var(--color-text);text-decoration: none;font-size: var(--fs-sm);transition: color var(--transition-fast)}.quick-links-list a:hover{color: var(--color-primary)}.quick-links-list a i{width: 1.25em;text-align: center;color: var(--color-primary);font-size: 0.875rem}.home-events-calendar-wrap{margin-bottom: var(--space-xl)}.gallery-section-body{overflow: hidden;word-wrap: break-word;overflow-wrap: break-word}.gallery-section-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.gallery-section-desc{display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}:root{--admin-sidebar-width: 280px;--admin-sidebar-collapsed: 72px;--admin-topbar-height: 64px;--admin-content-padding: 1.5rem;--admin-sidebar-bg: #1a1d2e;--admin-sidebar-text: #a6aab8;--admin-sidebar-text-active: #ffffff;--admin-sidebar-hover: rgba(0, 0, 0, 0.2);--admin-sidebar-active: rgba(99, 102, 241, 0.15);--admin-sidebar-active-border: var(--color-primary);--admin-sidebar-icon: #7c829d;--admin-sidebar-icon-active: var(--color-primary-light);--admin-sidebar-divider: rgba(255, 255, 255, 0.08);--admin-sidebar-header-bg: rgba(0, 0, 0, 0.15);--admin-card-bg: var(--color-surface);--admin-card-border: var(--color-border);--admin-card-shadow: var(--shadow-card);--color-bg-subtle: #f9fafb;--color-text-secondary: #4b5563;--color-bg-hover: #a3b9d7}[data-theme="dark"]{--admin-sidebar-bg: #0d1017;--admin-sidebar-text: #94a3b8;--admin-sidebar-text-active: #f1f5f9;--admin-sidebar-hover: rgba(255, 255, 255, 0.04);--admin-sidebar-active: rgba(129, 140, 248, 0.12);--admin-sidebar-active-border: var(--color-primary);--admin-sidebar-icon: #64748b;--admin-sidebar-icon-active: var(--color-primary);--admin-sidebar-divider: rgba(255, 255, 255, 0.06);--admin-sidebar-header-bg: rgba(0, 0, 0, 0.3);--color-bg-subtle: #0b101a;--color-text-secondary: #8395ad;--color-bg-hover: #151e31}@media (prefers-color-scheme: dark){[data-theme="system"]{--admin-sidebar-bg: #0d1017;--admin-sidebar-text: #94a3b8;--admin-sidebar-text-active: #f1f5f9;--admin-sidebar-hover: rgba(255, 255, 255, 0.04);--admin-sidebar-active: rgba(129, 140, 248, 0.12);--admin-sidebar-active-border: var(--color-primary);--admin-sidebar-icon: #64748b;--admin-sidebar-icon-active: var(--color-primary);--admin-sidebar-divider: rgba(255, 255, 255, 0.06);--admin-sidebar-header-bg: rgba(0, 0, 0, 0.3)}}.admin-body{margin: 0;padding: 0;overflow: hidden;height: 100vh;height: 100dvh}.admin-layout{display: flex;height: 100vh;height: 100dvh;overflow: hidden}.admin-sidebar{width: var(--admin-sidebar-width);min-width: var(--admin-sidebar-width);height: 100vh;height: 100dvh;background: var(--admin-sidebar-bg);display: flex;flex-direction: column;transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), min-width 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);z-index: var(--z-header);overflow: hidden;position: relative}.admin-sidebar.collapsed{width: var(--admin-sidebar-collapsed);min-width: var(--admin-sidebar-collapsed)}.sidebar-header{display: flex;align-items: center;justify-content: space-between;padding: 0.75rem 1.25rem;background: var(--admin-sidebar-header-bg);border-bottom: 1px solid var(--admin-sidebar-divider);flex-shrink: 0;min-height: 0}.box-io{fill: #F97316}.text-web{fill: #FFFFFF;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;font-weight: 800;font-size: 26px;letter-spacing: 0.5px}.text-build{fill: #0B1120;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;font-weight: 700;font-size: 26px}.text-io{fill: #FFFFFF;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;font-weight: 800;font-size: 26px}@media (prefers-color-scheme: dark){.box-web{fill: #FFFFFF}.text-web{fill: #0B1120}.text-build{fill: #FFFFFF}}.sidebar-logo{height: 45px;font-weight: 700;color: #ffffff;letter-spacing: -0.02em;white-space: nowrap;overflow: hidden;transition: opacity 0.2s ease}.admin-sidebar.collapsed .sidebar-logo{opacity: 0;width: 0}.sidebar-toggle{display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;border: none;background: transparent;border-radius: var(--radius-md);cursor: pointer;color: var(--admin-sidebar-text);transition: background 0.15s ease, color 0.15s ease;flex-shrink: 0}.sidebar-toggle:hover{background: var(--admin-sidebar-hover);color: var(--admin-sidebar-text-active)}.sidebar-nav{flex: 1 1 auto;overflow-y: auto;overflow-x: hidden;padding: 0.75rem 0;scrollbar-width: thin;scrollbar-color: rgba(255, 255, 255, 0.1) transparent}.sidebar-nav::-webkit-scrollbar{width: 4px}.sidebar-nav::-webkit-scrollbar-thumb{background: rgba(255, 255, 255, 0.1);border-radius: 4px}.sidebar-nav-group{margin-bottom: 0.125rem}.sidebar-nav-label{padding: 0.25rem 1.25rem;font-size: 0.6875rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.08em;color: rgba(255, 255, 255, 0.35);white-space: nowrap}.sidebar-nav-label.collapsible{cursor: pointer;display: flex;align-items: center;gap: 0.25rem;user-select: none;transition: color 0.15s ease;overflow: visible}.sidebar-nav-label.collapsible:hover{color: rgba(255, 255, 255, 0.65)}.sidebar-nav-label.collapsible:hover .sidebar-nav-chevron{color: rgba(255, 255, 255, 0.75)}.sidebar-nav-chevron{font-size: 0.5rem;margin-left: auto;transition: transform 0.25s ease;color: rgba(255, 255, 255, 0.5);flex-shrink: 0}.sidebar-nav-group.open .sidebar-nav-chevron{transform: rotate(180deg)}.sidebar-nav-items{overflow: hidden;max-height: 500px;transition: max-height 0.3s ease, opacity 0.2s ease;opacity: 1}.sidebar-nav-group:not(.open) .sidebar-nav-items{max-height: 0;opacity: 0}.admin-sidebar.collapsed .sidebar-nav-label{text-align: center;font-size: 0;padding: 0.5rem}.admin-sidebar.collapsed .sidebar-nav-chevron{display: none}.admin-sidebar.collapsed .sidebar-nav-items{max-height: 500px !important;opacity: 1 !important}.admin-sidebar.collapsed .sidebar-nav-label::after{content: '';display: block;width: 16px;height: 1px;background: var(--admin-sidebar-divider);margin: 0 auto}.sidebar-nav-item{display: flex;align-items: center;gap: 0.75rem;padding: 0.625rem 1.25rem;color: var(--admin-sidebar-text);text-decoration: none;font-size: 0.875rem;font-weight: 400;cursor: pointer;transition: background 0.15s ease, color 0.15s ease;border-left: 3px solid transparent;white-space: nowrap;overflow: hidden;position: relative;-webkit-user-select: none;user-select: none}.sidebar-nav-item:hover{background: var(--admin-sidebar-hover);color: var(--admin-sidebar-text-active);text-decoration: none}.sidebar-nav-item:hover .sidebar-nav-icon{color: var(--admin-sidebar-text-active)}.sidebar-nav-item.active{background: var(--admin-sidebar-active);color: var(--admin-sidebar-text-active);border-left-color: var(--admin-sidebar-active-border);font-weight: 500}.sidebar-nav-item.active .sidebar-nav-icon{color: var(--admin-sidebar-icon-active)}.sidebar-nav-icon{display: flex;align-items: center;justify-content: center;width: 22px;height: 22px;flex-shrink: 0;color: var(--admin-sidebar-icon);transition: color 0.15s ease}.sidebar-nav-icon i{font-size: 18px;line-height: 1}.sidebar-nav-text{flex: 1;overflow: hidden;text-overflow: ellipsis;transition: opacity 0.2s ease}.admin-sidebar.collapsed .sidebar-nav-text{opacity: 0;width: 0;overflow: hidden;flex: 0;min-width: 0}.admin-sidebar.collapsed .sidebar-nav-item{justify-content: center;padding: 0.625rem 0;border-left-color: transparent;gap: 0}.admin-sidebar.collapsed .sidebar-nav-item.active{border-left-color: transparent}.admin-sidebar.collapsed .sidebar-nav-icon{margin: 0 auto}.sidebar-nav-badge{display: inline-flex;align-items: center;justify-content: center;min-width: 20px;height: 20px;padding: 0 6px;font-size: 0.6875rem;font-weight: 600;color: #ffffff;background: var(--color-primary);border-radius: var(--radius-full);flex-shrink: 0}.admin-sidebar.collapsed .sidebar-nav-badge{position: absolute;top: 4px;right: 8px;min-width: 16px;height: 16px;font-size: 0.5625rem;padding: 0 4px}.sidebar-footer{flex-shrink: 0;padding: 0.75rem 1rem;border-top: 1px solid var(--admin-sidebar-divider);background: var(--admin-sidebar-header-bg)}.sidebar-user{display: flex;align-items: center;gap: 0.625rem;padding: 0.5rem 0.25rem;margin-bottom: 0.5rem;white-space: nowrap;overflow: hidden}.sidebar-user-avatar{width: 34px;height: 34px;border-radius: var(--radius-full);background: var(--color-primary);color: #ffffff;display: flex;align-items: center;justify-content: center;font-size: 0.8125rem;font-weight: 600;flex-shrink: 0}.sidebar-user-info{flex: 1;min-width: 0}.sidebar-user-name{font-size: 0.8125rem;font-weight: 600;color: var(--admin-sidebar-text-active);overflow: hidden;text-overflow: ellipsis}.sidebar-user-role{font-size: 0.6875rem;color: var(--admin-sidebar-text);text-transform: capitalize}.admin-sidebar.collapsed .sidebar-user-info{display: none}.admin-sidebar.collapsed .sidebar-user{justify-content: center;padding: 0.5rem 0;margin-bottom: 0.5rem}.admin-sidebar.collapsed .sidebar-footer{padding: 0.75rem 0.5rem}.admin-sidebar.collapsed .sidebar-actions{align-items: center;justify-content: center}.admin-sidebar.collapsed .sidebar-toggle{margin: 0 auto}.sidebar-actions{display: flex;align-items: center;gap: 0.5rem;flex-wrap: wrap}.admin-sidebar.collapsed .sidebar-actions{flex-direction: column}.admin-sidebar.collapsed .sidebar-actions .btn-outline{font-size: 0;padding: 0.375rem;min-width: 0;width: 36px;height: 36px;display: flex;align-items: center;justify-content: center}.admin-sidebar.collapsed .sidebar-actions .btn-outline svg, .admin-sidebar.collapsed .sidebar-actions .btn-outline i{font-size: initial;flex-shrink: 0}.theme-toggle-btn{display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;border: 1px solid var(--admin-sidebar-divider);background: transparent;border-radius: var(--radius-md);cursor: pointer;color: var(--admin-sidebar-text);transition: background 0.15s ease, color 0.15s ease;flex-shrink: 0}.theme-toggle-btn:hover{background: var(--admin-sidebar-hover);color: var(--admin-sidebar-text-active)}[data-theme="light"] .theme-icon-light{display: none}[data-theme="light"] .theme-icon-dark{display: inline-block}[data-theme="dark"] .theme-icon-light{display: inline-block}[data-theme="dark"] .theme-icon-dark{display: none}.sidebar-user .skeleton-pulse{animation: skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%, 100%{opacity: 0.4}50%{opacity: 0.15}}.admin-lang-switcher{position: relative}.admin-lang-switcher .lang-code{display: inline-flex;align-items: center;line-height: 1}.lang-dropdown{display: none;position: absolute;bottom: calc(100% + 6px);left: 0;background: var(--admin-sidebar-bg, var(--color-bg));border: 1px solid var(--color-border);border-radius: 0.5rem;padding: 0.25rem;min-width: 140px;box-shadow: 0 4px 16px rgba(0,0,0,0.15);z-index: 100}.lang-dropdown.open{display: block}.lang-dropdown-item{display: flex;align-items: center;gap: 0.5rem;width: 100%;padding: 0.4rem 0.6rem;border: none;background: none;color: var(--admin-sidebar-text, var(--color-text));font-size: 0.8rem;border-radius: 0.375rem;cursor: pointer;text-align: left;white-space: nowrap;transition: background 0.15s}.lang-dropdown-item:hover{background: var(--admin-sidebar-hover, var(--color-bg-alt))}.lang-dropdown-item.active{font-weight: 600;color: var(--color-accent, #6366f1)}.lang-flag{display: block;width: 20px;height: 15px;border-radius: 2px;object-fit: cover;flex-shrink: 0}.admin-main{flex: 1;display: flex;flex-direction: column;overflow: hidden;min-width: 0;background: var(--color-bg-alt)}.admin-topbar{display: flex;align-items: center;height: 0;padding: 0 var(--admin-content-padding);background: var(--color-surface);border-bottom: 1px solid var(--color-border);z-index: var(--z-sticky);gap: 1rem}.topbar-left{display: flex;align-items: center;gap: 0.75rem;min-width: 0}.topbar-title{font-size: 1.25rem;font-weight: 600;color: var(--color-text);margin: 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.mobile-menu-btn{display: none;align-items: center;justify-content: center;width: 40px;height: 40px;border: none;background: transparent;border-radius: var(--radius-md);cursor: pointer;color: var(--color-text);flex-shrink: 0}.mobile-menu-btn:hover{background: var(--color-surface-hover)}.topbar-right{display: flex;align-items: center;gap: 0.75rem;flex-shrink: 0}.topbar-actions{display: flex;align-items: center;gap: 0.5rem}.admin-content{flex: 1;overflow-y: auto;overflow-x: hidden;padding: var(--admin-content-padding);-webkit-overflow-scrolling: touch;overscroll-behavior-y: contain;scrollbar-width: thin;scrollbar-color: var(--color-border-strong) transparent;will-change: opacity, transform;backface-visibility: hidden}.admin-content:has(.admin-page-table), .admin-content:has(#admin-addresses){overflow-y: hidden;display: flex;flex-direction: column}.admin-content > .admin-page-table, .admin-content > #admin-addresses{flex: 1;min-height: 0}.admin-content::-webkit-scrollbar{width: 6px}.admin-content::-webkit-scrollbar-track{background: transparent}.admin-content::-webkit-scrollbar-thumb{background-color: var(--color-border-strong);border-radius: 3px}.ptr-indicator{height: 0;opacity: 0;overflow: hidden;display: flex;align-items: center;justify-content: center;transition: height .2s ease, opacity .2s ease;flex-shrink: 0}.ptr-indicator .ptr-spinner{transition: transform .2s ease}.ptr-indicator.ptr-ready .ptr-spinner{color: var(--color-primary)}.ptr-indicator.ptr-loading .ptr-spinner{animation: ptr-spin .6s linear infinite;color: var(--color-primary)}@keyframes ptr-spin{to{transform: rotate(360deg)}}.page-header{display: flex;align-items: center;justify-content: space-between;margin-bottom: 1.5rem;gap: 1rem;flex-wrap: wrap}.page-header-left{display: flex;align-items: center;gap: 0.75rem;min-width: 0}.page-header-right{display: flex;align-items: center;gap: 0.5rem;flex-shrink: 0;flex-wrap: wrap}.page-title{font-size: 1.5rem;font-weight: 700;color: var(--color-text);margin: 0}.page-subtitle{font-size: 0.875rem;color: var(--color-text-muted);margin: 0.25rem 0 0}.back-btn{display: inline-flex;align-items: center;gap: 0.375rem;padding: 0.375rem 0.75rem;font-size: 0.8125rem;font-weight: 500;color: var(--color-text-muted);background: transparent;border: 1px solid var(--color-border);border-radius: var(--radius-md);cursor: pointer;text-decoration: none;transition: all 0.15s ease}.back-btn:hover{color: var(--color-text);background: var(--color-surface);border-color: var(--color-border-strong);text-decoration: none}.page-header-actions{display: flex;gap:.5rem;align-items:center;flex-wrap:wrap}.admin-card, .card{background: var(--admin-card-bg);border: 1px solid var(--admin-card-border);border-radius: var(--radius-lg);box-shadow: var(--admin-card-shadow);padding: 1.25rem}.admin-card--clip{overflow: hidden}.admin-card-header, .card-header{display: flex;align-items: center;gap: 0.25rem;padding: 1rem 1.25rem !important;border-bottom: 1px solid var(--color-border-light);flex-wrap: wrap;margin: -1.25rem -1.25rem 0}.admin-card-title, .card-title{font-size: 0.9375rem;font-weight: 600;color: var(--color-text);margin: 0}.feeds-page .feed-section{display: flex;flex-direction: column;gap: var(--space-md)}.feeds-page .feed-section-header{display: flex;align-items: center;gap: 0.625rem;padding: 0 0.25rem}.feeds-page .feed-section-header h2{font-size: 1.0625rem;font-weight: 700;color: var(--color-text);margin: 0;line-height: 1.2}.feeds-page .feed-section-logo{display: inline-flex;align-items: center;justify-content: center;flex-shrink: 0;line-height: 0;max-height: 32px}img.feed-section-logo{height: 28px;width: auto;max-width: 320px}.feeds-page .feed-section-logo svg{display: block}.brand-logo--dark{display: none !important}[data-theme="dark"] .brand-logo--light{display: none !important}[data-theme="dark"] .brand-logo--dark{display: inline-block !important}.feeds-page .feed-col-logo{display: inline-flex;align-items: center;margin-right: 0.375rem;vertical-align: middle;line-height: 0}img.feed-col-logo{height: 20px;width: auto;margin-right: 0.375rem;vertical-align: middle}.feeds-page .feed-col-logo svg{display: block}.feeds-page .feed-header-row{display: flex;align-items: center;justify-content: space-between;gap: 0.75rem;width: 100%}.feeds-page .feed-header-row h2{font-size: 0.9375rem;font-weight: 600;color: var(--color-text);margin: 0}.input-with-action{display: flex;align-items: stretch;gap: 0.5rem}.input-with-action > .form-input, .input-with-action > input{flex: 1 1 auto;min-width: 0}.input-with-action > .btn{flex: 0 0 auto}.feed-stats{display: flex;flex-wrap: wrap;gap: 1rem 1.25rem;margin: 0.75rem 0 0.875rem;font-size: 0.8125rem;color: var(--color-text-muted)}.feed-stats .feed-stat strong{color: var(--color-text);font-weight: 600;margin-left: 0.25rem}.feeds-page .form-actions{display: flex;flex-wrap: wrap;gap: 0.5rem}.admin-card-body, .card-body{padding: 0.5rem;margin: -1.25rem}.admin-card-header + .admin-card-body, .card-header + .card-body, .admin-card-body + .admin-card-body, .card-body + .card-body{margin-top: 0}.admin-card-body:has(+ .admin-card-body), .card-body:has(+ .card-body){margin-bottom: 0}.admin-card-footer, .card-footer{padding: 0.75rem 1.25rem;border-top: 1px solid var(--color-border-light);background: var(--color-bg-alt);margin: 0 -1.25rem -1.25rem}.admin-card > .data-table-wrapper, .admin-card > .data-table-scroll{margin: -1.25rem}.admin-card-body + .data-table-wrapper, .admin-card-header + .data-table-wrapper{margin-top: 0}.admin-card > .datatable-pagination{margin: 1.25rem -1.25rem -1.25rem}.stat-cards{display: grid;grid-template-columns: repeat(4, 1fr);gap: 1rem;margin-bottom: 1.5rem}.stat-card{background: var(--admin-card-bg);border: 1px solid var(--admin-card-border);border-radius: var(--radius-lg);padding: 1.25rem;display: flex;align-items: flex-start;justify-content: space-between;gap: 1rem;transition: box-shadow 0.2s ease, transform 0.2s ease}.stat-card:hover{box-shadow: var(--shadow-md);transform: translateY(-1px)}.stat-card-content{flex: 1;min-width: 0}.stat-card-label{font-size: 0.8125rem;font-weight: 500;color: var(--color-text-muted);margin-bottom: 0.375rem}.stat-card-value{font-size: 1.75rem;font-weight: 700;color: var(--color-text);line-height: 1.2}.stat-card-change{font-size: 0.75rem;font-weight: 500;margin-top: 0.25rem;display: inline-flex;align-items: center;gap: 0.25rem}.stat-card-change.positive{color: var(--color-success)}.stat-card-change.negative{color: var(--color-error)}.stat-card-icon{width: 48px;height: 48px;border-radius: var(--radius-lg);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.stat-card-icon svg, .stat-card-icon i{font-size: 22px;line-height: 24px;text-align: center}.stat-card-icon.blue{background: rgba(99, 102, 241, 0.12);color: var(--color-primary, #6366f1)}.stat-card-icon.green{background: rgba(16, 185, 129, 0.12);color: #10b981}.stat-card-icon.orange{background: rgba(245, 158, 11, 0.12);color: #f59e0b}.stat-card-icon.purple{background: rgba(168, 85, 247, 0.12);color: #a855f7}.stat-card-icon.red{background: rgba(239, 68, 68, 0.12);color: #ef4444}.datatable-wrapper{background: var(--admin-card-bg);border: 1px solid var(--admin-card-border);border-radius: var(--radius-lg);overflow: hidden}.data-table-wrapper{background: var(--admin-card-bg);border: 1px solid var(--admin-card-border);border-radius: var(--radius-lg);display: flex;flex-direction: column;overflow: hidden}.data-table-scroll{overflow-x: auto;overflow-y: auto;flex: 1;min-height: 0}.data-table-scroll > .data-table{width: 100%}.data-table-scroll > .data-table thead{position: sticky;top: 0;z-index: 2;background: var(--admin-card-bg)}.admin-page-table{display: flex;flex-direction: column;height: 100%;min-height: 0}.admin-page-table > .page-header, .admin-page-table > .tabs, .admin-page-table > .flex, .admin-page-table > .admin-card, .admin-page-table > h2, .admin-page-table > h3{flex-shrink: 0}.admin-page-table > .data-table-wrapper{flex: 0 1 auto;min-height: 0;max-height: 100%}.data-table-wrapper > .datatable-pagination, .data-table-wrapper > [id$="-pagination"]{flex-shrink: 0;border-top: 1px solid var(--admin-card-border);background: var(--admin-card-bg);border-radius: 0 0 var(--radius-lg) var(--radius-lg);padding: 0.75rem 1rem}@media (max-width: 768px){.data-table-wrapper > .datatable-pagination, .data-table-wrapper > [id$="-pagination"]{padding: 0.5rem 0.75rem}.admin-pagination{gap: 0.5rem;font-size: 0.75rem;justify-content: center}.admin-pagination-info{order: 3;width: 100%;text-align: center}.admin-pagination-perpage{order: 2}.admin-page-btn{min-width: 28px;height: 28px;font-size: 0.75rem}}.datatable-toolbar{display: flex;align-items: center;justify-content: space-between;padding: 0.75rem 1rem;border-bottom: 1px solid var(--color-border-light);gap: 0.75rem;flex-wrap: wrap}.datatable-toolbar-left{display: flex;align-items: center;gap: 0.5rem;flex-wrap: wrap}.datatable-toolbar-right{display: flex;align-items: center;gap: 0.5rem}.datatable-search{position: relative}.datatable-search .form-input{width: 200px;height: 34px;font-size: 0.8125rem;padding-left: 0.75rem}.datatable-container{overflow-x: auto}.datatable, .data-table{width: 100%;border-collapse: collapse;font-size: 0.875rem}.datatable thead, .data-table thead{border-bottom: 2px solid var(--color-border)}.datatable th, .data-table th{padding: 0.75rem 1rem;text-align: left;font-weight: 600;font-size: 0.75rem;text-transform: uppercase;letter-spacing: 0.05em;color: var(--color-text-muted);background: var(--color-bg-alt);white-space: nowrap;cursor: default;user-select: none}.datatable th.sortable, .data-table th.sortable{cursor: pointer}.datatable th.sortable:hover, .data-table th.sortable:hover{color: var(--color-text)}.datatable th .sort-icon, .data-table th .sort-icon{display: inline-flex;margin-left: 0.25rem;opacity: 0.3}.datatable th.sorted-asc .sort-icon, .datatable th.sorted-desc .sort-icon, .data-table th.sorted-asc .sort-icon, .data-table th.sorted-desc .sort-icon{opacity: 1;color: var(--color-primary)}.data-table th.sorted-asc .sort-icon svg path:last-child, .datatable th.sorted-asc .sort-icon svg path:last-child, .data-table th.sorted-asc .sort-icon i, .datatable th.sorted-asc .sort-icon i{opacity: 0.3}.data-table th.sorted-desc .sort-icon svg path:first-child, .datatable th.sorted-desc .sort-icon svg path:first-child, .data-table th.sorted-desc .sort-icon i, .datatable th.sorted-desc .sort-icon i{opacity: 0.3}.data-table th.sort-asc::after, .data-table th.sort-desc::after{display: inline-block;margin-left: 0.35rem;font-size: 0.7em;opacity: 0.8;color: var(--color-primary)}.data-table th.sort-asc::after{content: "▲"}.data-table th.sort-desc::after{content: "▼"}.datatable td, .data-table td{padding: 0.75rem 1rem;color: var(--color-text);border-bottom: 1px solid var(--color-border-light);vertical-align: middle}.datatable td i, .data-table td i{margin-right: 0.5rem}.datatable td span > i, .data-table td span > i{margin-right: 0}.datatable tbody tr, .data-table tbody tr{cursor: pointer;transition: background 0.15s ease}.datatable tbody tr:hover, .data-table tbody tr:hover{background: var(--color-bg-hover, rgba(0,0,0,0.03))}.data-table tbody tr:hover .action-btn{opacity: 1 !important}.datatable tbody tr:last-child td, .data-table tbody tr:last-child td{border-bottom: none}#messages-table{width: 100%}#messages-table th:nth-child(1), #messages-table td:nth-child(1){padding: 0.75rem 0;text-align: center}#messages-table th:nth-child(6), #messages-table td:nth-child(6){padding: 0.75rem 0.5rem;white-space: nowrap}#messages-table td:nth-child(2), #messages-table td:nth-child(3), #messages-table td:nth-child(4){overflow: hidden;text-overflow: ellipsis;white-space: nowrap}#messages-table td:nth-child(5){white-space: nowrap;overflow: hidden;text-overflow: ellipsis}#messages-table tbody tr{cursor: pointer}#messages-table tbody tr.unread{font-weight: 600;background: var(--color-primary-50, rgba(99,102,241,0.04))}.datatable-pagination{display: flex;align-items: center;justify-content: space-between;padding: 0.75rem 1rem;font-size: 0.8125rem;color: var(--color-text-muted);border-top: 1px solid var(--admin-card-border, var(--color-border))}.datatable-pagination-info{flex-shrink: 0}.datatable-pagination-buttons{display: flex;align-items: center;gap: 0.25rem}.datatable-pagination-buttons button{display: inline-flex;align-items: center;justify-content: center;min-width: 32px;height: 32px;padding: 0 0.5rem;border: 1px solid var(--color-border);background: var(--color-surface);border-radius: var(--radius-sm);font-size: 0.8125rem;color: var(--color-text);cursor: pointer;transition: all 0.15s ease}.datatable-pagination-buttons button:hover{background: var(--color-surface-hover);border-color: var(--color-border-strong)}.datatable-pagination-buttons button.active{background: var(--color-primary);border-color: var(--color-primary);color: #ffffff}.datatable-pagination-buttons button:disabled{opacity: 0.4;cursor: not-allowed}.datatable-empty{text-align: center;padding: 3rem 1rem;color: var(--color-text-muted)}.datatable-empty-icon{margin-bottom: 0.75rem;color: var(--color-text-faint)}.badge{display: inline-flex;align-items: center;padding: 0.1875rem 0.625rem;font-size: 0.75rem;font-weight: 600;border-radius: var(--radius-full);white-space: nowrap;line-height: 1.4}.badge-primary{background: rgba(var(--color-primary-rgb), 0.1);color: var(--color-primary)}.badge-success{background: var(--color-success-light);color: var(--color-success-dark)}.badge-warning{background: var(--color-warning-light);color: var(--color-warning-dark)}.badge-error{background: var(--color-error-light);color: var(--color-error-dark)}.badge-info{background: var(--color-info-light);color: var(--color-info-dark)}.badge-neutral{background: var(--color-bg-alt);color: var(--color-text-muted);border: 1px solid var(--color-border)}.status-dot{display: inline-block;width: 8px;height: 8px;border-radius: 50%;margin-right: 0.375rem}.status-dot.active{background: var(--color-success)}.status-dot.inactive{background: var(--color-text-faint)}.status-dot.pending{background: var(--color-warning)}.status-dot.error{background: var(--color-error)}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;padding: 0.5rem 1.25rem;font-size: 0.875rem;font-weight: 500;line-height: 1.5;border: 1px solid transparent;border-radius: var(--radius-md);cursor: pointer;text-decoration: none;white-space: nowrap;transition: all 0.15s ease;font-family: inherit}.btn:hover{text-decoration: none}.btn-primary{background: var(--color-primary);color: #ffffff;border-color: var(--color-primary)}.btn-primary:hover{background: var(--color-primary-dark);border-color: var(--color-primary-dark)}.btn-secondary{background: var(--color-surface);color: var(--color-text);border-color: var(--color-border)}.btn-secondary:hover{background: var(--color-surface-hover);border-color: var(--color-border-strong)}.btn-danger{background: var(--color-error);color: #ffffff;border-color: var(--color-error)}.btn-danger:hover{background: var(--color-error-dark);border-color: var(--color-error-dark)}.btn-success{background: var(--color-success);color: #ffffff;border-color: var(--color-success)}.btn-success:hover{background: var(--color-success-dark);border-color: var(--color-success-dark)}.btn-warning{background: var(--color-warning, #f59e0b);color: #ffffff;border-color: var(--color-warning, #f59e0b)}.btn-warning:hover{background: var(--color-warning-dark, #d97706);border-color: var(--color-warning-dark, #d97706)}.btn-ghost{background: transparent;color: var(--color-text-muted);border-color: var(--color-border)}.btn-ghost:hover{background: var(--color-surface-hover);color: var(--color-text)}.btn-ghost.active{background: var(--color-primary);color: var(--color-primary-contrast, #fff);border-color: var(--color-primary)}.btn-ghost.active:hover{background: var(--color-primary-dark, var(--color-primary));color: var(--color-primary-contrast, #fff)}.btn-outline{background: transparent;color: var(--admin-sidebar-text);border-color: var(--admin-sidebar-divider)}.btn-outline:hover{background: var(--admin-sidebar-hover);color: var(--admin-sidebar-text-active)}.btn-sm{padding: 0.3125rem 0.75rem;font-size: 0.8125rem}.btn-lg{padding: 0.625rem 1.75rem;font-size: 1rem}.btn-icon{width: 36px;height: 36px;padding: 0}.btn-icon.btn-sm{width: 30px;height: 30px}.btn:disabled{opacity: 0.5;cursor: not-allowed;pointer-events: none}.form-group{margin-bottom: 1.5rem;min-width: 0}.form-label{display: flex;font-size: 0.8125rem;font-weight: 500;color: var(--color-text);gap:var(--space-md)}.form-label-hint{font-weight: 400;color: var(--color-text-muted);margin-left: 0.25rem}.form-input, .form-select, .form-textarea{display: block;width: 100%;padding: 0.625rem 0.875rem;font-size: 0.875rem;font-family: inherit;line-height: 1.5;color: var(--color-text);background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md, 8px);transition: border-color 0.15s ease, box-shadow 0.15s ease}.form-input:focus, .form-select:focus, .form-textarea:focus{border-color: var(--color-primary);outline: none;box-shadow: 0 0 0 4px rgba(var(--color-primary-rgb), 0.12)}.form-input::placeholder, .form-textarea::placeholder{color: var(--color-text-faint)}.form-input-sm{height: 34px;padding: 0.25rem 0.625rem;font-size: 0.8125rem}.form-textarea{min-height: 100px;resize: vertical}.form-select{cursor: pointer;appearance: none;background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 0.75rem center;padding-right: 2.25rem}.form-check{display: flex;align-items: center;gap: 0.5rem;cursor: pointer}.form-check input[type="checkbox"], .form-check input[type="radio"]{width: 18px;height: 18px;accent-color: var(--color-primary);cursor: pointer}.form-check-label{font-size: 0.875rem;color: var(--color-text);cursor: pointer}.form-helper{font-size: 0.75rem;color: var(--color-text-muted);margin-top: 0.25rem}.form-error-msg{font-size: 0.75rem;color: var(--color-error);margin-top: 0.25rem}.form-input.is-invalid, .form-select.is-invalid, .form-textarea.is-invalid{border-color: var(--color-error)}.form-input.is-invalid:focus, .form-select.is-invalid:focus, .form-textarea.is-invalid:focus{box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1)}.form-container{max-width: 800px}.form-section{margin-bottom: 2rem}.form-section-title{font-size: 1.0625rem;font-weight: 600;color: var(--color-text);margin-bottom: 1rem;padding-bottom: 0.5rem;border-bottom: 1px solid var(--color-border-light)}.form-card{background: var(--color-surface);border: 1px solid var(--color-border-light);border-radius: var(--radius-lg, 12px);padding: 1.5rem;margin-bottom: 1.5rem}.form-card-title{font-size: 1rem;font-weight: 600;margin-bottom: 1.25rem;padding-bottom: 0.75rem;border-bottom: 1px solid var(--color-border-light);color: var(--color-text);display: flex;align-items: center;gap: 0.5rem}.form-card-icon{font-size: 0.9375rem;color: var(--color-primary);width: 1.25rem;text-align: center;flex-shrink: 0}.form-card .form-row{display: grid;grid-template-columns: 1fr 1fr;gap: 0 1.5rem}.form-card .settings-row{padding: 0.5rem 0}.form-card .settings-row:first-child{padding-top: 0}.form-card .settings-row:last-child{border-bottom: none;padding-bottom: 0}.form-card .form-row .settings-row{border-bottom: none;padding-bottom: 0;padding-top: 0}@media (max-width: 640px){.form-card .form-row{grid-template-columns: 1fr}}.admin-switch{position: relative;display: inline-flex;align-items: center;gap: 0.625rem;cursor: pointer;user-select: none}.admin-switch input{opacity: 0;width: 0;height: 0;position: absolute}.admin-switch-track{width: 44px;height: 24px;background: var(--color-border-strong, #ccc);border-radius: 12px;position: relative;transition: background 0.2s ease;flex-shrink: 0}.admin-switch-track::after{content: '';position: absolute;width: 18px;height: 18px;border-radius: 50%;background: #fff;top: 3px;left: 3px;transition: transform 0.2s ease;box-shadow: 0 1px 3px rgba(0,0,0,0.15)}.admin-switch input:checked + .admin-switch-track{background: var(--color-primary, #2563eb)}.admin-switch input:checked + .admin-switch-track::after{transform: translateX(20px)}.admin-switch-label{font-size: 0.875rem;font-weight: 500;color: var(--color-text)}.admin-modal-backdrop{position: fixed;inset: 0;background: rgba(0,0,0,0.45);z-index: 1000;display: flex;align-items: center;justify-content: center;opacity: 0;pointer-events: none;transition: opacity 0.2s ease}.admin-modal-backdrop.visible{opacity: 1;pointer-events: auto}.admin-modal{background: var(--color-surface);border-radius: var(--radius-lg, 12px);box-shadow: 0 20px 60px rgba(0,0,0,0.2);width: 90%;max-height: 85vh;overflow-y: auto;transform: translateY(12px) scale(0.97);transition: transform 0.2s ease}.admin-modal-backdrop.visible .admin-modal{transform: translateY(0) scale(1)}.admin-modal-md{max-width: 640px}.admin-modal-lg{max-width: 800px}.admin-modal-xl{max-width: 960px}.admin-modal-header{display: flex;align-items: center;justify-content: space-between;padding: 1.25rem 1.5rem;border-bottom: 1px solid var(--color-border-light)}.admin-modal-header h3{font-size: 1.125rem;font-weight: 600;margin: 0}.admin-modal-body{padding: 1.5rem}.admin-modal-footer{display: flex;justify-content: flex-end;gap: 0.75rem;padding: 1rem 1.5rem;border-top: 1px solid var(--color-border-light)}.form-row{display: grid;grid-template-columns: repeat(2, 1fr);gap: 1rem}.form-actions{display: flex;align-items: center;gap: 0.75rem;padding-top: 1rem;border-top: 1px solid var(--color-border-light);margin-top: 1.5rem}.form-color{display: flex;align-items: center;gap: 0.5rem}.form-color input[type="color"]{width: 40px;height: 36px;padding: 2px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);cursor: pointer;background: transparent}.form-color .color-value{font-size: 0.8125rem;font-family: var(--font-mono);color: var(--color-text-muted)}.collapsible{border-radius: var(--radius-lg);margin-bottom: 2px}.collapsible-header{display: flex;align-items: center;justify-content: space-between;padding: 0.875rem 1.25rem;cursor: pointer;user-select: none;transition: background 0.15s ease}.collapsible-header:hover{background: var(--color-surface-hover)}.collapsible-title{font-size: 0.9375rem;font-weight: 600;color: var(--color-text)}.collapsible-icon{color: var(--color-text-muted);transition: transform 0.2s ease}.collapsible.open .collapsible-icon{transform: rotate(180deg)}.collapsible-body{padding: 0 1.25rem 1.25rem;display: none}.collapsible.open .collapsible-body{display: block}.admin-tabs{display: flex;border-bottom: 2px solid var(--color-border-light);gap: 0;overflow-x: auto;overflow-y: hidden}.admin-tab{display: inline-flex;align-items: center;gap: 0.375rem;padding: 0.75rem 1.25rem;font-size: 0.875rem;font-weight: 500;color: var(--color-text-muted);background: transparent;border: none;border-bottom: 2px solid transparent;margin-bottom: -2px;cursor: pointer;white-space: nowrap;transition: color 0.15s ease, border-color 0.15s ease}.admin-tab:hover{color: var(--color-text)}.admin-tab.active{color: var(--color-primary);border-bottom-color: var(--color-primary);font-weight: 600}.admin-tab-badge{font-size: 0.6875rem;padding: 0.0625rem 0.4375rem;background: var(--color-bg-alt);border-radius: var(--radius-full);color: var(--color-text-muted);font-weight: 600}.admin-tab.active .admin-tab-badge{background: rgba(var(--color-primary-rgb), 0.1);color: var(--color-primary)}.tabs{display: flex;flex-wrap: wrap;border-bottom: 2px solid var(--color-border-light);margin-bottom: 0.75rem;gap: 0}.tabs + .admin-card.mt-3, .tabs + .tab-content, .tabs + .tab-panels, .tabs + .admin-card{margin-top: 0 !important}.tab-panel > .admin-card:first-child, .tab-panel > .admin-card.mt-3:first-child, .tab-panels > .tab-panel > .admin-card:first-child, .tab-panels > .tab-panel > .admin-card.mt-3:first-child{margin-top: 0 !important}.tab-item{display: inline-flex;align-items: center;gap: 0.25rem;padding: 0.5rem 0.875rem;font-size: 0.8125rem;font-weight: 500;color: var(--color-text-muted);background: transparent;border: none;border-bottom: 2px solid transparent;margin-bottom: -2px;cursor: pointer;white-space: nowrap;transition: color 0.15s ease, border-color 0.15s ease}.tab-item:hover{color: var(--color-text)}.tab-item.active{color: var(--color-primary);border-bottom-color: var(--color-primary);font-weight: 600}.tab-panel, .resource-tab-content, .org-tab-content{display: none}.tab-content.active, .tab-panel.active, .resource-tab-content.active, .org-tab-content.active{display: block}.filter-bar{display: flex;align-items: center;gap: 0.75rem;margin-bottom: 1rem;flex-wrap: wrap}.filter-group{display: flex;align-items: center;gap: 0.25rem}.filter-badge{display: inline-flex;align-items: center;align-self: center;gap: 0.375rem;padding: 0.1875rem 0.625rem;font-size: 0.8125rem;line-height: 1.3;font-weight: 500;color: var(--color-text-muted);background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-full);cursor: pointer;transition: all 0.15s ease;white-space: nowrap;min-height: 0}.filter-group, .admin-card-body .flex{align-items: center}.filter-badge:hover{border-color: var(--color-border-strong);color: var(--color-text)}.filter-badge.active{background: rgba(var(--color-primary-rgb), 0.1);border-color: var(--color-primary);color: var(--color-primary)}.filter-badge .filter-count{font-size: 0.6875rem;font-weight: 700;background: var(--color-bg-alt);padding: 0.0625rem 0.375rem;border-radius: var(--radius-full)}.filter-badge.active .filter-count{background: rgba(var(--color-primary-rgb), 0.15)}.media-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));gap: 1rem}.media-item{position: relative;background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;cursor: pointer;transition: box-shadow 0.2s ease, transform 0.15s ease;aspect-ratio: 1}.media-item:hover{box-shadow: var(--shadow-md);transform: translateY(-2px)}.media-item.selected{border-color: var(--color-primary);box-shadow: 0 0 0 2px var(--color-primary)}.media-item-thumb{width: 100%;height: 100%;object-fit: cover}.media-item-file{width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.5rem;color: var(--color-text-muted);padding: 1rem}.media-item-file-icon{font-size: 2rem;color: var(--color-text-faint)}.media-item-file-name{font-size: 0.75rem;text-align: center;word-break: break-all;line-clamp: 2;-webkit-line-clamp: 2;-webkit-box-orient: vertical;display: -webkit-box;overflow: hidden}.media-item-overlay{position: absolute;inset: 0;background: rgba(0, 0, 0, 0.4);display: flex;align-items: center;justify-content: center;opacity: 0;transition: opacity 0.2s ease}.media-item:hover .media-item-overlay{opacity: 1}.media-item-check{position: absolute;top: 0.5rem;left: 0.5rem;width: 22px;height: 22px;background: rgba(0, 0, 0, 0.5);border: 2px solid #ffffff;border-radius: 4px;display: flex;align-items: center;justify-content: center;opacity: 0;transition: opacity 0.15s ease}.media-item:hover .media-item-check, .media-item.selected .media-item-check{opacity: 1}.media-item.selected .media-item-check{background: var(--color-primary);border-color: var(--color-primary)}.media-bulk-bar{display: flex;align-items: center;gap: 0.75rem;margin-top: 0.75rem;padding: 0.6rem 1rem;background: var(--color-primary-50, #eff6ff);border: 1px solid var(--color-primary);border-radius: var(--radius-md);font-size: 0.9rem;flex-wrap: wrap}.media-bulk-bar span{color: var(--color-text)}#media-bulk-count-label{font-weight: 500}#media-bulk-savings{font-size: 0.8rem;opacity: 0.85}.media-picker-optimize-label{color: var(--color-text-muted, #6b7280);user-select: none;width: 100%;display: flex;align-items: center;gap: var(--space-sm)}.media-picker-optimize-label input[type="checkbox"]{width: 16px;height: 16px;accent-color: var(--color-primary)}#media-select-mode-btn.active{background: var(--color-primary);color: #fff;border-color: var(--color-primary)}.dashboard-unread-alert{display: flex;align-items: center;gap: 0.75rem;padding: 0.75rem 1rem;margin-bottom: 1rem;background: #fffbeb;border: 1px solid #f59e0b;border-left: 4px solid #f59e0b;border-radius: var(--radius-md);color: #92400e;font-size: 0.9rem}.dashboard-unread-alert svg, .dashboard-unread-alert i{flex-shrink: 0;color: #f59e0b}.dashboard-unread-alert span{flex: 1}.upload-zone{border: 2px dashed var(--color-border);border-radius: var(--radius-lg);padding: 2.5rem 1.5rem;text-align: center;cursor: pointer;transition: all 0.2s ease;background: var(--color-surface);margin-bottom: 1.5rem}.upload-zone:hover, .upload-zone.dragover{border-color: var(--color-primary);background: rgba(var(--color-primary-rgb), 0.03)}.upload-zone-icon{margin-bottom: 0.75rem;color: var(--color-text-faint)}.upload-zone-text{font-size: 0.9375rem;font-weight: 500;color: var(--color-text);margin-bottom: 0.25rem}.upload-zone-hint{font-size: 0.8125rem;color: var(--color-text-muted)}.upload-progress{margin-top: 1rem}.upload-progress-bar{height: 4px;background: var(--color-border);border-radius: 2px;overflow: hidden}.upload-progress-fill{height: 100%;background: var(--color-primary);border-radius: 2px;transition: width 0.3s ease;width: 0%}.upload-progress-text{font-size: 0.75rem;color: var(--color-text-muted);margin-top: 0.375rem;text-align: center}.integration-group{margin: 1rem}.settings-section{background: var(--admin-card-bg);border: 1px solid var(--admin-card-border);border-radius: var(--radius-lg);margin-bottom: 1.5rem}.settings-section-header{padding: 1rem 1.25rem;border-bottom: 1px solid var(--color-border-light)}.settings-section-title{font-size: 1rem;font-weight: 600;color: var(--color-text);margin: 0}.settings-section-desc{font-size: 0.8125rem;color: var(--color-text-muted);margin: 0.25rem 0 0}.settings-section-body{padding: 1.25rem}.settings-row{display: flex;flex-direction: column;gap: 0;align-items: stretch;padding: 0.875rem 0;border-bottom: 1px solid var(--color-border-light)}.settings-row > .form-label{margin-bottom: 4px}.settings-row:last-child{border-bottom: none;padding-bottom: 0}.settings-row:first-child{padding-top: 0}.settings-row-label{font-size: 0.875rem;font-weight: 500;color: var(--color-text);padding-top: 0.375rem}.settings-row-value{flex: 1}.appearance-layout{display: grid;grid-template-columns: 1fr 400px;gap: 1.5rem;align-items: start}.appearance-config{min-width: 0}.appearance-preview{position: sticky;top: 0;background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;height: 600px}.appearance-preview-header{display: flex;align-items: center;justify-content: space-between;padding: 0.5rem 0.75rem;border-bottom: 1px solid var(--color-border);background: var(--color-bg-alt)}.appearance-preview-title{font-size: 0.75rem;font-weight: 600;color: var(--color-text-muted);text-transform: uppercase;letter-spacing: 0.05em}.appearance-preview-frame{width: 100%;height: calc(100% - 36px);border: none;background: #ffffff}.template-cards{display: grid;grid-template-columns: repeat(3, 1fr);gap: 1rem;margin-bottom: 1.5rem}.template-card{border: 2px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;cursor: pointer;transition: all 0.2s ease}.template-card:hover{border-color: var(--color-border-strong);box-shadow: var(--shadow-md)}.template-card.active{border-color: var(--color-primary);box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.2)}.template-card-preview{aspect-ratio: 16 / 10;background: var(--color-bg-alt);overflow: hidden}.template-card-preview img{width: 100%;height: 100%;object-fit: cover}.template-card-info{padding: 0.75rem 1rem;border-top: 1px solid var(--color-border-light)}.template-card-name{font-size: 0.875rem;font-weight: 600;color: var(--color-text)}.chart-container{background: var(--admin-card-bg);border: 1px solid var(--admin-card-border);border-radius: var(--radius-lg);padding: 1.25rem;min-height: 300px;display: flex;align-items: center;justify-content: center}.chart-placeholder{text-align: center;color: var(--color-text-muted)}.chart-placeholder-icon{font-size: 2rem;margin-bottom: 0.5rem;color: var(--color-text-faint)}.pricing-calendar{display: grid;grid-template-columns: repeat(7, 1fr);gap: 2px;overflow-x: auto}.pricing-calendar-nav{grid-column: 1 / -1;display: flex;align-items: center;justify-content: space-between;padding: 0.25rem 0 0.75rem}.pricing-calendar-nav-title{font-size: 1rem;font-weight: 600;color: var(--color-text);user-select: none}.pricing-calendar-nav .btn{min-width: 32px;width: 32px;height: 32px;padding: 0;display: flex;align-items: center;justify-content: center;border-radius: var(--radius-md, 8px);border: 1px solid var(--color-border, #d1d5db);background: var(--color-surface, #fff);color: var(--color-text-muted);cursor: pointer;transition: background 0.15s ease, border-color 0.15s ease}.pricing-calendar-nav .btn:hover{background: var(--color-surface-hover, #f3f4f6);border-color: var(--color-border-strong, #9ca3af);color: var(--color-text)}.pricing-calendar-header{font-size: 0.6875rem;font-weight: 600;text-transform: uppercase;text-align: center;padding: 0.5rem;color: var(--color-text-muted)}.pricing-calendar-day{cursor: pointer;padding: 0.5rem 0.25rem;text-align: center;border: 1px solid var(--color-border-light);border-radius: var(--radius-sm);min-height: 60px;font-size: 0.75rem;transition: background 0.1s ease}.pricing-calendar-day:hover{background: var(--color-surface-hover)}.pricing-calendar-day-num{font-weight: 600;color: var(--color-text);margin-bottom: 0.25rem}.pricing-calendar-day-price{font-size: 0.6875rem;font-weight: 500;color: var(--color-text-muted)}.pricing-calendar-day.base-price .pricing-calendar-day-price{color: var(--color-info)}.pricing-calendar-day.override-price .pricing-calendar-day-price{color: var(--color-warning);font-weight: 600}.pricing-calendar-day.today{border-color: var(--color-primary, #2563eb);background: rgba(37, 99, 235, 0.04)}.pricing-calendar-day.today .pricing-calendar-day-num{color: var(--color-primary, #2563eb)}.pricing-calendar-day.empty{border-color: transparent}.pricing-calendar-day.clickable{cursor: pointer}.pricing-calendar-day.clickable:hover{background: var(--color-primary-bg, rgba(37, 99, 235, 0.08));border-color: var(--color-primary, #2563eb)}.quick-actions{display: flex;gap: 0.75rem;flex-wrap: wrap}.quick-action-btn{display: flex;align-items: center;gap: 0.5rem;padding: 0.75rem 1.25rem;background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-lg);cursor: pointer;transition: all 0.15s ease;font-size: 0.875rem;font-weight: 500;color: var(--color-text)}.quick-action-btn:hover{background: var(--color-surface-hover);border-color: var(--color-border-strong);box-shadow: var(--shadow-sm)}.quick-action-btn svg, .quick-action-btn i{color: var(--color-primary)}button.quick-action-btn{font-family: inherit;text-align: left}button.quick-action-btn:disabled{opacity: 0.6;cursor: wait}.tag-input-wrapper{display: flex;flex-wrap: wrap;gap: 0.375rem;padding: 0.375rem 0.5rem;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-surface);min-height: 38px;align-items: center;cursor: text;transition: border-color 0.15s ease}.tag-input-wrapper:focus-within{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.1)}.tag-item{display: inline-flex;align-items: center;gap: 0.25rem;padding: 0.125rem 0.5rem;background: rgba(var(--color-primary-rgb), 0.1);color: var(--color-primary);border-radius: var(--radius-sm);font-size: 0.8125rem;font-weight: 500}.tag-remove{display: flex;align-items: center;justify-content: center;width: 16px;height: 16px;cursor: pointer;border: none;background: transparent;color: inherit;opacity: 0.6;padding: 0;font-size: 1rem;line-height: 1}.tag-remove:hover{opacity: 1}.tag-input{border: none;outline: none;background: transparent;font-size: 0.875rem;color: var(--color-text);min-width: 80px;flex: 1;padding: 0.125rem 0}.tag-input::placeholder{color: var(--color-text-faint)}.char-counter{display: flex;justify-content: flex-end;margin-top: 0.25rem;font-size: 0.6875rem;color: var(--color-text-faint)}.char-counter.warn{color: var(--color-warning)}.char-counter.over{color: var(--color-error)}.richtext-container{border: 1px solid var(--color-border);border-radius: var(--radius-lg);overflow: hidden;background: var(--color-surface)}.richtext-toolbar{display: flex;align-items: center;gap: 0.25rem;padding: 0.5rem;border-bottom: 1px solid var(--color-border);background: var(--color-bg-alt);flex-wrap: wrap}.richtext-toolbar-btn{display: flex;align-items: center;justify-content: center;width: 32px;height: 32px;border: none;background: transparent;border-radius: var(--radius-sm);cursor: pointer;color: var(--color-text-muted);transition: all 0.1s ease}.richtext-toolbar-btn:hover{background: var(--color-surface-hover);color: var(--color-text)}.richtext-toolbar-btn.active{background: rgba(var(--color-primary-rgb), 0.1);color: var(--color-primary)}.richtext-toolbar-sep{width: 1px;height: 24px;background: var(--color-border);margin: 0 0.25rem}.richtext-editor{min-height: 300px;max-height: calc(100vh - 300px);overflow-y: auto;padding: 1rem;outline: none;font-size: 0.9375rem;line-height: 1.7;color: var(--color-text)}.richtext-editor:focus{box-shadow: inset 0 0 0 2px rgba(var(--color-primary-rgb), 0.1)}.reservation-detail-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem}.detail-info-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem}.detail-field{margin-bottom: 1rem}.detail-field-label{font-size: 0.75rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.04em;color: var(--color-text-muted);margin-bottom: 0.25rem}.detail-field-value{font-size: 0.9375rem;color: var(--color-text);font-weight: 500}.status-actions{display: flex;gap: 0.5rem;flex-wrap: wrap;margin-bottom: 1.5rem}.admin-notes{margin-top: 1.5rem}.translation-row{display: grid;grid-template-columns: 250px 1fr auto;gap: 0.75rem;align-items: center;padding: 0.5rem 0;border-bottom: 1px solid var(--color-border-light)}.translation-row:last-child{border-bottom: none}.translation-key{font-size: 0.8125rem;font-family: var(--font-mono);color: var(--color-text-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.translation-value{width: 100%}.translation-value .form-input{font-size: 0.8125rem;height: 34px}.translation-actions{display: flex;gap: 0.25rem}.skeleton{background: linear-gradient( 90deg, var(--color-border-light) 25%, var(--color-surface-hover) 50%, var(--color-border-light) 75% );background-size: 200% 100%;animation: skeleton-pulse 1.5s ease-in-out infinite;border-radius: var(--radius-md)}@keyframes skeleton-pulse{0%{background-position: 200% 0}100%{background-position: -200% 0}}@keyframes spin{from{transform: rotate(0deg)}to{transform: rotate(360deg)}}.spin-icon{animation: spin 1s linear infinite}.gallery-item-card[draggable="true"]{transition: opacity 0.2s, transform 0.15s, box-shadow 0.15s;user-select: none}.gallery-item-card.gallery-dragging{opacity: 0.4;transform: scale(0.95)}.gallery-item-card.gallery-dragover{box-shadow: 0 0 0 2px var(--color-primary);border-radius: var(--radius-md)}.gallery-drag-placeholder{transition: all 0.15s ease}.gallery-drag-handle:hover{background: rgba(0, 0, 0, 0.7) !important}.skeleton-page{padding: 1rem 0}.skeleton-text{height: 14px;margin-bottom: 0.75rem;width: 80%}.skeleton-text.short{width: 40%}.skeleton-text.w60{width: 60%}.skeleton-text.w50{width: 50%}.skeleton-text.w30{width: 30%}.skeleton-text.w20{width: 20%}.skeleton-heading{height: 20px;width: 50%;margin-bottom: 1rem}.skeleton-stat-cards{display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 1rem;margin-bottom: 1.5rem}.skeleton-stat-card{padding: 1.25rem;border-radius: var(--radius-lg);border: 1px solid var(--color-border-light);background: var(--color-surface)}.skeleton-stat-card .skeleton{border-radius: var(--radius-sm)}.skeleton-stat-card-label{height: 12px;width: 60%;margin-bottom: 0.75rem}.skeleton-stat-card-value{height: 28px;width: 40%;margin-bottom: 0.5rem}.skeleton-stat-card-change{height: 12px;width: 30%}.skeleton-table{width: 100%;border-collapse: collapse}.skeleton-table td{padding: 0.75rem 0.75rem;border-bottom: 1px solid var(--color-border-light)}.skeleton-table td .skeleton{border-radius: var(--radius-sm);height: 14px}.skeleton-grid{display: grid;gap: 0.75rem}.skeleton-grid.cols-4{grid-template-columns: repeat(4, 1fr)}.skeleton-grid.cols-3{grid-template-columns: repeat(3, 1fr)}.skeleton-grid.cols-2{grid-template-columns: repeat(2, 1fr)}.skeleton-card{border-radius: var(--radius-md);border: 1px solid var(--color-border-light);overflow: hidden;background: var(--color-surface)}.skeleton-card-image{width: 100%;aspect-ratio: 16 / 10}.skeleton-card-body{padding: 0.75rem}.skeleton-form-group{margin-bottom: 1.25rem}.skeleton-form-label{height: 12px;width: 25%;margin-bottom: 0.5rem}.skeleton-form-input{height: 38px;width: 100%;border-radius: var(--radius-md)}.skeleton-form-textarea{height: 120px;width: 100%;border-radius: var(--radius-md)}.skeleton-toolbar{display: flex;gap: 0.75rem;margin-bottom: 1rem}.skeleton-select{height: 38px;width: 180px;border-radius: var(--radius-md)}.skeleton-btn{height: 38px;width: 120px;border-radius: var(--radius-md)}.skeleton-tabs{display: flex;gap: 0.5rem;margin-bottom: 1rem;border-bottom: 1px solid var(--color-border-light);padding-bottom: 0.5rem}.skeleton-tab{height: 16px;width: 80px;border-radius: var(--radius-sm)}.skeleton-chart{height: 200px;width: 100%;border-radius: var(--radius-md);margin-top: 1rem}.skeleton-calendar{display: grid;grid-template-columns: repeat(7, 1fr);gap: 2px;margin-top: 1rem}.skeleton-calendar-cell{height: 40px;border-radius: var(--radius-sm)}@media (max-width: 768px){.skeleton-grid.cols-4{grid-template-columns: repeat(2, 1fr)}.skeleton-grid.cols-3{grid-template-columns: repeat(2, 1fr)}.skeleton-stat-cards{grid-template-columns: repeat(2, 1fr)}.sidebar-logo{height: 39px}}@media (max-width: 480px){.skeleton-grid.cols-4, .skeleton-grid.cols-3, .skeleton-grid.cols-2{grid-template-columns: 1fr}.skeleton-stat-cards{grid-template-columns: 1fr}}.dow-checkboxes{display: flex;gap: 0.375rem;flex-wrap: wrap}.dow-checkbox{display: flex;align-items: center;justify-content: center;width: 40px;height: 36px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);font-size: 0.75rem;font-weight: 600;color: var(--color-text-muted);cursor: pointer;transition: all 0.15s ease;background: var(--color-surface);user-select: none}.dow-checkbox:hover{border-color: var(--color-border-strong)}.dow-checkbox.active{background: var(--color-primary);border-color: var(--color-primary);color: #ffffff}.sidebar-overlay{display: none;position: fixed;inset: 0;background: rgba(0, 0, 0, 0.5);z-index: calc(var(--z-header) - 1);opacity: 0;transition: opacity 0.3s ease}.sidebar-overlay.visible{display: block;opacity: 1}.page-header-left{display: flex}.page-title{display: block}#admin-page-title{display: none}@media (max-width: 1024px){.template-info-card .flex.items-center.gap-3{flex-direction: column;text-align: center}#admin-gallery > .page-header{display: none}#media-upload-zone{margin-top: 0rem}.tabs.mt-3{margin-top: 0rem}.backup-container.mt-3{margin-top: 0rem}#admin-dashboard > .page-header{margin-bottom: 0;gap:0}#admin-page-title{display: block}.page-header-left{display: none}.page-title{display: none}.admin-topbar{height: var(--admin-topbar-height);min-height: var(--admin-topbar-height)}.admin-sidebar{position: fixed;left: 0;top: 0;transform: translateX(-100%);z-index: var(--z-header);box-shadow: var(--shadow-2xl)}.admin-sidebar.mobile-open{transform: translateX(0)}.admin-sidebar.collapsed{width: var(--admin-sidebar-width);min-width: var(--admin-sidebar-width)}.mobile-menu-btn{display: flex}.sidebar-toggle{display: none}.stat-cards{grid-template-columns: repeat(2, 1fr)}.reservation-detail-grid{grid-template-columns: 1fr}.appearance-layout{grid-template-columns: 1fr}.appearance-preview{position: static;height: 400px}.template-cards{grid-template-columns: repeat(2, 1fr)}}@media (max-width: 640px){.admin-content{padding: 1rem}.stat-cards{grid-template-columns: 1fr}.page-header{align-items: flex-start}.page-header-right{width: 100%}.topbar-title{font-size: 1.0625rem}.form-row{grid-template-columns: 1fr}.filter-bar{overflow-x: auto;flex-wrap: nowrap;padding-bottom: 0.5rem}.template-cards{grid-template-columns: 1fr}.detail-info-grid{grid-template-columns: 1fr}.translation-row{grid-template-columns: 1fr;gap: 0.25rem}.datatable-toolbar{flex-direction: column;align-items: stretch}.datatable-pagination{flex-direction: column;gap: 0.5rem}.media-grid{grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));gap: 0.5rem}}@media print{.admin-sidebar, .admin-topbar, .sidebar-overlay{display: none !important}.admin-main{margin-left: 0}.admin-content{padding: 0}.admin-card{box-shadow: none;border: 1px solid #ddd}}.fade-enter{opacity: 0;transform: translateY(8px)}.fade-enter-active{opacity: 1;transform: translateY(0);transition: opacity 0.25s ease, transform 0.25s ease}.fade-leave{opacity: 1;transform: translateY(0)}.fade-leave-active{opacity: 0;transform: translateY(-8px);transition: opacity 0.2s ease, transform 0.2s ease}.actions-cell{display: flex;align-items: center;gap: 0.25rem}.action-btn{display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;border: none;background: transparent;border-radius: var(--radius-sm);cursor: pointer;color: var(--color-text-muted);transition: all 0.1s ease}.action-btn:hover{background: var(--color-surface-hover);color: var(--color-text)}.admin-offline-banner{display: none;align-items: center;justify-content: center;gap: 0.5rem;position: fixed;top: 0;left: 0;right: 0;z-index: 10000;padding: 0.5rem 1rem;background: var(--color-warning, #f59e0b);color: #1a1a1a;font-size: 0.8125rem;font-weight: 500;text-align: center;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);animation: offlineBannerSlide 0.3s ease}.admin-offline-banner svg, .admin-offline-banner i{flex-shrink: 0;opacity: 0.8}@keyframes offlineBannerSlide{from{transform: translateY(-100%)}to{transform: translateY(0)}}[data-theme="dark"] .admin-offline-banner{background: #b45309;color: #fef3c7}.action-btn.danger:hover{background: var(--color-error-light);color: var(--color-error)}.image-picker{border: 2px dashed var(--color-border);border-radius: var(--radius-lg);padding: 1.5rem;text-align: center;cursor: pointer;transition: border-color 0.15s ease;background: var(--color-surface)}.image-picker:hover{border-color: var(--color-border-strong)}.image-picker.has-image{padding: 0.5rem;border-style: solid}.image-picker-preview{max-height: 200px;border-radius: var(--radius-md);object-fit: contain}.image-picker-placeholder{color: var(--color-text-muted)}.image-picker-placeholder svg, .image-picker-placeholder i{margin-bottom: 0.5rem;color: var(--color-text-faint)}.toggle-switch{position: relative;display: inline-flex;align-items: center;gap: 0.5rem;cursor: pointer;-webkit-user-select: none;width: auto;user-select: none}.toggle-switch.toggle-switch--full{width: 100%}.toggle-switch input{position: absolute;opacity: 0;width: 0;height: 0}.toggle-slider{position: relative;width: 44px;height: 24px;background: var(--color-border-strong);border-radius: 12px;transition: background 0.2s ease;flex-shrink: 0}.toggle-slider::after{content: '';position: absolute;width: 18px;height: 18px;background: #ffffff;border-radius: 50%;top: 3px;left: 3px;transition: transform 0.2s ease;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15)}.toggle-switch input:checked + .toggle-slider{background: var(--color-primary)}.toggle-switch input:checked + .toggle-slider::after{transform: translateX(20px)}.toggle-label{font-size: 0.875rem;color: var(--color-text);margin-left: 0.5rem;font-weight: 500;line-height: 1.4}.btn-danger-outline{border: 1px solid rgba(239, 68, 68, 0.4);background: transparent;color: rgba(239, 68, 68, 0.8);border-radius: var(--radius-md);padding: 0.375rem 0.5rem;font-size: 0.75rem;display: inline-flex;align-items: center;gap: 0.375rem;cursor: pointer;transition: background 0.15s, color 0.15s;flex-shrink: 0}.btn-danger-outline:hover{background: rgba(239, 68, 68, 0.12);color: #ef4444}.btn-warning-outline{border: 1px solid rgba(245, 158, 11, 0.4);background: transparent;color: rgba(245, 158, 11, 0.85);font-size: 0.8125rem;display: inline-flex;align-items: center;gap: 0.375rem;flex-shrink: 0}.btn-warning-outline:hover{background: rgba(245, 158, 11, 0.12);color: #f59e0b}.action-btn.warning:hover{background: rgba(245, 158, 11, 0.15);color: #f59e0b}.sidebar-action-label{font-size: 0.75rem;white-space: nowrap}.admin-sidebar.collapsed .sidebar-action-label{display: none}.admin-sidebar.collapsed #sidebar-logout-btn{padding: 0.375rem;width: 36px;height: 36px;justify-content: center}.form-grid-2{display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem}@media (max-width: 768px){.form-grid-2{grid-template-columns: 1fr}}.form-row{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem}.form-hint{font-size: 0.75rem;color: var(--color-text-muted);margin-top: 0.25rem;margin-bottom: 0}.media-upload-zone{border: 2px dashed var(--color-border);border-radius: var(--radius-lg);cursor: pointer;transition: border-color 0.15s, background 0.15s;overflow: hidden;padding:1rem}.media-upload-zone:hover, .media-upload-zone.dragover{border-color: var(--color-primary);background: rgba(99, 102, 241, 0.03)}.media-upload-placeholder{display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 2rem;gap: 0.75rem;color: var(--color-text-muted);font-size: 0.875rem;text-align: center}.media-upload-placeholder svg, .media-upload-placeholder i{opacity: 0.4}.richtext-editor__toolbar{border-radius: var(--radius-md)}.gallery-picker{margin-top: 0.25rem}.gallery-picker-items{display: flex;flex-wrap: wrap;gap: 0.5rem;margin-bottom: 0.75rem;min-height: 40px}.gallery-picker-item{position: relative;width: 100px;height: 75px;border-radius: var(--radius-sm);overflow: hidden;border: 2px solid var(--color-border);cursor: grab;transition: border-color 0.15s, opacity 0.15s;flex-shrink: 0}.gallery-picker-item:active{cursor: grabbing}.gallery-picker-item img{width: 100%;height: 100%;object-fit: cover;display: block;pointer-events: none}.gallery-picker-item.dragging{opacity: 0.35;border-color: var(--color-primary)}.gallery-picker-item.drag-over{border-color: var(--color-primary);box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.25)}.gallery-picker-remove{position: absolute;top: 3px;right: 3px;width: 20px;height: 20px;border-radius: 50%;background: rgba(0,0,0,0.6);color: #fff;border: none;cursor: pointer;font-size: 12px;display: flex;align-items: center;justify-content: center;line-height: 1;opacity: 0;transition: opacity 0.15s;padding: 0}.gallery-picker-item:hover .gallery-picker-remove{opacity: 1}.gallery-picker-add{display: inline-flex;align-items: center;gap: 0.35rem;padding: 0.4rem 0.75rem;border: 1px dashed var(--color-border);border-radius: var(--radius-sm);background: transparent;color: var(--color-text-muted);cursor: pointer;font-size: 0.8125rem;transition: border-color 0.15s, color 0.15s}.gallery-picker-add:hover{border-color: var(--color-primary);color: var(--color-primary)}.collapsible-section{margin-top: 1rem}.collapsible-trigger{display: flex;align-items: center;justify-content: space-between;width: 100%;padding: 0.625rem 0;font-size: 0.9375rem;font-weight: 600;color: var(--color-text);background: none;border: none;border-bottom: 1px solid var(--color-border);cursor: pointer;gap: 0.5rem;-webkit-user-select: none;user-select: none}.collapsible-trigger svg, .collapsible-trigger i{transition: transform 0.2s ease;flex-shrink: 0}.collapsible-section.open .collapsible-trigger svg, .collapsible-section.open .collapsible-trigger i{transform: rotate(180deg)}.collapsible-content{display: none;padding-top: 1rem}.collapsible-section.open .collapsible-content{display: block}.tag-input-wrapper{display: flex;flex-wrap: wrap;gap: 0.375rem;padding: 0.375rem;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-surface);cursor: text;min-height: 42px;align-items: center}.tag-item{display: inline-flex;align-items: center;gap: 0.25rem;padding: 0.1875rem 0.5rem;background: rgba(99, 102, 241, 0.12);color: var(--color-primary);border-radius: var(--radius-sm);font-size: 0.8125rem;font-weight: 500}.tag-remove{background: none;border: none;cursor: pointer;color: inherit;opacity: 0.6;padding: 0;font-size: 1rem;line-height: 1;display: flex;align-items: center}.tag-remove:hover{opacity: 1}.tag-input{flex: 1;min-width: 120px;border: none;outline: none;background: none;font-size: 0.875rem;color: var(--color-text);padding: 0.125rem 0.25rem}.quick-actions{display: flex;flex-wrap: wrap;gap: 0.75rem}.quick-action-btn{display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.625rem 1rem;border: 1px solid var(--color-border);border-radius: var(--radius-md);color: var(--color-text);text-decoration: none;font-size: 0.875rem;font-weight: 500;background: var(--color-surface);transition: border-color 0.15s, background 0.15s, color 0.15s}.quick-action-btn:hover{border-color: var(--color-primary);color: var(--color-primary);background: rgba(99, 102, 241, 0.05)}button.quick-action-btn{font-family: inherit;cursor: pointer;text-align: left}button.quick-action-btn:disabled{opacity: 0.6;cursor: wait}.integration-group{margin: 1rem}.settings-section{background: var(--admin-card-bg);border: 1px solid var(--admin-card-border);border-radius: var(--radius-lg);margin-bottom: 1rem;overflow: hidden}.settings-section-header{padding: 1rem 1.25rem;border-bottom: 1px solid var(--color-border-light);background: var(--color-bg-alt)}.settings-section-title{font-size: 0.9375rem;font-weight: 600;color: var(--color-text);margin: 0;text-transform: capitalize}.settings-section-body{padding: 1rem 1.25rem}.settings-row:last-child{border-bottom: none}.settings-row-label{font-size: 0.8125rem;font-weight: 500;color: var(--color-text);word-break: break-all}.settings-row-value{min-width: 0}.media-picker-overlay{position: fixed;inset: 0;z-index: 10000;background: rgba(0, 0, 0, 0.6);display: flex;align-items: center;justify-content: center;animation: fadeIn 0.15s ease}.media-picker-modal{background: var(--color-surface, #fff);border-radius: var(--radius-lg, 12px);width: 90vw;max-width: 900px;max-height: 85vh;display: flex;flex-direction: column;box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);animation: slideUp 0.2s ease}@keyframes slideUp{from{transform: translateY(20px);opacity: 0}to{transform: translateY(0);opacity: 1}}.media-picker-header{display: flex;align-items: center;justify-content: space-between;padding: 1rem 1.25rem;border-bottom: 1px solid var(--color-border, #e2e8f0)}.media-picker-header h2{font-size: 1.125rem;font-weight: 600;margin: 0}.media-picker-close{background: none;border: none;font-size: 1.5rem;cursor: pointer;color: var(--color-text-muted, #64748b);line-height: 1;padding: 0.25rem;border-radius: var(--radius-sm, 4px)}.media-picker-close:hover{background: var(--color-bg-alt, #f1f5f9);color: var(--color-text, #1a1a2e)}.media-picker-toolbar{display: flex;align-items: center;flex-wrap: wrap;gap: 0.5rem;padding: 0.75rem 1.25rem;border-bottom: 1px solid var(--color-border, #e2e8f0)}.media-picker-upload-zone{display: flex;align-items: center;gap: 0.5rem;padding: 0.625rem 1rem;border: 2px dashed var(--color-border, #cbd5e1);border-radius: var(--radius-md, 8px);cursor: pointer;font-size: 0.875rem;color: var(--color-text-muted, #64748b);transition: all 0.15s ease}.media-picker-upload-zone:hover, .media-picker-upload-zone.dragover{border-color: var(--color-primary, #4f46e5);background: rgba(79, 70, 229, 0.04);color: var(--color-primary, #4f46e5)}.media-picker-upload-zone.uploading{opacity: 0.6;pointer-events: none}.media-picker-grid{flex: 1;overflow-y: auto;padding: 1rem 1.25rem;display: grid;grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));gap: 0.75rem;min-height: 200px;max-height: 400px}.media-picker-item{position: relative;border-radius: var(--radius-md, 8px);overflow: hidden;cursor: pointer;border: 2px solid transparent;transition: all 0.15s ease;aspect-ratio: 1;background: var(--color-bg-alt, #f8fafc)}.media-picker-item img{width: 100%;height: 100%;object-fit: cover;display: block}.media-picker-item:hover{border-color: var(--color-border, #cbd5e1);transform: translateY(-1px)}.media-picker-item.selected{border-color: var(--color-primary, #4f46e5);box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2)}.media-picker-check{position: absolute;top: 6px;right: 6px;width: 24px;height: 24px;background: var(--color-primary, #4f46e5);border-radius: 50%;display: flex;align-items: center;justify-content: center;z-index: 2}.media-picker-modal--multi .media-picker-grid{max-height: 350px}.media-picker-item-name{position: absolute;bottom: 0;left: 0;right: 0;padding: 0.25rem 0.375rem;font-size: 0.6875rem;background: linear-gradient(transparent, rgba(0,0,0,0.7));color: #fff;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.media-picker-item.is-doc{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.5rem}.media-picker-file-icon{color: var(--color-text-muted, #64748b)}.media-picker-footer{display: flex;align-items: center;justify-content: space-between;padding: 0.75rem 1.25rem;border-top: 1px solid var(--color-border, #e2e8f0);gap: 1rem}.media-picker-preview{flex: 1;min-width: 0}.media-picker-preview img{max-height: 60px;border-radius: var(--radius-sm, 4px)}.media-picker-actions{display: flex;gap: 0.5rem}.media-picker-pagination{display: flex;justify-content: center;align-items: center;gap: 0.25rem;padding: 0.5rem 1rem;border-top: 1px solid var(--border-color, #e2e8f0)}.mp-page-btn{min-width: 32px;height: 32px;padding: 0 0.5rem;border: 1px solid var(--border-color, #e2e8f0);border-radius: var(--radius-sm, 4px);background: var(--bg-secondary, #f8fafc);color: var(--text-secondary, #64748b);font-size: 0.8125rem;cursor: pointer;transition: all 0.15s ease}.mp-page-btn:hover:not([disabled]):not(.active){background: var(--bg-tertiary, #e2e8f0);color: var(--text-primary, #1e293b)}.mp-page-btn.active{background: var(--color-primary, #3b82f6);color: #fff;border-color: var(--color-primary, #3b82f6)}.mp-page-btn[disabled]{opacity: 0.4;cursor: not-allowed}.mp-page-ellipsis{padding: 0 0.25rem;color: var(--text-tertiary, #94a3b8)}.image-input-group{display: flex;flex-direction: column;align-items: flex-start}.image-input-group .form-input{flex: 1}.image-input-preview{margin-top: 0.5rem}.image-input-preview img{max-width: 200px;max-height: 80px;border-radius: var(--radius-sm, 4px);border: 1px solid var(--color-border, #e2e8f0);object-fit: contain;background: var(--color-bg-alt, #f8fafc)}.tags-display{display: flex;flex-wrap: wrap;gap: 0.375rem}.tag{display: inline-flex;align-items: center;gap: 0.25rem;padding: 0.25rem 0.625rem;border-radius: 9999px;font-size: 0.8rem;font-weight: 500;background: var(--color-primary, #1a365d);color: #fff}.tag--disabled{opacity: 0.7;cursor: default}.tags-editable{}.tags-list{display: flex;flex-wrap: wrap;gap: 0.375rem;margin-bottom: 0.5rem}.tags-input-row{display: flex;gap: 0.375rem}.tags-input-row .form-input{flex: 1}.amenities-checklist{border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 0.75rem;max-height: 280px;overflow-y: auto;background: var(--color-surface)}.amenities-group{margin-bottom: 0.5rem}.amenities-group:last-child{margin-bottom: 0}.amenities-group-label{font-size: 0.75rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.05em;color: var(--color-text-muted);margin-bottom: 0.25rem;padding-bottom: 0.25rem;border-bottom: 1px solid var(--color-border-light)}.amenities-group-items{display: flex;flex-wrap: wrap;gap: 0.25rem 0.75rem;padding: 0.25rem 0}.amenity-checkbox{display: inline-flex;align-items: center;gap: 0.375rem;cursor: pointer;font-size: 0.875rem;padding: 0.125rem 0}.amenity-checkbox input[type="checkbox"]{width: 16px;height: 16px;accent-color: var(--color-primary);cursor: pointer}.amenity-checkbox-label{user-select: none}@keyframes gaPulse{0%, 100%{opacity: 1;transform: scale(1)}50%{opacity: 0.5;transform: scale(1.3)}}.ga-realtime-dot{display: inline-block;width: 10px;height: 10px;border-radius: 50%;background: #22c55e;animation: gaPulse 2s ease-in-out infinite;vertical-align: middle}.ga-stats-grid{display: grid;grid-template-columns: repeat(4, 1fr);gap: 0.75rem;margin-bottom: 1.5rem}.ga-tables-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem;margin-top: 1rem}@media (max-width: 768px){.ga-stats-grid{grid-template-columns: repeat(2, 1fr)}.ga-tables-grid{grid-template-columns: 1fr}}.ga-chart-wrap{position: relative;margin-bottom: 0.5rem}.ga-chart-wrap h4{font-size: 0.85rem;font-weight: 600;margin: 0 0 0.75rem 0;color: var(--color-text)}.ga-chart-wrap svg{display: block;width: 100%;height: auto;min-height: 120px}.ga-chart-wrap svg .ga-bar{transition: opacity 0.15s ease;cursor: pointer}.ga-chart-wrap svg .ga-bar:hover{opacity: 1 !important}.ga-chart-wrap svg .ga-bar-hit{fill: transparent;cursor: pointer}.ga-chart-wrap svg .ga-bar-hit:hover + .ga-bar, .ga-chart-wrap svg .ga-bar-hit:hover ~ .ga-bar{opacity: 1 !important}.ga-chart-tooltip{position: absolute;pointer-events: none;background: #1e293b;color: #f1f5f9;font-size: 0.75rem;line-height: 1.5;padding: 0.5rem 0.75rem;border-radius: 8px;white-space: nowrap;opacity: 0;transform: translateX(-50%) translateY(-8px);transition: opacity 0.15s ease;z-index: 10;box-shadow: 0 4px 16px rgba(0,0,0,0.18);min-width: 120px}.ga-chart-tooltip::after{content: '';position: absolute;top: 100%;left: 50%;transform: translateX(-50%);border: 5px solid transparent;border-top-color: #1e293b}[data-theme="dark"] .ga-chart-tooltip{background: #1e293b;color: #e2e8f0;box-shadow: 0 4px 20px rgba(0,0,0,0.4);border: 1px solid rgba(255,255,255,0.08)}[data-theme="dark"] .ga-chart-tooltip::after{border-top-color: #1e293b}.ga-chart-tooltip.visible{opacity: 1}.ga-chart-tooltip strong{font-weight: 600;color: #fff}[data-theme="dark"] .ga-chart-tooltip strong{color: #fff}.ga-tt-date{font-size: 0.6875rem;opacity: 0.65;margin-bottom: 0.3rem;font-weight: 500;letter-spacing: 0.01em}.ga-tt-row{display: flex;align-items: center;gap: 0.4rem;font-size: 0.75rem;padding: 0.1rem 0}.ga-tt-row strong{margin-left: auto;padding-left: 0.6rem}.ga-tt-dot{width: 7px;height: 7px;border-radius: 50%;flex-shrink: 0}.ga-chart-tooltip .ga-tt-label{opacity: 0.7;font-size: 0.6875rem}.ga-stat-mini{border: 1px solid var(--color-border);border-radius: 8px;padding: 0.75rem 1rem;text-align: center}.ga-stat-mini-icon{font-size: 1.25rem}.ga-stat-mini-value{font-size: 1.4rem;font-weight: 700;margin: 0.25rem 0}.ga-stat-mini-label{font-size: 0.75rem;color: var(--color-text-muted)}.post-gallery-card{position: relative;border-radius: var(--radius-md);overflow: hidden;border: 1px solid var(--color-border);cursor: grab;transition: opacity 0.15s, box-shadow 0.15s}.post-gallery-card:active{cursor: grabbing;opacity: 0.5}.post-gallery-card.drag-over{outline: 2px dashed var(--color-primary);outline-offset: -2px}.post-gallery-thumb{height: 100px;background-size: cover;background-position: center;background-color: var(--color-surface-2, #f3f4f6)}.post-gallery-remove{position: absolute;top: 4px;right: 4px;background: rgba(0,0,0,0.55);color: #fff;border: none;border-radius: 50%;width: 24px;height: 24px;font-size: 16px;line-height: 24px;text-align: center;padding: 0;cursor: pointer;opacity: 0;transition: opacity 0.15s}.post-gallery-card:hover .post-gallery-remove{opacity: 1}[data-theme="dark"] .post-gallery-thumb{background-color: var(--color-surface-2, #1e293b)}[data-theme="dark"] .post-gallery-remove{background: rgba(0,0,0,0.7)}#dashboard-presentation-row{gap: 1rem;grid-template-columns: 1fr 1fr;margin-top: 1rem}#dashboard-telecom-overview{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;margin-top: 1rem}@media (max-width: 768px){#dashboard-presentation-row{grid-template-columns: 1fr}#dashboard-telecom-overview{grid-template-columns: 1fr}}.admin-pwa-install-banner{display: none;align-items: center;gap: 0.5rem;position: fixed;bottom: 1rem;right: 1rem;z-index: 1000;padding: 0.625rem 0.75rem;background: var(--color-surface, #fff);border: 1px solid var(--color-border, #e2e8f0);border-radius: var(--radius-lg, 0.75rem);box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);font-size: 0.875rem;animation: pwaBannerSlideUp 0.3s ease;max-width: calc(100% - 2rem);padding-right: 2rem}.admin-pwa-install-banner .pwa-install-btn{display: inline-flex;align-items: center;gap: 0.375rem;white-space: nowrap;font-size: 0.8125rem;padding: 0.375rem 0.875rem;border-radius: var(--radius-md, 0.5rem);width: 100%}.admin-pwa-install-banner .pwa-install-btn svg, .admin-pwa-install-banner .pwa-install-btn i{flex-shrink: 0}.admin-pwa-install-banner .pwa-install-close{display: inline-flex;align-items: center;justify-content: center;background: none;border: none;cursor: pointer;padding: 0.25rem;border-radius: var(--radius-sm, 0.25rem);color: var(--color-text-muted, #94a3b8);transition: color 0.15s ease, background 0.15s ease;flex-shrink: 0;position: absolute;top: 4px;right: 4px}.admin-pwa-install-banner .pwa-install-close:hover{color: var(--color-text, #1e293b);background: var(--color-hover, rgba(0, 0, 0, 0.05))}@keyframes pwaBannerSlideUp{from{transform: translateY(100%);opacity: 0}to{transform: translateY(0);opacity: 1}}[data-theme="dark"] .admin-pwa-install-banner{background: var(--color-surface, #1e293b);border-color: var(--color-border, #334155);box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3)}[data-theme="dark"] .admin-pwa-install-banner .pwa-install-close:hover{color: var(--color-text, #f1f5f9);background: rgba(255, 255, 255, 0.08)}@media (max-width: 600px){.admin-pwa-install-banner{left: 0.5rem;right: 0.5rem;bottom: 0.5rem;transform: none;max-width: none}@keyframes pwaBannerSlideUp{from{transform: translateY(100%);opacity: 0}to{transform: translateY(0);opacity: 1}}}.fa-icon-select{position: relative}.fa-icon-select__trigger{display: flex;align-items: center;gap: 0.5rem;width: 100%;padding: 0.5rem 0.75rem;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--admin-card-bg, var(--color-bg));cursor: pointer;font-size: 0.875rem;color: var(--color-text);transition: border-color 0.15s}.fa-icon-select__trigger:hover{border-color: var(--color-primary)}.fa-icon-select__preview{font-size: 1.125rem;width: 22px;text-align: center;color: var(--color-primary);flex-shrink: 0}.fa-icon-select__name{flex: 1;text-align: left;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.fa-icon-select__arrow{font-size: 0.625rem;color: var(--color-text-muted);transition: transform 0.2s;flex-shrink: 0}.fa-icon-select.open .fa-icon-select__arrow{transform: rotate(180deg)}.fa-icon-select__dropdown{display: none;position: absolute;top: calc(100% + 4px);left: 0;right: 0;background: var(--admin-card-bg, var(--color-bg));border: 1px solid var(--color-border);border-radius: var(--radius-md);box-shadow: 0 8px 24px rgba(0,0,0,0.18);z-index: 200;max-height: 340px;flex-direction: column}.fa-icon-select.open .fa-icon-select__dropdown{display: flex}.fa-icon-select__search{padding: 0.625rem 0.75rem;border: none;border-bottom: 1px solid var(--color-border);font-size: 0.875rem;outline: none;background: transparent;color: var(--color-text);width: 100%}.fa-icon-select__search::placeholder{color: var(--color-text-muted)}.fa-icon-select__style-toggle{display: flex;gap: 0;padding: 0 0.5rem;border-bottom: 1px solid var(--admin-border)}.fa-icon-select__style-btn{flex: 1;padding: 0.35rem 0.5rem;font-size: 12px;font-weight: 500;background: none;border: none;border-bottom: 2px solid transparent;color: var(--color-text-muted);cursor: pointer;transition: color 0.15s, border-color 0.15s}.fa-icon-select__style-btn:hover{color: var(--color-text)}.fa-icon-select__style-btn.active{color: var(--color-primary);border-bottom-color: var(--color-primary)}.fa-icon-select__grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));gap: 2px;padding: 0.5rem;overflow-y: auto;flex: 1}.fa-icon-select__item{display: flex;align-items: center;justify-content: center;width: 38px;height: 38px;border: 1px solid transparent;border-radius: var(--radius-sm);background: transparent;cursor: pointer;color: var(--color-text);font-size: 1rem;transition: all 0.1s;padding: 0}.fa-icon-select__item:hover{background: var(--color-bg-alt, #f3f4f6);border-color: var(--color-border);color: var(--color-primary)}.fa-icon-select__item.selected{background: rgba(var(--color-primary-rgb, 22, 163, 74), 0.1);border-color: var(--color-primary);color: var(--color-primary)}.fa-icon-select__empty, .fa-icon-select__more{grid-column: 1 / -1;text-align: center;padding: 0.75rem 0.5rem;color: var(--color-text-muted);font-size: 0.75rem}.translatable-field{border: 1px solid var(--border-color, #e5e7eb);border-radius: 0.5rem;overflow: hidden;min-width: 0}.lang-tabs{display: flex;gap: 0;background: var(--color-bg-secondary, #f3f4f6);border-bottom: 1px solid var(--border-color, #e5e7eb);padding: 0 0.25rem}.lang-tab{padding: 0.35rem 0.5rem;font-size: 0.7rem;font-weight: 600;text-transform: uppercase;border: none;background: transparent;cursor: pointer;color: var(--color-text-muted, #6b7280);border-bottom: 2px solid transparent;transition: color .15s, border-color .15s, opacity .15s;display: flex;align-items: center;opacity: 0.55}.lang-tab .lang-flag{display: block;width: 20px;height: 15px;border-radius: 2px;object-fit: cover}.lang-tab:hover{opacity: 0.85}.lang-tab.active{opacity: 1;border-bottom-color: var(--color-primary, #6366f1)}.lang-panels{padding: 0.5rem}.lang-panel{display: none}.lang-panel.active{display: block}.lang-panel .form-input, .lang-panel .form-textarea{border: 1px solid var(--color-border, #e5e7eb);box-shadow: none;padding: 0.5rem 0.75rem;background: var(--color-surface, #fff);border-radius: var(--radius-md, 6px)}.lang-panel .form-input:focus, .lang-panel .form-textarea:focus{border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1)}.lang-panel .wysiwyg-wrapper{border: none;border-radius: 0}.lang-panel .wysiwyg-toolbar{border-radius: 0}[data-theme="dark"] .translatable-field{border-color: var(--color-border, #334155);background: var(--color-surface, #1e293b)}[data-theme="dark"] .lang-tabs{background: rgba(255, 255, 255, 0.04);border-bottom-color: var(--color-border, #334155)}[data-theme="dark"] .lang-panel .form-input, [data-theme="dark"] .lang-panel .form-textarea{background: var(--color-surface, #1e293b);border-color: var(--color-border, #334155);color: var(--color-text, #e2e8f0)}[data-theme="dark"] .lang-tab{opacity: 0.5}[data-theme="dark"] .lang-tab:hover{opacity: 0.85}[data-theme="dark"] .lang-tab.active{opacity: 1;border-bottom-color: var(--color-primary, #818cf8)}[data-theme="dark"] .lang-panel .form-input, [data-theme="dark"] .lang-panel .form-textarea{background: transparent;color: var(--color-text, #e2e8f0)}.rich-toolbar{display: flex;align-items: center;gap: 2px;padding: 4px 8px;border-bottom: 1px solid var(--border-color, #e2e8f0);background: var(--color-bg-alt, #f8fafc);border-radius: 0}.rich-toolbar button{display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border: none;background: transparent;color: var(--color-text-secondary, #64748b);border-radius: 4px;cursor: pointer;font-size: 13px;transition: background 0.15s, color 0.15s}.rich-toolbar button:hover{background: var(--color-primary-light, rgba(99, 102, 241, 0.1));color: var(--color-primary, #6366f1)}.rich-toolbar-sep{width: 1px;height: 18px;background: var(--border-color, #e2e8f0);margin: 0 4px}.i18n-richtext{padding: 0.5rem;line-height: 1.6;outline: none;font-size: 14px}.i18n-richtext:focus{box-shadow: none;outline: none}.i18n-richtext ul, .i18n-richtext ol{margin: 0.25em 0;padding-left: 1.5em}.i18n-richtext li{margin-bottom: 0.15em}.i18n-richtext a{color: var(--color-primary, #6366f1);text-decoration: underline}[data-theme="dark"] .rich-toolbar{background: rgba(255, 255, 255, 0.04);border-bottom-color: var(--border-color, #1e293b)}[data-theme="dark"] .rich-toolbar button{color: var(--color-text-muted, #94a3b8)}[data-theme="dark"] .rich-toolbar button:hover{background: rgba(99, 102, 241, 0.15);color: var(--color-primary, #818cf8)}[data-theme="dark"] .i18n-richtext{color: var(--color-text, #e2e8f0)}.items-list-field{margin-top: 0.25rem}.items-list-items{display: flex;flex-direction: column;gap: 0.35rem;margin-bottom: 0.5rem}.items-list-row{display: flex;gap: 0.35rem;align-items: center}.items-list-row .form-input{flex: 1}.items-list-remove{width: 28px;height: 28px;display: flex;align-items: center;justify-content: center;border: none;background: transparent;color: var(--color-error, #ef4444);cursor: pointer;border-radius: var(--radius-sm, 4px);flex-shrink: 0;font-size: 14px}.items-list-remove:hover{background: rgba(239, 68, 68, 0.1)}.items-list-add{display: inline-flex;align-items: center;gap: 0.35rem;border: 1px dashed var(--border-color, #e5e7eb);background: transparent;padding: 0.3rem 0.75rem;border-radius: var(--radius-sm, 4px);cursor: pointer;color: var(--color-text-muted, #6b7280);font-size: 0.8rem}.items-list-add:hover{border-color: var(--color-primary, #6366f1);color: var(--color-primary, #6366f1)}[data-theme="dark"] .items-list-add{border-color: var(--border-color, #1e293b);color: var(--color-text-muted, #94a3b8)}[data-theme="dark"] .items-list-add:hover{border-color: var(--color-primary, #818cf8);color: var(--color-primary, #818cf8)}.coverage-legend-list{display: flex;flex-direction: column;gap: 0.5rem}.coverage-legend-item{display: flex;align-items: center;gap: 0.75rem;padding: 0.5rem 0.75rem;border-radius: 0.5rem;border: 1px solid var(--border-color, #e5e7eb);background: var(--color-bg-secondary, #f9fafb);transition: border-color 0.15s}.coverage-legend-item:hover{border-color: var(--color-primary, #6366f1)}.coverage-legend-swatch{width: 24px;height: 24px;border-radius: 4px;flex-shrink: 0;border: 1px solid rgba(0,0,0,0.15)}.coverage-legend-name{font-weight: 500;white-space: nowrap}.coverage-legend-desc{flex: 1;font-size: 0.8rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.coverage-legend-actions{display: flex;gap: 0.25rem;margin-left: auto;flex-shrink: 0}[data-theme="dark"] .coverage-legend-item{background: var(--color-bg-secondary, #1e293b);border-color: var(--border-color, #334155)}.admin-pagination{display: flex;align-items: center;justify-content: space-between;width: 100%;gap: 1rem;font-size: 0.8125rem;color: var(--color-text-muted);flex-wrap: wrap}.admin-pagination-info{white-space: nowrap}.admin-pagination-controls{display: flex;gap: 2px}.admin-page-btn{min-width: 32px;height: 32px;display: inline-flex;align-items: center;justify-content: center;border: 1px solid var(--color-border);border-radius: var(--radius-md, 6px);background: var(--color-surface);color: var(--color-text);font-size: 0.8125rem;font-weight: 500;cursor: pointer;transition: all 0.15s;padding: 0 0.375rem}.admin-page-btn:hover:not(:disabled){background: var(--color-bg-alt);border-color: var(--color-primary)}.admin-page-btn.active{background: var(--color-primary);color: #fff;border-color: var(--color-primary)}.admin-page-btn:disabled{opacity: 0.4;cursor: default}.admin-pagination-perpage{display: flex;align-items: center;gap: 0.5rem}.admin-perpage-select{width: auto;min-width: 60px}#admin-teryt{display: flex;flex-direction: column;height: 100%;min-height: 0}#admin-teryt .teryt-tab-panel{flex: 1;min-height: 0;display: flex;flex-direction: column}#admin-addresses .addresses-tab-panel > .data-table-wrapper{flex: 1;min-height: 0}#admin-addresses .addresses-tab-panel > .data-table-wrapper .data-table thead{position: sticky;top: 0;z-index: 2;background: var(--admin-card-bg)}#admin-addresses #addresses-overview{overflow-y: auto;display: block}.theme-group-header{display: flex;justify-content: space-between;align-items: center;cursor: pointer;user-select: none;padding: 0.75rem 1rem;border-bottom: 1px solid var(--color-border-light, #e5e7eb)}.theme-group-header:hover{background: var(--color-bg-alt, #f8f6f3)}.theme-group-header h3{font-size: 1rem;font-weight: 600;margin: 0}.collapse-icon{transition: transform 0.2s ease;font-size: 0.85rem;color: var(--color-text-muted, #6b7280)}.theme-group-header.collapsed .collapse-icon{transform: rotate(-90deg)}.theme-group-body.collapsed{display: none}.theme-group-card{border: 1px solid var(--color-border-light);border-radius: var(--radius-lg, 12px);overflow: hidden}.theme-fields-grid{display: grid;grid-template-columns: 1fr;gap: 0.875rem 1.25rem;padding: 1rem;align-items: start}@media (min-width: 720px){.theme-fields-grid{grid-template-columns: 1fr 1fr}}.theme-fields-grid > .form-group{margin: 0;min-width: 0;max-width: 100%}.theme-fields-grid .form-label{font-size: 0.78rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.02em;color: var(--color-text-muted);margin-bottom: 0.35rem}.theme-fields-grid .form-hint{margin-top: 0.3rem}.theme-fields-grid > .form-group-full, .theme-fields-grid > .form-group:has(.wysiwyg-wrapper), .theme-fields-grid > .form-group:has(.form-textarea){grid-column: 1 / -1}.theme-fields-grid > .form-group:has(.translatable-field .wysiwyg-wrapper){grid-column: 1 / -1}.form-group-full{grid-column: 1 / -1}.theme-group-card{margin-bottom: 1.25rem !important;border: 1px solid var(--color-border-light);border-radius: var(--radius-lg, 12px);overflow: hidden}.theme-group-card .card-body{padding: 0}.theme-group-card .theme-group-header{padding: 0.65rem 1rem}.theme-group-card .theme-group-header h3{font-size: 0.95rem}.theme-widget{display: block;border-top: 1px solid var(--color-border-light);background: var(--color-bg-alt-subtle, var(--color-bg-alt, #fafafa))}.theme-widget:first-child{border-top: none}.theme-widget-header{display: flex;align-items: flex-start;justify-content: space-between;gap: 1rem;padding: 0.875rem 1rem 0.5rem;border-bottom: 1px dashed var(--color-border-light)}.theme-widget-meta{flex: 1;min-width: 0}.theme-widget-title{margin: 0 0 0.15rem;font-size: 0.92rem;font-weight: 700;color: var(--color-text);letter-spacing: 0.01em}.theme-widget-desc{margin: 0;font-size: 0.78rem;line-height: 1.45;color: var(--color-text-muted)}.theme-widget-toggle{flex-shrink: 0;margin-top: 0.15rem;width: auto;max-width: 60px;align-self: center}.theme-widget-body{background: var(--color-surface, #fff)}.theme-widget--empty .theme-widget-header{border-bottom: none}.form-group--bool{display: block}.form-bool-row{display: flex;align-items: center;justify-content: space-between;gap: 0.75rem;cursor: pointer;padding: 0.5rem 0.75rem;background: var(--color-surface);border: 1px solid var(--color-border-light);border-radius: var(--radius-sm, 6px);min-height: 44px}.form-bool-text{flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 0.15rem;font-size: 0.85rem;font-weight: 500;color: var(--color-text);text-transform: none;letter-spacing: normal}.form-bool-text .form-hint{margin: 0;font-size: 0.72rem;font-weight: 400;color: var(--color-text-muted)}.form-group--bool .toggle-switch{flex-shrink: 0}[data-theme="dark"] .theme-widget{background: rgba(255,255,255,0.02)}[data-theme="dark"] .theme-widget-body{background: var(--color-surface)}.sub-tabs-nav{display: flex;flex-wrap: wrap;gap: 0.25rem;margin-bottom: 1rem;padding: 0 1rem 0.75rem;border-bottom: 1px solid var(--color-border-light, #e5e7eb)}.sub-tab-btn{padding: 0.35rem 0.85rem;border: 1px solid var(--color-border, #e5e7eb);background: var(--color-surface, #fff);border-radius: 9999px;cursor: pointer;font-size: 0.8rem;font-weight: 500;color: var(--color-text-muted, #6b7280);transition: all 0.15s ease;white-space: nowrap}.sub-tab-btn:hover{background: var(--color-bg-alt, #f8f6f3);color: var(--color-text, #1a1a2e);border-color: var(--color-text-muted, #aaa)}.sub-tab-btn.active{background: var(--color-primary, #2563eb);color: #fff;border-color: var(--color-primary, #2563eb)}.sub-tab-panel{display: none}.sub-tab-panel.active{display: block}.template-info-card .card-body{display: flex;align-items: center}.template-info-card h2{font-size: 1.25rem;font-weight: 600}.image-input-row{display: flex;gap: 0.5rem}.image-input-row .form-input{flex: 1}.image-input-preview{position: relative;margin-top: 0.5rem;display: inline-block}.image-input-preview img{max-height: 80px;max-width: 200px;border-radius: 0.375rem;border: 1px solid var(--color-border-light, #e5e7eb)}.image-input-preview.hidden{display: none}.image-remove-btn{position: absolute;top: -6px;right: -6px;width: 20px;height: 20px;border-radius: 50%;background: var(--color-error, #e63946);color: #fff;border: none;cursor: pointer;font-size: 12px;line-height: 20px;text-align: center;padding: 0}.wysiwyg-wrapper{border: 1px solid var(--color-border-light, #e5e7eb);border-radius: 0.5rem;overflow: hidden;background: var(--color-surface, #fff);min-width: 0}.wysiwyg-toolbar{display: flex;align-items: center;gap: 2px;padding: 0.25rem 0.5rem;background: var(--color-bg-alt, #f8f6f3);border-bottom: 1px solid var(--color-border-light, #e5e7eb);flex-wrap: wrap}.wysiwyg-btn{display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border: none;background: none;border-radius: 0.25rem;cursor: pointer;font-size: 0.8rem;color: var(--color-text);transition: background 0.1s}.wysiwyg-btn:hover{background: var(--color-border-light, #e5e7eb)}.wysiwyg-btn.active{background: var(--color-primary);color: #fff}.wysiwyg-sep{display: inline-block;width: 1px;height: 18px;background: var(--color-border-light, #e5e7eb);margin: 0 4px}.wysiwyg-editor{min-height: 120px;max-height: 400px;overflow-y: auto;padding: 0.75rem;font-size: 0.9rem;line-height: 1.6;outline: none;overflow-wrap: break-word;word-break: break-word}.wysiwyg-editor:focus{box-shadow: inset 0 0 0 2px var(--color-primary-light, #2d4a7a)}.lang-panel .wysiwyg-wrapper{border: none;border-radius: 0}.lang-panel .wysiwyg-toolbar{border-radius: 0}.sticky-save-bar{position: fixed;bottom: -60px;left: 0;right: 0;z-index: 1000;display: flex;align-items: center;justify-content: space-between;padding: 0.75rem 1.5rem;background: var(--color-surface, #fff);border-top: 2px solid var(--color-primary);box-shadow: 0 -2px 8px rgba(0,0,0,0.1);transition: bottom 0.3s ease}.sticky-save-bar.visible{bottom: 0}.icon-picker-grid{display: flex;flex-wrap: wrap;gap: 6px}.icon-tile{display: inline-flex;align-items: center;justify-content: center;width: 38px;height: 38px;border: 2px solid var(--color-border, #e5e7eb);border-radius: 0.375rem;background: var(--color-surface, #fff);cursor: pointer;color: var(--color-text-muted, #6b7280);transition: all 0.15s ease;padding: 0}.icon-tile:hover{border-color: var(--color-primary-light);color: var(--color-text);background: var(--color-bg-alt)}.icon-tile.selected{border-color: var(--color-primary);background: var(--color-primary);color: #fff}.icon-tile svg{width: 20px;height: 20px;flex-shrink: 0}.form-hint{display: block;margin-top: 0.25rem;font-size: 0.78rem;color: var(--color-text-muted, #6b7280);line-height: 1.3}.admin-method-logo{display: inline-flex;width: 28px;height: 28px;flex-shrink: 0;align-items: center;justify-content: center;background: var(--color-bg-alt);border-radius: 6px;overflow: hidden}.admin-method-logo--icon{color: var(--color-text-muted)}.admin-method-logo img{max-width: 100%;max-height: 100%;object-fit: contain}.admin-method-name{display: flex;align-items: center;gap: 0.625rem}.admin-method-name .text-muted{font-size: 0.85em;line-height: 1.3;margin-top: 2px}.integration-logo img{max-width: 100%;max-height: 100%;object-fit: contain}.form-input--secret{-webkit-text-security: disc;text-security: disc;font-family: text-security-disc, var(--font-mono, monospace);letter-spacing: 0.1em}.form-input--secret:focus{letter-spacing: normal;-webkit-text-security: disc}