:root{--color-white: #fff;--color-black: #000;--color-cream-50: #fcfcf9;--color-cream-100: #fffffd;--color-gray-200: #f5f5f5;--color-gray-300: #a7a9a9;--color-gray-400: #777c7c;--color-slate-500: #626c71;--color-brown-600: #5e5240;--color-charcoal-700: #1f2121;--color-charcoal-800: #262828;--color-slate-900: #13343b;--color-teal-300: #32b8c6;--color-teal-400: #2da6b2;--color-teal-500: #21808d;--color-teal-600: #1d7480;--color-teal-700: #1a6873;--color-teal-800: #299661;--color-red-400: #ff5459;--color-red-500: #c0152f;--color-orange-400: #e68161;--color-orange-500: #a84b2f;--color-brown-600-rgb: 94,82,64;--color-teal-500-rgb: 33,128,141;--color-slate-900-rgb: 19,52,59;--color-slate-500-rgb: 98,108,113;--color-red-500-rgb: 192,21,47;--color-orange-500-rgb: 168,75,47;--color-bg-1: rgba(59,130,246,0.08);--color-bg-2: rgba(245,158,11,0.08);--color-bg-3: rgba(34,197,94,0.08);--color-bg-4: rgba(239,68,68,0.08);--color-bg-5: rgba(147,51,234,0.08);--color-bg-6: rgba(249,115,22,0.08);--color-bg-7: rgba(236,72,153,0.08);--color-bg-8: rgba(6,182,212,0.08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb),0.12);--color-secondary-hover: rgba(var(--color-brown-600-rgb),0.2);--color-secondary-active: rgba(var(--color-brown-600-rgb),0.25);--color-border: rgba(var(--color-brown-600-rgb),0.2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb),0.12);--color-card-border-inner: rgba(var(--color-brown-600-rgb),0.12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb),0.4);--color-select-caret: rgba(var(--color-slate-900-rgb),0.8);--color-success-rgb: var(--color-teal-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-orange-500-rgb);--color-info-rgb: var(--color-slate-500-rgb);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: 0.15;--status-border-opacity: 0.25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--font-family-base: "FKGroteskNeue","Geist","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono: "Berkeley Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -0.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,0.02);--shadow-sm: 0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.02);--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.04),0 2px 4px -1px rgba(0,0,0,0.02);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.04),0 4px 6px -2px rgba(0,0,0,0.02);--shadow-inset-sm: inset 0 1px 0 rgba(255,255,255,0.15),inset 0 -1px 0 rgba(0,0,0,0.03);--duration-fast: 150ms;--duration-normal: 250ms;--ease-standard: cubic-bezier(0.16,1,0.3,1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--lumo-primary-color: var(--color-primary);--lumo-primary-color-50pct: rgba(var(--color-teal-500-rgb),0.5);--lumo-primary-color-10pct: rgba(var(--color-teal-500-rgb),0.1);--lumo-base-color: var(--color-surface);--lumo-body-text-color: var(--color-text);--lumo-secondary-text-color: var(--color-text-secondary);--lumo-tertiary-text-color: var(--color-text-secondary);--lumo-contrast: var(--color-text);--lumo-contrast-90pct: rgba(var(--color-slate-900-rgb),0.9);--lumo-contrast-80pct: rgba(var(--color-slate-900-rgb),0.8);--lumo-contrast-70pct: rgba(var(--color-slate-900-rgb),0.7);--lumo-contrast-50pct: rgba(var(--color-slate-900-rgb),0.5);--lumo-contrast-30pct: rgba(var(--color-slate-900-rgb),0.3);--lumo-contrast-20pct: rgba(var(--color-slate-900-rgb),0.2);--lumo-contrast-10pct: rgba(var(--color-slate-900-rgb),0.1);--lumo-contrast-5pct: rgba(var(--color-slate-900-rgb),0.05);--lumo-tint-5pct: var(--color-background);--lumo-tint-10pct: var(--color-secondary);--lumo-tint-20pct: var(--color-border);--lumo-tint-30pct: var(--color-border);--lumo-shade-5pct: rgba(var(--color-brown-600-rgb),0.05);--lumo-shade-10pct: rgba(var(--color-brown-600-rgb),0.1);--lumo-border-radius-m: var(--radius-base);--lumo-border-radius-l: var(--radius-lg);--lumo-border-radius-xl: var(--radius-lg);--lumo-box-shadow-xs: var(--shadow-xs);--lumo-box-shadow-s: var(--shadow-sm);--lumo-box-shadow-m: var(--shadow-md);--lumo-box-shadow-l: var(--shadow-lg);--lumo-box-shadow-xl: var(--shadow-lg);--lumo-space-xs: var(--space-4);--lumo-space-s: var(--space-8);--lumo-space-m: var(--space-16);--lumo-space-l: var(--space-24);--lumo-space-xl: var(--space-32);--lumo-font-family: var(--font-family-base);--lumo-font-size-s: var(--font-size-sm);--lumo-font-size-m: var(--font-size-base);--lumo-font-size-l: var(--font-size-lg);--lumo-font-size-xl: var(--font-size-xl);--lumo-font-size-xxl: var(--font-size-2xl);--lumo-size-xs: 24px;--lumo-size-s: 32px;--lumo-size-m: 40px;--lumo-size-l: 48px;--lumo-size-xl: 56px;--lumo-animation-duration-100: 100ms;--lumo-animation-duration-200: var(--duration-fast);--lumo-animation-duration-300: var(--duration-normal);--capofila-primary-green: var(--color-primary);--capofila-warning-yellow: var(--color-warning);--capofila-danger-red: var(--color-error);--capofila-info-blue: var(--color-info);--capofila-secondary-orange: var(--color-warning);--capofila-neutral-gray: var(--color-text-secondary);--capofila-surface-light: var(--color-background);--capofila-surface-dark: var(--color-charcoal-800);--capofila-surface-white: var(--color-surface);--capofila-border-light: var(--color-border);--capofila-border-gray: var(--color-border);--capofila-green-500: var(--color-primary);--capofila-green-600: var(--color-primary-hover);--capofila-green-700: var(--color-primary-active);--capofila-yellow-500: var(--color-warning);--capofila-red-500: var(--color-error);--capofila-blue-500: var(--color-info);--capofila-gray-700: var(--color-text);--capofila-space-card: var(--space-20);--capofila-space-section: var(--space-32);--capofila-z-sticky-header: 100;--capofila-z-dialog: 1000;--capofila-z-notification: 1100;--capofila-transition-fast: var(--duration-fast) var(--ease-standard);--capofila-transition-normal: var(--duration-normal) var(--ease-standard);--capofila-transition-slow: 500ms var(--ease-standard)}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 119,124,124;--color-teal-300-rgb: 50,184,198;--color-gray-300-rgb: 167,169,169;--color-gray-200-rgb: 245,245,245;--color-red-400-rgb: 255,84,89;--color-orange-400-rgb: 230,129,97;--color-bg-1: rgba(29,78,216,0.15);--color-bg-2: rgba(180,83,9,0.15);--color-bg-3: rgba(21,128,61,0.15);--color-bg-4: rgba(185,28,28,0.15);--color-bg-5: rgba(107,33,168,0.15);--color-bg-6: rgba(194,65,12,0.15);--color-bg-7: rgba(190,24,93,0.15);--color-bg-8: rgba(8,145,178,0.15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb),0.7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb),0.15);--color-secondary-hover: rgba(var(--color-gray-400-rgb),0.25);--color-secondary-active: rgba(var(--color-gray-400-rgb),0.3);--color-border: rgba(var(--color-gray-400-rgb),0.3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb),0.4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb),0.2);--color-card-border-inner: rgba(var(--color-gray-400-rgb),0.15);--shadow-inset-sm: inset 0 1px 0 rgba(255,255,255,0.1),inset 0 -1px 0 rgba(0,0,0,0.15);--color-select-caret: rgba(var(--color-gray-200-rgb),0.8);--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme="dark"]{--color-gray-400-rgb: 119,124,124;--color-teal-300-rgb: 50,184,198;--color-gray-300-rgb: 167,169,169;--color-gray-200-rgb: 245,245,245;--color-red-400-rgb: 255,84,89;--color-orange-400-rgb: 230,129,97;--color-bg-1: rgba(29,78,216,0.15);--color-bg-2: rgba(180,83,9,0.15);--color-bg-3: rgba(21,128,61,0.15);--color-bg-4: rgba(185,28,28,0.15);--color-bg-5: rgba(107,33,168,0.15);--color-bg-6: rgba(194,65,12,0.15);--color-bg-7: rgba(190,24,93,0.15);--color-bg-8: rgba(8,145,178,0.15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb),0.7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb),0.15);--color-secondary-hover: rgba(var(--color-gray-400-rgb),0.25);--color-secondary-active: rgba(var(--color-gray-400-rgb),0.3);--color-border: rgba(var(--color-gray-400-rgb),0.3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb),0.4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb),0.2);--color-card-border-inner: rgba(var(--color-gray-400-rgb),0.15);--shadow-inset-sm: inset 0 1px 0 rgba(255,255,255,0.1),inset 0 -1px 0 rgba(0,0,0,0.15);--color-select-caret: rgba(var(--color-gray-200-rgb),0.8);--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}[data-color-scheme="dark"] .btn--outline{border: 1px solid var(--color-border)}[data-color-scheme="light"]{--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb),0.12);--color-secondary-hover: rgba(var(--color-brown-600-rgb),0.2);--color-secondary-active: rgba(var(--color-brown-600-rgb),0.25);--color-border: rgba(var(--color-brown-600-rgb),0.2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb),0.12);--color-card-border-inner: rgba(var(--color-brown-600-rgb),0.12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb),0.4);--color-success-rgb: var(--color-teal-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-orange-500-rgb);--color-info-rgb: var(--color-slate-500-rgb)}@font-face{font-family: 'FKGroteskNeue';src: url('https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2') format('woff2')}html{font-size: var(--font-size-base);font-family: var(--font-family-base);line-height: var(--line-height-normal);color: var(--color-text);background-color: var(--color-background);-webkit-font-smoothing: antialiased;box-sizing: border-box}*,*::before,*::after{}body{margin: 0;padding: 0;background-color: var(--color-background);color: var(--color-text);font-family: var(--font-family-base)}h1,h2,h3,h4,h5,h6{margin: 0;font-weight: var(--font-weight-semibold);line-height: var(--line-height-tight);color: var(--color-text);letter-spacing: var(--letter-spacing-tight)}h1{font-size: var(--font-size-4xl)}h2{font-size: var(--font-size-3xl)}h3{font-size: var(--font-size-2xl)}h4{font-size: var(--font-size-xl)}h5{font-size: var(--font-size-lg)}h6{font-size: var(--font-size-md)}p{margin: 0 0 var(--space-16) 0}a{color: var(--color-primary);text-decoration: none;transition: color var(--duration-fast) var(--ease-standard)}a:hover{color: var(--color-primary-hover)}code,pre{font-family: var(--font-family-mono);font-size: calc(var(--font-size-base) * 0.95);background-color: var(--color-secondary);border-radius: var(--radius-sm)}code{padding: var(--space-1) var(--space-4)}pre{padding: var(--space-16);margin: var(--space-16) 0;overflow: auto;border: 1px solid var(--color-border)}pre code{background: none;padding: 0}:focus-visible{outline: var(--focus-outline);outline-offset: 2px}.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border-width: 0}.flex{display: flex}.flex-col{flex-direction: column}.items-center{align-items: center}.justify-center{justify-content: center}.justify-between{justify-content: space-between}.gap-4{gap: var(--space-4)}.gap-8{gap: var(--space-8)}.gap-16{gap: var(--space-16)}.m-0{margin: 0}.m-8{margin: var(--space-8)}.mt-8{margin-top: var(--space-8)}.mb-8{margin-bottom: var(--space-8)}.mx-8{margin-left: var(--space-8);margin-right: var(--space-8)}.my-8{margin-top: var(--space-8);margin-bottom: var(--space-8)}.p-0{padding: 0}.py-8{padding-top: var(--space-8);padding-bottom: var(--space-8)}.px-8{padding-left: var(--space-8);padding-right: var(--space-8)}.py-16{padding-top: var(--space-16);padding-bottom: var(--space-16)}.px-16{padding-left: var(--space-16);padding-right: var(--space-16)}.block{display: block}.hidden{display: none}.btn{display: inline-flex;align-items: center;justify-content: center;padding: var(--space-8) var(--space-16);border-radius: var(--radius-base);font-size: var(--font-size-base);font-weight: 500;line-height: 1.5;cursor: pointer;transition: all var(--duration-normal) var(--ease-standard);border: none;text-decoration: none}.btn:focus-visible{outline: none;box-shadow: var(--focus-ring)}.btn:disabled{opacity: 0.5;cursor: not-allowed}.btn--primary{background: var(--color-primary);color: var(--color-btn-primary-text)}.btn--primary:hover{background: var(--color-primary-hover)}.btn--primary:active{background: var(--color-primary-active)}.btn--secondary{background: var(--color-secondary);color: var(--color-text)}.btn--secondary:hover{background: var(--color-secondary-hover)}.btn--secondary:active{background: var(--color-secondary-active)}.btn--outline{background: transparent;border: 1px solid var(--color-border);color: var(--color-text)}.btn--outline:hover{background: var(--color-secondary)}.btn--sm{padding: var(--space-4) var(--space-12);font-size: var(--font-size-sm);border-radius: var(--radius-sm)}.btn--lg{padding: var(--space-10) var(--space-20);font-size: var(--font-size-lg);border-radius: var(--radius-md)}.btn--full-width{width: 100%}.form-control{display: block;width: 100%;padding: var(--space-8) var(--space-12);font-size: var(--font-size-md);line-height: 1.5;color: var(--color-text);background-color: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-base);transition: border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.form-control:focus{border-color: var(--color-primary);outline: var(--focus-outline)}textarea.form-control{font-family: var(--font-family-base);font-size: var(--font-size-base)}select.form-control{-webkit-appearance: none;-moz-appearance: none;appearance: none;background-image: var(--select-caret-light);background-repeat: no-repeat;background-position: right var(--space-12) center;background-size: 16px;padding-right: var(--space-32)}@media (prefers-color-scheme: dark){select.form-control{background-image: var(--select-caret-dark)}}[data-color-scheme="dark"] select.form-control{background-image: var(--select-caret-dark)}[data-color-scheme="light"] select.form-control{background-image: var(--select-caret-light)}.form-label{display: block;margin-bottom: var(--space-8);font-weight: var(--font-weight-medium);font-size: var(--font-size-sm)}.form-group{margin-bottom: var(--space-16)}.card{background-color: var(--color-surface);border-radius: var(--radius-lg);border: 1px solid var(--color-card-border);box-shadow: var(--shadow-sm);overflow: hidden;transition: box-shadow var(--duration-normal) var(--ease-standard)}.card:hover{box-shadow: var(--shadow-md)}.card__body{padding: var(--space-16)}.card__header,.card__footer{padding: var(--space-16);border-bottom: 1px solid var(--color-card-border-inner)}.status{display: inline-flex;align-items: center;padding: var(--space-6) var(--space-12);border-radius: var(--radius-full);font-weight: var(--font-weight-medium);font-size: var(--font-size-sm)}.status--success{background-color: rgba(var(--color-success-rgb),var(--status-bg-opacity));color: var(--color-success);border: 1px solid rgba(var(--color-success-rgb),var(--status-border-opacity))}.status--error{background-color: rgba(var(--color-error-rgb),var(--status-bg-opacity));color: var(--color-error);border: 1px solid rgba(var(--color-error-rgb),var(--status-border-opacity))}.status--warning{background-color: rgba(var(--color-warning-rgb),var(--status-bg-opacity));color: var(--color-warning);border: 1px solid rgba(var(--color-warning-rgb),var(--status-border-opacity))}.status--info{background-color: rgba(var(--color-info-rgb),var(--status-bg-opacity));color: var(--color-info);border: 1px solid rgba(var(--color-info-rgb),var(--status-border-opacity))}.container{width: 100%;margin-right: auto;margin-left: auto;padding-right: var(--space-16);padding-left: var(--space-16)}@media (min-width: 640px){.container{max-width: var(--container-sm)}}@media (min-width: 768px){.container{max-width: var(--container-md)}}@media (min-width: 1024px){.container{max-width: var(--container-lg)}}@media (min-width: 1280px){.container{max-width: var(--container-xl)}}vaadin-button{--lumo-primary-color: var(--color-primary);--lumo-primary-text-color: var(--color-btn-primary-text);border-radius: var(--radius-base);transition: all var(--capofila-transition-fast)}vaadin-button::part(label){font-weight: var(--font-weight-medium);text-transform: uppercase;font-size: var(--font-size-xs);letter-spacing: 0.5px}vaadin-button:hover{--lumo-primary-color: var(--color-primary-hover);box-shadow: var(--shadow-md)}vaadin-button[theme~="secondary"]{--lumo-primary-color: var(--color-secondary);--lumo-primary-text-color: var(--color-text)}vaadin-button[theme~="secondary"]:hover{--lumo-primary-color: var(--color-secondary-hover)}vaadin-button[theme~="tertiary"]{color: var(--color-primary);border: none}vaadin-button[theme~="tertiary"]:hover{background-color: var(--color-secondary)}vaadin-text-field{--lumo-text-field-border-color: var(--color-border);--lumo-text-field-border-radius: var(--radius-base)}vaadin-text-field::part(input-field){border: 1px solid var(--color-border);border-radius: var(--radius-base);background-color: var(--color-surface);transition: all var(--capofila-transition-fast)}vaadin-text-field:hover::part(input-field),vaadin-text-field:focus-within::part(input-field){border-color: var(--color-primary);box-shadow: var(--focus-ring)}vaadin-text-field:focus-within::part(input-field){outline: var(--focus-outline)}vaadin-select,vaadin-combo-box{--lumo-contrast-20pct: var(--color-border)}vaadin-select::part(toggle-button),vaadin-combo-box::part(toggle-button){color: var(--color-primary)}vaadin-grid{--lumo-grid-border-color: var(--color-border);--lumo-body-text-color: var(--color-text);font-size: var(--font-size-base);border: 1px solid var(--color-border);border-radius: var(--radius-base);overflow: hidden}vaadin-grid::part(header-cell){background-color: var(--color-secondary);font-weight: var(--font-weight-semibold);color: var(--color-text);text-transform: uppercase;font-size: var(--font-size-xs);letter-spacing: 0.5px;border-bottom: 2px solid var(--color-border)}vaadin-grid::part(body-cell){padding: var(--space-10);border-bottom: 1px solid var(--color-border);transition: background-color var(--capofila-transition-fast)}vaadin-grid::part(row):hover::part(body-cell){background-color: var(--color-secondary)}vaadin-grid::part(row)[selected]::part(body-cell){background-color: rgba(var(--color-success-rgb),var(--status-bg-opacity))}vaadin-grid.row-stripes::part(body-row):nth-child(even)::part(body-cell){background-color: var(--color-secondary)}vaadin-grid.row-stripes::part(body-row):nth-child(odd)::part(body-cell){background-color: var(--color-surface)}vaadin-badge{border-radius: var(--radius-full);font-weight: var(--font-weight-medium);font-size: var(--font-size-xs);padding: var(--space-4) var(--space-8);text-transform: uppercase;letter-spacing: 0.3px}vaadin-dialog::part(overlay){border-radius: var(--radius-lg);box-shadow: var(--shadow-lg);border: none}vaadin-dialog::part(content){padding: var(--space-24)}vaadin-tabs{background-color: transparent;border-bottom: 2px solid var(--color-border)}vaadin-tab::part(label){color: var(--color-text-secondary);font-weight: var(--font-weight-medium);text-transform: uppercase;font-size: var(--font-size-sm);letter-spacing: 0.5px;padding: var(--space-16) var(--space-24)}vaadin-tab[active]::part(label){color: var(--color-primary);border-bottom: 3px solid var(--color-primary)}.status-badge-attivo,.status-badge-in-scadenza,.status-badge-scaduto,.status-badge-in-attesa,.payment-badge-pagato,.payment-badge-non-pagato,.payment-badge-in-ritardo,.status-inline{display: inline-flex;align-items: center;gap: var(--space-6);padding: var(--space-4) var(--space-12);border-radius: var(--radius-full);font-weight: var(--font-weight-semibold);font-size: var(--font-size-xs);text-transform: uppercase;letter-spacing: 0.3px}.status-inline::before{content: '';display: inline-block;width: 8px;height: 8px;border-radius: 50%;flex-shrink: 0}.status-badge-attivo,.payment-badge-pagato,.status-inline.attivo{background-color: rgba(var(--color-success-rgb),var(--status-bg-opacity));color: var(--color-success);border: 1px solid rgba(var(--color-success-rgb),var(--status-border-opacity))}.status-inline.attivo::before{background-color: var(--color-success)}.status-badge-in-scadenza,.payment-badge-in-ritardo,.status-inline.in-scadenza{background-color: rgba(var(--color-warning-rgb),var(--status-bg-opacity));color: var(--color-warning);border: 1px solid rgba(var(--color-warning-rgb),var(--status-border-opacity))}.status-inline.in-scadenza::before{background-color: var(--color-warning)}.status-badge-scaduto,.payment-badge-non-pagato,.status-inline.scaduto{background-color: rgba(var(--color-error-rgb),var(--status-bg-opacity));color: var(--color-error);border: 1px solid rgba(var(--color-error-rgb),var(--status-border-opacity))}.status-inline.scaduto::before{background-color: var(--color-error)}.status-badge-in-attesa,.status-inline.in-attesa{background-color: rgba(var(--color-info-rgb),var(--status-bg-opacity));color: var(--color-info);border: 1px solid rgba(var(--color-info-rgb),var(--status-border-opacity))}.status-inline.in-attesa::before{background-color: var(--color-info)}.dashboard-container{padding: var(--space-24);background-color: var(--color-background)}.dashboard-header{width: 75%;display: flex;justify-content: space-between;align-items: center;margin-bottom: var(--capofila-space-section);padding: var(--space-24);background-color: var(--color-surface);border-radius: var(--radius-lg);box-shadow: var(--shadow-sm)}.dashboard-title{font-size: var(--font-size-3xl);font-weight: var(--font-weight-bold);color: var(--color-text);margin: 0;letter-spacing: var(--letter-spacing-tight)}.dashboard-subtitle{font-size: var(--font-size-base);color: var(--color-text-secondary);margin-top: var(--space-4)}.dashboard-controls{display: flex;gap: var(--space-16);align-items: center;flex-wrap: nowrap}.kpi-cards-container{display: grid;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: var(--space-24);margin-bottom: var(--capofila-space-section)}.kpi-card{background: var(--color-surface);border: 1px solid var(--color-card-border);border-radius: var(--radius-lg);padding: var(--space-20);box-shadow: var(--shadow-sm);border-left: 5px solid;transition: all var(--capofila-transition-normal);cursor: pointer;position: relative;overflow: hidden;display: flex;flex-direction: column;min-height: 180px;justify-content: space-between}.kpi-card:hover{transform: translateY(-4px);box-shadow: var(--shadow-lg)}.kpi-card:focus-visible{outline: var(--focus-outline);outline-offset: 2px;box-shadow: var(--focus-ring)}.kpi-card::before{content: '';position: absolute;top: -50%;right: -50%;width: 200px;height: 200px;border-radius: 50%;opacity: 0.03;transition: opacity var(--duration-normal) var(--ease-standard);pointer-events: none}.kpi-card:hover::before{opacity: 0.08}.kpi-card.status-attivo{border-left-color: var(--color-success)}.kpi-card.status-attivo::before{background-color: var(--color-success)}.kpi-card.status-in-scadenza{border-left-color: var(--color-warning)}.kpi-card.status-in-scadenza::before{background-color: var(--color-warning)}.kpi-card.status-scaduto{border-left-color: var(--color-error)}.kpi-card.status-scaduto::before{background-color: var(--color-error)}.kpi-card.status-pagamenti{border-left-color: var(--color-info)}.kpi-card.status-pagamenti::before{background-color: var(--color-info)}.kpi-card-header{display: flex;justify-content: space-between;align-items: flex-start;margin-bottom: var(--space-12)}.kpi-card-label{font-size: var(--font-size-xs);font-weight: var(--font-weight-semibold);color: var(--color-text-secondary);text-transform: uppercase;letter-spacing: 0.5px;margin: 0}.kpi-card-icon{width: 24px;height: 24px;display: flex;align-items: center;justify-content: center;border-radius: var(--radius-full);font-size: var(--font-size-sm);opacity: 0.7}.kpi-card.status-attivo .kpi-card-icon{background-color: rgba(var(--color-success-rgb),0.1);color: var(--color-success)}.kpi-card.status-in-scadenza .kpi-card-icon{background-color: rgba(var(--color-warning-rgb),0.1);color: var(--color-warning)}.kpi-card.status-scaduto .kpi-card-icon{background-color: rgba(var(--color-error-rgb),0.1);color: var(--color-error)}.kpi-card.status-pagamenti .kpi-card-icon{background-color: rgba(var(--color-info-rgb),0.1);color: var(--color-info)}.kpi-card-value{font-size: 36px;font-weight: var(--font-weight-bold);color: var(--color-text);line-height: var(--line-height-tight);margin: var(--space-8) 0;letter-spacing: var(--letter-spacing-tight)}.kpi-card-description{font-size: var(--font-size-sm);color: var(--color-text-secondary);line-height: var(--line-height-normal);margin: 0;flex-grow: 1}.kpi-card-footer{margin-top: var(--space-12);padding-top: var(--space-12);border-top: 1px solid var(--color-card-border-inner);display: flex;justify-content: space-between;align-items: center}.kpi-card-trend{font-size: var(--font-size-sm);font-weight: var(--font-weight-semibold);display: flex;align-items: center;gap: var(--space-4)}.kpi-card-trend.positive{color: var(--color-success)}.kpi-card-trend.negative{color: var(--color-error)}.kpi-card-trend.neutral{color: var(--color-text-secondary)}.kpi-card-trend::before{display: inline-block;width: 16px;height: 16px;font-weight: var(--font-weight-bold)}.kpi-card-trend.positive::before{content: '↑'}.kpi-card-trend.negative::before{content: '↓'}.kpi-card-trend.neutral::before{content: '→'}.kpi-card-updated{font-size: var(--font-size-xs);color: var(--color-text-secondary);text-transform: uppercase;letter-spacing: 0.3px;font-weight: var(--font-weight-medium);opacity: 0.7}@media (prefers-reduced-motion: reduce){.kpi-card,.kpi-card::before{transition: none}.kpi-card:hover{transform: none}}.charts-container{display: grid;grid-template-columns: repeat(auto-fit,minmax(300px,1fr));gap: var(--space-24);margin-bottom: var(--capofila-space-section)}.chart-card{background-color: var(--color-surface);border-radius: var(--radius-lg);padding: var(--capofila-space-card);box-shadow: var(--shadow-sm);transition: box-shadow var(--capofila-transition-fast)}.chart-card:hover{box-shadow: var(--shadow-md)}.chart-card-title,.grid-card-title{font-size: var(--font-size-base);font-weight: var(--font-weight-semibold);color: var(--color-text);margin-bottom: var(--space-24);text-transform: uppercase;letter-spacing: 0.5px}.chart-card canvas{max-width: 100%;height: auto}.grid-card{background-color: var(--color-surface);border-radius: var(--radius-lg);padding: var(--space-24);box-shadow: var(--shadow-sm);overflow: auto}.filter-bar{display: flex;gap: var(--space-16);margin-bottom: var(--space-24);flex-wrap: nowrap;align-items: center;padding: var(--space-16);background-color: var(--color-secondary);border-radius: var(--radius-base)}.filter-item{display: flex;flex-direction: column;gap: var(--space-4)}.filter-label{font-size: var(--font-size-xs);font-weight: var(--font-weight-semibold);color: var(--color-text);text-transform: uppercase;letter-spacing: 0.3px}.actions-cell{display: flex;gap: var(--space-8)}.action-button{padding: var(--space-4) var(--space-8);font-size: var(--font-size-xs);font-weight: var(--font-weight-semibold);border-radius: var(--radius-base);border: none;cursor: pointer;transition: all var(--capofila-transition-fast);text-transform: uppercase;letter-spacing: 0.3px}.action-button.view{background-color: rgba(var(--color-info-rgb),var(--status-bg-opacity));color: var(--color-info);border: 1px solid rgba(var(--color-info-rgb),var(--status-border-opacity))}.action-button.view:hover{background-color: rgba(var(--color-info-rgb),0.25);box-shadow: var(--shadow-sm)}.action-button.edit{background-color: rgba(var(--color-warning-rgb),var(--status-bg-opacity));color: var(--color-warning);border: 1px solid rgba(var(--color-warning-rgb),var(--status-border-opacity))}.action-button.edit:hover{background-color: rgba(var(--color-warning-rgb),0.25);box-shadow: var(--shadow-sm)}.action-button.delete{background-color: rgba(var(--color-error-rgb),var(--status-bg-opacity));color: var(--color-error);border: 1px solid rgba(var(--color-error-rgb),var(--status-border-opacity))}.action-button.delete:hover{background-color: rgba(var(--color-error-rgb),0.25);box-shadow: var(--shadow-sm)}@media (max-width: 1600px){.kpi-cards-container{grid-template-columns: repeat(2,1fr)}}@media (max-width: 1200px){.kpi-cards-container{grid-template-columns: repeat(2,1fr)}.charts-container{grid-template-columns: 1fr}}@media (max-width: 768px){.kpi-cards-container{grid-template-columns: 1fr;gap: var(--space-16)}.kpi-card{min-height: 150px;padding: var(--space-16)}.dashboard-header{flex-direction: column;align-items: flex-start;gap: var(--space-24)}.dashboard-controls{width: 100%}.dashboard-controls vaadin-select,.dashboard-controls vaadin-text-field{flex: 1;min-width: 200px}.kpi-card{padding: var(--space-16)}.kpi-card-value{font-size: var(--font-size-3xl)}.filter-bar{flex-direction: column}.filter-item{width: 100%}.actions-cell{flex-direction: column}.action-button{width: 100%}}@media (max-width: 480px){.kpi-cards-container{gap: var(--space-16)}.charts-container{gap: var(--space-16)}.dashboard-container{padding: var(--space-16)}.dashboard-header{padding: var(--space-16);gap: var(--space-16)}.dashboard-title{font-size: var(--font-size-2xl)}.dashboard-subtitle{font-size: var(--font-size-sm)}.dashboard-controls{gap: var(--space-12)}.dashboard-controls vaadin-select,.dashboard-controls vaadin-text-field{min-width: 100%}.kpi-card{padding: var(--space-12)}.kpi-card-value{font-size: var(--font-size-2xl);margin: var(--space-12) 0}.kpi-card-label{font-size: 10px;margin-bottom: var(--space-6)}.kpi-card-description{font-size: var(--font-size-xs);margin-top: var(--space-6)}.kpi-card-trend{font-size: var(--font-size-xs);margin-top: var(--space-12);padding-top: var(--space-12)}.chart-card,.grid-card{padding: var(--space-16)}.chart-card-title,.grid-card-title{font-size: var(--font-size-sm);margin-bottom: var(--space-16)}.filter-bar{padding: var(--space-12);gap: var(--space-12)}.filter-label{font-size: 10px}.action-button{padding: var(--space-6) var(--space-12);font-size: 10px}vaadin-grid::part(header-cell),vaadin-grid::part(body-cell){padding: var(--space-12);font-size: var(--font-size-sm)}vaadin-grid::part(header-cell){font-size: 10px}vaadin-button::part(label){font-size: 10px}vaadin-tab::part(label){font-size: var(--font-size-xs);padding: var(--space-12) var(--space-16)}.actions-cell{gap: var(--space-6)}}@media (prefers-color-scheme: dark){.kpi-card{box-shadow: var(--shadow-sm)}.kpi-card:hover{box-shadow: var(--shadow-lg)}.kpi-card-footer{border-top-color: var(--color-card-border-inner)}.status-inline{border-color: var(--color-border)}}[data-color-scheme="dark"]{.kpi-card{box-shadow: var(--shadow-sm)}.kpi-card:hover{box-shadow: var(--shadow-lg)}.kpi-card-footer{border-top-color: var(--color-card-border-inner)}.status-inline{border-color: var(--color-border)}}@media print{.dashboard-container{background-color: var(--color-surface)}.kpi-card,.chart-card,.grid-card{break-inside: avoid;page-break-inside: avoid}vaadin-button[theme~="icon"],.action-button{display: none}.app-logo{width: 48px;height: 48px;object-fit: contain;border-radius: var(--lumo-border-radius-m);box-shadow: var(--lumo-box-shadow-s)}header{display: flex;align-items: center}}html{--yamme-color: #F1AF42;--modello-color: var(--yamme-color);--gev-color-scuro: #003f2b;--gev-color-medio: #007a53;--gev-color-chiaro: #e2f9ee;--aura-accent-color-light: color-mix(in srgb,var(--gev-color-scuro) 85%,var(--gev-color-chiaro));--aura-accent-color-dark: color-mix(in srgb,var(--modello-color) 75%,var(--aura-background-color));--accent-20p: color-mix(in srgb,var(--gev-color-scuro) 20%,var(--gev-color-chiaro));--accent-40p: color-mix(in srgb,var(--gev-color-scuro) 40%,var(--gev-color-chiaro));--accent-60p: color-mix(in srgb,var(--gev-color-scuro) 60%,var(--gev-color-chiaro))}a{text-decoration: underline}.cliccabile{cursor: pointer}vaadin-grid::part(cliccabile){cursor: pointer}.versione{font-size: 0.8em;position: fixed;bottom: 0;right: var(--vaadin-gap-l)}.avviso{background: linear-gradient(var(--accent-60p),var(--accent-20p));border-radius: var(--vaadin-radius-m);padding: var(--vaadin-padding-l);margin-left: var(--vaadin-padding-l);border: 1px solid var(--aura-neutral)}main{padding: var(--vaadin-padding-m)}main .limitato{margin: auto;max-width: 1280px}h2[slot="navbar"]{font-size: var(--aura-font-size-xl)}header{display: flex;align-items: center;gap: var(--vaadin-gap-m);padding: var(--vaadin-padding-m) var(--vaadin-padding-s);box-sizing: border-box}header img{width: 50px}header h1{text-align: center;text-wrap: wrap;font-weight: bold}.app-header{width: 100%;padding: var(--space-16) var(--space-20);gap: var(--space-12)}.app-logo{height: 48px;width: auto}.app-text-container{display: flex;flex-direction: column;justify-content: center;gap: 0}.app-title{margin: 0;font-size: var(--font-size-lg);font-weight: var(--font-weight-semibold);color: var(--color-primary);line-height: 1.2}.app-subtitle{margin: 0;font-size: var(--font-size-sm);font-weight: var(--font-weight-normal);color: var(--color-text-secondary);line-height: 1.2}vaadin-grid::part(header-row){background: linear-gradient(to right,var(--accent-40p),var(--accent-20p))}vaadin-grid-sorter[direction]{font-weight: bold}.capofila-dashboard-grid::part(header-cell){font-weight: 600}.capofila-dashboard-grid::part(cell){white-space: normal;overflow-wrap: anywhere}.capofila-dashboard-grid::part(row):nth-child(even){background-color: var(--vaadin-background-color)}.capofila-dashboard-grid::part(row):hover{background-color: var(--accent-20p)}dl{border: 1px solid var(--vaadin-border-color);background-image: linear-gradient(var(--vaadin-background-color),var(--vaadin-background-container-strong));margin-bottom: 2em}dt,dd{box-sizing: border-box;padding: 3px 8px}dd~dt,dd~dd{border-top: 1px solid var(--vaadin-border-color-secondary)}dt{float: left;width: 30%;padding-bottom: 0}dd{margin-left: 30%;border-left: 1px dotted var(--vaadin-border-color-secondary);background-color: var(--vaadin-background-color)}dd::after{content: "";display: block;clear: both}.menu-utente{height: 1.5lh;margin-left: auto;border-radius: 100%}.notification-success{background-color: var(--color-success) !important;color: var(--color-btn-primary-text) !important}.notification-error{background-color: var(--color-error) !important;color: var(--color-btn-primary-text) !important}.notification-info{background-color: var(--color-info) !important;color: var(--color-btn-primary-text) !important}.button-primary{background-color: var(--gev-color-medio) !important;color: var(--color-white) !important;border: none !important;border-radius: var(--radius-md) !important;box-shadow: var(--shadow-sm) !important;font-weight: var(--font-weight-medium) !important;padding: var(--space-10) var(--space-16) !important;transition: background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.button-primary:hover{background-color: var(--gev-color-scuro) !important;box-shadow: var(--shadow-md) !important;transform: translateY(-1px)}.button-primary:active{background-color: var(--gev-color-scuro) !important;box-shadow: var(--shadow-xs) !important;transform: translateY(0)}.button-primary:focus-visible{outline: 2px solid var(--gev-color-medio);outline-offset: 2px}.btn-primary{background-color: var(--color-primary) !important;color: var(--color-btn-primary-text) !important;border: none !important}.btn-tertiary{background-color: transparent !important;color: var(--color-primary) !important;border: 1px solid var(--color-border) !important}.btn-danger{background-color: var(--color-error) !important;color: var(--color-btn-primary-text) !important;border: none !important}.btn-sm{font-size: var(--font-size-sm) !important;padding: var(--space-8) var(--space-12) !important}vaadin-button.btn-success{background: #2e7d32;color: white}.background-color-section{background-color: var(--gev-color-chiaro)}.bg-base{background-color: var(--color-surface) !important}.bg-contrast-5{background-color: var(--color-secondary) !important}.text-primary{color: var(--color-primary) !important}.text-secondary{color: var(--color-text-secondary) !important}.text-success{color: #198754}.font-weight-medium{font-weight: var(--font-weight-medium) !important}.font-size-xl{font-size: var(--font-size-xl) !important}.font-size-large{font-size: var(--font-size-lg) !important}.font-size-lg{font-size: var(--font-size-lg) !important}.font-size-sm{font-size: var(--font-size-sm) !important}.font-size-small{font-size: var(--font-size-sm) !important}.width-full{width: 100% !important}.width-auto{width: auto !important}.margin-none{margin: 0 !important}.margin-small{margin: var(--space-8) !important}.gap-large{gap: var(--space-24) !important}.gap-medium{gap: var(--space-16) !important}.gap-sm{gap: var(--space-8) !important}.padding-large{padding: var(--space-24) !important}.padding-medium{padding: var(--space-20) !important}.shadow-small{box-shadow: var(--shadow-sm) !important}.border-radius-large{border-radius: var(--radius-lg) !important}.border-radius-medium{border-radius: var(--radius-md) !important}.kpi-cards-container{display: flex !important;flex-direction: row !important;flex-wrap: nowrap;gap: var(--vaadin-gap-m,1rem);width: 100%;align-items: stretch;overflow-x: auto}.kpi-cards-container>.kpi-card{flex: 1 0 240px;width: auto !important;min-width: 240px}.kpi-cards-container>.kpi-cards-container{flex: 1 1 auto;min-width: 0}.dashboard-cards-layout,.dashboard-cards-layout>vaadin-vertical-layout{display: grid !important;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: var(--vaadin-gap-m,1rem);width: 100%;align-items: stretch}@media (max-width: 1024px){.dashboard-cards-layout{grid-template-columns: repeat(2,1fr)}}@media (max-width: 600px){.dashboard-cards-layout{grid-template-columns: 1fr}}.convenzione-dialog-form{gap: var(--space-20)}.convenzione-dialog-dates,.convenzione-dialog-dates vaadin-date-picker,.convenzione-dialog-upload-list,.convenzione-upload-field,.convenzione-upload-field vaadin-upload{width: 100%}.convenzione-dialog-upload-list{gap: var(--space-16)}.convenzione-upload-field{display: block;line-height: var(--line-height-normal);max-width: 100%}.convenzione-upload-field::part(label){line-height: var(--line-height-normal);margin-bottom: var(--space-8)}.convenzione-upload-field vaadin-upload{max-width: 100%}.convenzione-dialog-footer{gap: var(--space-8);justify-content: flex-end;padding-top: var(--space-8)}@media (max-width: 480px){.convenzione-dialog-footer{flex-wrap: wrap}.convenzione-dialog-footer vaadin-button{width: 100%}}.small-field::part(input-field){min-height: 32px;font-size: 0.85rem}.small-select::part(input-field){min-height: 30px;border-radius: 6px;font-size: 0.85rem}.small-select::part(value){line-height: 1.2}.small-select::part(toggle-button){padding: 2px}vaadin-date-picker{--vaadin-date-picker-overlay-width: 22rem}vaadin-date-picker-overlay-content{width: 22rem}