:root{--color-primary:#0A1660;--color-primary-dark:#060d3d;--color-primary-light:#2d3a9f;--color-primary-variant:#EF2B33;--color-accent:#EF2B33;--color-accent-dark:#C8102E;--color-accent-hover:#D4252C;--color-accent-light:#f2555c;--color-accent-muted:rgba(239, 43, 51, 0.12);--color-secondary:#0891b2;--color-secondary-dark:#0e7490;--color-secondary-light:#22d3ee;--color-bg-primary:#ffffff;--color-bg-secondary:#f5f5f5;--color-bg-tertiary:#e0e0e0;--color-bg-dark:#121212;--color-bg-header:var(--color-primary);--color-bg-footer:#424242;--color-text-primary:#212121;--color-text-secondary:#757575;--color-text-tertiary:#9e9e9e;--color-text-inverse:#ffffff;--color-text-link:var(--color-primary);--color-text-link-hover:var(--color-accent);--color-success:#4caf50;--color-warning:#ff9800;--color-error:#EF2B33;--color-info:#0A1660;--font-family-primary:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;--font-family-mono:'Courier New',Courier,monospace;--font-size-xs:clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);--font-size-sm:clamp(0.875rem, 0.8rem + 0.375vw, 1rem);--font-size-base:clamp(1rem, 0.95rem + 0.25vw, 1.125rem);--font-size-lg:clamp(1.125rem, 1rem + 0.625vw, 1.5rem);--font-size-xl:clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--font-size-2xl:clamp(2rem, 1.5rem + 2.5vw, 3rem);--font-size-3xl:clamp(2.5rem, 2rem + 2.5vw, 4rem);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--padding-xs:clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);--padding-sm:clamp(0.5rem, 0.4rem + 0.5vw, 1rem);--padding-md:clamp(1rem, 0.8rem + 1vw, 1.5rem);--padding-lg:clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--padding-xl:clamp(2rem, 1.5rem + 2.5vw, 4rem);--padding-2xl:clamp(3rem, 2rem + 5vw, 6rem);--margin-xs:clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);--margin-sm:clamp(0.5rem, 0.4rem + 0.5vw, 1rem);--margin-md:clamp(1rem, 0.8rem + 1vw, 1.5rem);--margin-lg:clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--margin-xl:clamp(2rem, 1.5rem + 2.5vw, 4rem);--margin-2xl:clamp(3rem, 2rem + 5vw, 6rem);--gap-xs:clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);--gap-sm:clamp(0.5rem, 0.4rem + 0.5vw, 1rem);--gap-md:clamp(1rem, 0.8rem + 1vw, 1.5rem);--gap-lg:clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--gap-xl:clamp(2rem, 1.5rem + 2.5vw, 4rem);--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px;--border-width:1px;--border-color:rgba(0, 0, 0, 0.12);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md:0 2px 4px rgba(0, 0, 0, 0.1);--shadow-lg:0 4px 8px rgba(0, 0, 0, 0.15);--shadow-xl:0 8px 16px rgba(0, 0, 0, 0.2);--shadow-2xl:0 16px 32px rgba(0, 0, 0, 0.25);--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.5s ease;--container-max-width:1200px;--header-height:clamp(60px, 5vw + 40px, 60px);--footer-height:clamp(60px, 3vw + 40px, 60px);--breakpoint-mobile:768px;--breakpoint-tablet:1024px;--breakpoint-desktop:1200px;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--scrollbar-width:12px;--scrollbar-track-color:#f1f1f1;--scrollbar-thumb-color:#888;--scrollbar-thumb-hover-color:#555}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color)}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track-color);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-color);border-radius:var(--border-radius-sm);border:2px solid var(--scrollbar-track-color)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-color)}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--margin-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--margin-md);color:var(--color-text-secondary)}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-text-link-hover)}.app-content{flex:1;max-width:none;width:100%;margin:0 auto;padding:0}.app-content--full{max-width:none;width:100%}.app-header{font-family:var(--font-family-primary);background-color:#071051;color:var(--color-text-inverse);min-height:var(--header-height);padding:0 var(--padding-lg);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center}.header-content{width:100%;max-width:var(--container-max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--gap-sm);min-height:var(--header-height)}.logo-section{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .45rem}.logo-section img{height:clamp(32px,3vw + 20px,48px);width:auto;object-fit:contain;display:block}.logo-section .logo-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-inverse)}.logo-section__brand{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-inverse);opacity:.88}.logo-section__sep{color:var(--color-text-inverse);opacity:.5;font-weight:400;user-select:none}.header-right{display:flex;align-items:center;gap:var(--gap-md)}.menu-toggle{display:none;flex-direction:column;justify-content:space-around;width:32px;height:32px;background:0 0;border:none;cursor:pointer;padding:0;z-index:var(--z-fixed)}.menu-toggle span{width:100%;height:3px;background-color:var(--color-text-inverse);border-radius:2px;transition:all var(--transition-base)}.menu-toggle.active span:first-child{transform:rotate(45deg) translate(8px,8px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.main-menu{display:flex;list-style:none;gap:var(--gap-xs);flex-wrap:wrap}@media (max-width:1024px){.main-menu{position:fixed;top:var(--header-height);left:0;right:0;background-color:var(--color-bg-header);flex-direction:column;padding:var(--padding-lg);box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform var(--transition-base);z-index:var(--z-dropdown);width:100%;max-height:calc(100vh - var(--header-height));overflow-y:auto;display:none}.main-menu.active{transform:translateX(0);display:flex}}.main-menu a{color:var(--color-text-inverse);text-decoration:none;padding:var(--padding-sm) var(--padding-md);border-radius:var(--border-radius-sm);transition:background-color var(--transition-fast);font-weight:var(--font-weight-medium)}.main-menu a.active,.main-menu a:hover{background-color:rgba(255,255,255,.2)}.main-menu li.has-submenu{position:relative}.main-menu__sub{display:none;list-style:none;margin:0;padding:var(--padding-xs) 0;position:absolute;top:100%;left:0;min-width:200px;background-color:var(--color-bg-header);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.main-menu li.has-submenu:focus-within>.main-menu__sub,.main-menu li.has-submenu:hover>.main-menu__sub{display:block}.main-menu__sub a{display:block;white-space:nowrap}.language-selector{display:flex;gap:var(--gap-xs);align-items:center;position:relative}.language-selector__btn{padding:var(--padding-xs) var(--padding-sm);border-radius:var(--border-radius-sm);border:var(--border-width) solid rgba(255,255,255,.3);background-color:rgba(255,255,255,.1);color:var(--color-text-inverse);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-sm);display:inline-flex;align-items:center;gap:8px;transition:background-color var(--transition-fast)}.language-selector__btn:hover{background-color:rgba(255,255,255,.15)}.language-selector__btn:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.language-selector__arrow{font-size:10px;transition:transform var(--transition-fast)}.language-selector__btn[aria-expanded=true] .language-selector__arrow{transform:rotate(180deg)}.language-selector__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:var(--border-radius-sm);border:var(--border-width) solid rgba(255,255,255,.25);background-color:var(--color-bg-header);z-index:1200}.language-selector__menu[hidden]{display:none!important}.language-selector__item{border:0;background:0 0;color:var(--color-text-inverse);text-align:left;border-radius:var(--border-radius-sm);padding:6px 8px;font-size:var(--font-size-sm);cursor:pointer}.language-selector__item.is-active,.language-selector__item:hover{background-color:rgba(255,255,255,.2)}@media (max-width:1024px){.menu-toggle{display:flex}.main-menu li{width:100%}.main-menu li.has-submenu>.main-menu__sub{display:block;position:static;box-shadow:none;padding:0 0 0 var(--padding-md);margin-top:var(--margin-xs);background:0 0}.main-menu__sub a{white-space:normal}.main-menu a{display:block;width:100%;padding:var(--padding-md);text-align:left}.header-right{flex-wrap:nowrap;gap:var(--gap-sm);min-width:0;flex:1 1 auto;justify-content:flex-end}.logo-section{min-width:0;flex:1 1 auto}.logo-section .logo-text,.logo-section__brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(42vw,220px)}}.app-footer{background:linear-gradient(128deg,var(--generali-red-dark,#c8102e) 0,var(--generali-red,#ef2b33) 46%,#e84850 100%);color:#fff;padding:0;text-align:inherit;margin-top:auto}.app-footer p{color:inherit;margin:0}.home-container{max-width:var(--container-max-width);margin:0 auto;padding:var(--padding-lg)}.hero-section{text-align:center;padding:var(--padding-2xl) var(--padding-lg);background:linear-gradient(135deg,#ffebee 0,#ffcdd2 50%,#fce4ec 100%);color:var(--color-text-primary);border-radius:var(--border-radius-md);margin-bottom:var(--margin-xl);border:1px solid rgba(239,43,51,.12)}.hero-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--margin-md);color:var(--color-text-primary)}.hero-subtitle{font-size:var(--font-size-xl);font-weight:var(--font-weight-light);margin-bottom:var(--margin-lg);color:var(--color-text-secondary)}.hero-actions{display:flex;gap:var(--gap-md);justify-content:center;flex-wrap:wrap}.btn{padding:var(--padding-md) var(--padding-lg);border-radius:var(--border-radius-md);text-decoration:none;font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:inline-block;font-size:var(--font-size-base);cursor:pointer;border:2px solid transparent}.btn-primary{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 2px 8px rgba(239,43,51,.35)}.btn-primary:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 4px 14px rgba(239,43,51,.45)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 6px rgba(239,43,51,.4)}.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-accent-muted);color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.hero-actions .btn-secondary{color:var(--color-primary);border-color:var(--color-primary)}.hero-actions .btn-secondary:hover{background-color:rgba(239,43,51,.08);color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.hero-actions .btn-primary{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.hero-actions .btn-primary:hover{background-color:var(--color-accent-dark);color:#fff;border-color:var(--color-accent-dark)}.features-section{margin-bottom:var(--margin-xl)}.features-section h2{text-align:center;font-size:var(--font-size-2xl);margin-bottom:var(--margin-lg);color:var(--color-text-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(280px,25vw,350px),1fr));gap:var(--gap-lg);margin-bottom:var(--margin-xl)}.feature-card{background:var(--color-bg-primary);padding:var(--padding-xl);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.feature-icon{font-size:clamp(2.5rem, 3vw + 1.5rem, 3.5rem);margin-bottom:var(--margin-md)}.feature-card h3{font-size:var(--font-size-xl);margin-bottom:var(--margin-sm);color:var(--color-text-primary)}.feature-card p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.info-section{background:var(--color-bg-primary);padding:var(--padding-xl);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md)}.info-section h2{font-size:var(--font-size-2xl);margin-bottom:var(--margin-lg);color:var(--color-text-primary)}.info-content p{font-size:var(--font-size-lg);line-height:var(--line-height-loose);color:var(--color-text-primary);margin-bottom:var(--margin-md)}@media (max-width:768px){.header-content{flex-direction:row;align-items:center}.hero-title{font-size:var(--font-size-2xl)}.hero-subtitle{font-size:var(--font-size-lg)}.features-grid{grid-template-columns:1fr}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:var(--margin-sm)}.mt-md{margin-top:var(--margin-md)}.mt-lg{margin-top:var(--margin-lg)}.mt-xl{margin-top:var(--margin-xl)}.mb-sm{margin-bottom:var(--margin-sm)}.mb-md{margin-bottom:var(--margin-md)}.mb-lg{margin-bottom:var(--margin-lg)}.mb-xl{margin-bottom:var(--margin-xl)}.p-sm{padding:var(--padding-sm)}.p-md{padding:var(--padding-md)}.p-lg{padding:var(--padding-lg)}.p-xl{padding:var(--padding-xl)}.app-modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);background:rgba(0,0,0,.5);opacity:0;transition:opacity var(--transition-base)}.app-modal-backdrop.show{opacity:1}.app-modal-backdrop.app-modal-backdrop--static{cursor:default}.app-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--padding-md);overflow-x:hidden;overflow-y:auto;outline:0;opacity:0;transition:opacity var(--transition-base)}.app-modal.show{opacity:1}.app-modal.fade .app-modal-dialog{transition:transform var(--transition-base);transform:scale(.95)}.app-modal.fade.show .app-modal-dialog{transform:scale(1)}.app-modal-dialog{position:relative;width:100%;max-width:500px;max-height:calc(100vh - 2rem);margin:auto;pointer-events:none}.app-modal-dialog>*{pointer-events:auto}.app-modal-content{position:relative;display:flex;flex-direction:column;background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-2xl);max-height:calc(100vh - 2rem)}.app-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--padding-md) var(--padding-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.app-modal-header .app-modal-close{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-left:auto;background:0 0;border:0;font-size:1.5rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-sm)}.app-modal-header .app-modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.app-modal-body{padding:var(--padding-lg);overflow-y:auto;flex:1 1 auto}.app-modal-body--loading{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--color-text-secondary)}.app-modal-footer{display:flex;gap:var(--gap-sm);justify-content:flex-end;padding:var(--padding-md) var(--padding-lg);border-top:1px solid var(--border-color);flex-shrink:0}.page-view{max-width:100%}.page-view .page-content{padding:var(--padding-md,1rem) 0;line-height:1.6}.page-view.page-layout-sidebar_content .page-main-with-sidebar,.page-view.page-layout-sidebar_left_content .page-main-with-sidebar{display:grid;gap:var(--padding-lg,1.5rem)}@media (min-width:768px){.page-view.page-layout-sidebar_content{display:grid;grid-template-columns:1fr 280px;gap:1.5rem}.page-view.page-layout-sidebar_left_content{display:grid;grid-template-columns:280px 1fr;gap:1.5rem}}