/* public-bundle.css — generato da scripts/build_public_css_bundle.py, non modificare a mano */
/* ===== vendor/bootstrap/bootstrap.min.css ===== */
@charset "UTF-8";/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */
/* ===== vendor/fontawesome/css/all.min.css ===== */
/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}
.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/static/vendor/fontawesome/webfonts/fa-brands-400.public.woff2) format("woff2")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-square-letterboxd:before{content:"\e62e"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-shoelace:before{content:"\e60c"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-google-scholar:before{content:"\e63b"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-signal-messenger:before{content:"\e663"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-mintbit:before{content:"\e62f"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-brave-reverse:before{content:"\e63d"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-letterboxd:before{content:"\e62d"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-upwork:before{content:"\e641"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-webflow:before{content:"\e65c"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(/static/vendor/fontawesome/webfonts/fa-regular-400.public.woff2) format("woff2")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/static/vendor/fontawesome/webfonts/fa-solid-900.public.woff2) format("woff2")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(/static/vendor/fontawesome/webfonts/fa-brands-400.public.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/static/vendor/fontawesome/webfonts/fa-solid-900.public.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/static/vendor/fontawesome/webfonts/fa-regular-400.public.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/static/vendor/fontawesome/webfonts/fa-solid-900.public.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/static/vendor/fontawesome/webfonts/fa-brands-400.public.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/static/vendor/fontawesome/webfonts/fa-regular-400.public.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(/static/vendor/fontawesome/webfonts/fa-v4compatibility.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
/* ===== css/variables.css ===== */
/* MurphFin — variables.css */

/* ═══════════════════════════════════════════════════════
   MurphFin — Unified Design System v3.2
   Dark-first unificato (ex Brutus + Deep Space).
   Tema chiaro opt-in via body.theme-light.
   ═══════════════════════════════════════════════════════ */


/* ═══════ 1. VARIABLES — Dark (default) ═══════ */

:root {
  /* === MurphFin Unified Dark Theme === */

  /* Sfondi */
  --brand-bg: #0A0A0A;
  --brand-surface: #111111;
  --brand-surface-alt: #181818;

  /* Testo */
  --brand-text: #F0EDE7;
  --brand-muted: #8A8580;

  /* Bordi */
  --brand-border: #252525;

  /* Accent primario — Atlantic Ledger: petrolio autorevole, distinto dai
     viola CoopSuite e dagli aranci Trakka. */
  --brand-accent: #0E7490;
  --brand-accent-light: #55C2CC;
  --brand-accent-glow: rgba(14, 116, 144, 0.15);
  /* Pannelli sempre scuri (es. .lp-product-stage): petrolio profondo, identico
     nei due temi; accento leggibile su quel fondo. */
  --brand-petrol-deep: #073540;
  --brand-accent-on-dark: #55C2CC;

  /* Accent secondari */
  --brand-cyan: #06B6D4;
  --brand-gold: #FBBF24;

  /* Semantici */
  --brand-red: #C8281F;
  --brand-blue: #3B82C4;
  --brand-success: #22A05B;
  --brand-danger: #C8281F;
  --brand-danger-contrast: #F87171;
  --brand-warning: #D4920A;
  --brand-teal: #1A9E8A;
  --brand-nvidia: #76B900;

  /* Grigi (remappati per sfondo scuro) */
  --brand-gray-50: #1a1a1a;
  --brand-gray-100: #1f1f1f;
  --brand-gray-200: #252525;
  --brand-gray-300: #3a3a3a;
  --brand-gray-400: #5a5550;
  --brand-gray-500: #B5B0AA;
  --brand-border-light: #1f1f1f;

  /* Stati semantici con sfondo (scuri) */
  --brand-success-bg: rgba(34, 160, 91, 0.12);
  --brand-success-dark: #16a34a;
  --brand-success-hover: #15803d;
  --brand-danger-bg: rgba(200, 40, 31, 0.12);
  --brand-danger-dark: #991b1b;
  --brand-danger-hover: #a01f18;
  --brand-blue-hover: #2F6DA8;
  --brand-info-bg: rgba(59, 130, 196, 0.12);
  --brand-warning-bg: rgba(212, 146, 10, 0.12);

  /* Inverso testo su superfici colorate (btn filled, badge) */
  --brand-text-inverse: #ffffff;

  /* ── Inchiostri accessibili (sweep contrasto 19/08) ──
     Tonalità "700/800" pensate per stare sopra 4.5:1 su fondi CHIARI
     (chip tinta 8-12%, superfici bianche) e su fondi pieni saturi.
     Valgono in entrambi i temi: non vanno ridefinite in theme-light. */
  --brand-cyan-ink: #0e7490;          /* testo cyan su chiaro (4.8:1) */
  --brand-cyan-ink-strong: #155e75;   /* hover/active del precedente */
  --brand-amber-ink: #b45309;         /* testo ambra su chiaro (5.0:1) */
  --brand-amber-ink-strong: #92400e;
  --brand-red-ink: #b91c1c;           /* testo rosso su rosa chiaro */
  --brand-nvidia-ink: #4d7c0f;        /* verde NVIDIA leggibile su chiaro */
  --brand-nvidia-on: #14290a;         /* testo su fondo verde NVIDIA pieno */
  --brand-chip-ink: #212529;          /* testo scuro sui chip Bootstrap */
  --brand-info-on: #05323d;           /* testo scuro su chip cyan pieno */
  --brand-on-accent-soft: rgba(255, 255, 255, 0.85); /* testo 2° livello su fondo pieno */

  /* Overlay/bordi neutri riutilizzabili */
  --overlay-border-soft: rgba(255,255,255,0.06);
  --overlay-border-softer: rgba(255,255,255,0.04);
  --overlay-shadow-strong: rgba(0,0,0,0.3);

  /* Overlay text-on-dark (alpha steps) — invertiti in theme-light */
  --overlay-text-02: rgba(255,255,255,0.02);
  --overlay-text-04: rgba(255,255,255,0.04);
  --overlay-text-05: rgba(255,255,255,0.05);
  --overlay-text-06: rgba(255,255,255,0.06);
  --overlay-text-08: rgba(255,255,255,0.08);
  --overlay-text-10: rgba(255,255,255,0.10);
  --overlay-text-12: rgba(255,255,255,0.12);
  --overlay-text-14: rgba(255,255,255,0.14);
  --overlay-text-15: rgba(255,255,255,0.15);
  --overlay-text-25: rgba(255,255,255,0.25);
  --overlay-text-30: rgba(255,255,255,0.30);
  --overlay-text-35: rgba(255,255,255,0.35);
  --overlay-text-40: rgba(255,255,255,0.40);
  --overlay-text-45: rgba(255,255,255,0.45);
  --overlay-text-50: rgba(255,255,255,0.50);
  --overlay-text-55: rgba(255,255,255,0.55);
  --overlay-text-60: rgba(255,255,255,0.60);
  --overlay-text-65: rgba(255,255,255,0.65);
  --overlay-text-68: rgba(255,255,255,0.68);
  --overlay-text-70: rgba(255,255,255,0.70);
  --overlay-text-72: rgba(255,255,255,0.72);
  --overlay-text-75: rgba(255,255,255,0.75);
  --overlay-text-80: rgba(255,255,255,0.80);
  --overlay-text-85: rgba(255,255,255,0.85);
  --overlay-text-90: rgba(255,255,255,0.90);

  /* Brand tint (colori brand con alpha — per icon boxes, bg-soft, hero decor) */
  --brand-navy-soft-06: rgba(26,47,94,0.06);
  --brand-navy-soft-08: rgba(26,47,94,0.08);
  --brand-navy-soft-20: rgba(13,31,60,0.20);
  --brand-navy-soft-60: rgba(13,31,60,0.60);
  --brand-navy-soft-70: rgba(13,31,60,0.70);
  --brand-blue-soft-06: rgba(59,130,246,0.06);
  --brand-blue-soft-08: rgba(59,130,246,0.08);
  --brand-success-soft-06: rgba(16,185,129,0.06);
  --brand-success-soft-08: rgba(22,163,74,0.08);
  --brand-success-soft-10: rgba(22,163,106,0.10);
  --brand-success-soft-15: rgba(22,163,74,0.15);
  --brand-danger-soft-06: rgba(217,4,41,0.06);
  --brand-danger-soft-15: rgba(239,68,68,0.15);
  --brand-warning-soft-08: rgba(245,158,11,0.08);
  --brand-warning-soft-15: rgba(250,204,21,0.15);
  --brand-warning-soft-20: rgba(245,158,11,0.20);
  --brand-warning-soft-30: rgba(245,158,11,0.30);
  --brand-nvidia-soft-07: rgba(118,185,0,0.07);
  --brand-nvidia-soft-10: rgba(118,185,0,0.10);
  --brand-nvidia-soft-15: rgba(118,185,0,0.15);
  --brand-nvidia-soft-30: rgba(118,185,0,0.30);
  --brand-accent-soft-06: rgba(14,116,144,0.06);
  --brand-accent-soft-12: rgba(14,116,144,0.12);
  --brand-accent-soft-15: rgba(14,116,144,0.15);
  --brand-accent-soft-20: rgba(14,116,144,0.20);
  /* Gradient hero sezione NVIDIA (landing) — unico gradient hardcoded ammesso, ora tokenizzato */
  --lp-nvidia-gradient: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #0d1f3c 100%);
  --brand-cyan-soft-04: rgba(6,182,212,0.04);
  --brand-teal-soft-10: rgba(26,158,138,0.10);
  --brand-purple-soft-10: rgba(139,92,246,0.10);
  --brand-gold-soft-12: rgba(251,191,36,0.12);
  --brand-success-pulse: rgba(34,160,91,0.6);
  --brand-success-pulse-55: rgba(34,160,91,0.55);
  --brand-success-pulse-0: rgba(34,160,91,0);
  --brand-accent-grid: rgba(14,116,144,0.035);
  --brand-accent-shadow-12: rgba(14,116,144,0.12);

  /* Overlay scuri (shadow/modal backdrop) — anche in light rimangono scuri */
  --overlay-dark-04: rgba(0,0,0,0.04);
  --overlay-dark-06: rgba(0,0,0,0.06);
  --overlay-dark-08: rgba(0,0,0,0.08);
  --overlay-dark-10: rgba(0,0,0,0.10);
  --overlay-dark-12: rgba(0,0,0,0.12);
  --overlay-dark-25: rgba(0,0,0,0.25);
  --overlay-dark-30: rgba(0,0,0,0.30);
  --overlay-dark-35: rgba(0,0,0,0.35);
  --overlay-dark-40: rgba(0,0,0,0.40);
  --overlay-dark-50: rgba(0,0,0,0.50);
  --overlay-dark-60: rgba(0,0,0,0.60);
  --overlay-dark-70: rgba(0,0,0,0.70);
  --brand-surface-translucent: rgba(248,250,252,0.95);
  --gradient-dark-hero: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 60%, #0d1f3c 100%);

  /* Focus ring (focus-visible) */
  --focus-ring-strong: rgba(59,130,246,0.15);
  --focus-ring-soft: rgba(59,130,246,0.08);

  /* Gradiente accent */
  --brand-gradient: linear-gradient(135deg, #55C2CC 0%, #06B6D4 100%);
  --brand-chat-avatar-bg: linear-gradient(135deg, #1A2F5E, #3b82f6);
  --brand-border-accent: rgba(14, 116, 144, 0.18);

  /* Chart tokens — Console palette (Cloudflare-style) */
  --chart-1: #55C2CC;
  --chart-2: #06B6D4;
  --chart-3: #8ADAE1;
  --chart-4: #64748B;
  --chart-grid: #1F1F1F;
  --chart-tooltip-bg: #111111;
  --chart-tooltip-border: #252525;
  --chart-axis: #8A8580;

  /* Layout */
  --sidebar-w: 220px;
  --sidebar-collapsed-w: 52px;
  --header-h: 40px;
  --footer-auth-h: 60px;
  /* Ombra dell'header sticky allo scroll (.app-header.is-scrolled): su fondo
     scuro serve profondita', non una linea. */
  --header-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  --radius: 0;
  --radius-sm: 0;

  /* Tipografia — system font stack nativo (zero dipendenze esterne).
     Inter / JetBrains Mono / Montserrat tenuti come fallback se installati
     localmente sul device dell'utente, per mantenere coerenza con i materiali
     storici. La preferenza primaria e' il system font del sistema operativo:
     - macOS / iOS: -apple-system → SF Pro Display
     - Windows: 'Segoe UI Variable' → 'Segoe UI'
     - Android: Roboto
     - Linux: 'Helvetica Neue' / Arial / sans-serif
     Risparmia ~50KB di font Google e 2 round trip esterni; FOUT eliminato. */
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI Variable', 'Segoe UI', 'Inter', system-ui, Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-head: -apple-system, BlinkMacSystemFont, 'Segoe UI Variable', 'Segoe UI', 'Inter', system-ui, Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: ui-monospace, 'Cascadia Code', 'SF Mono', Menlo, Consolas, 'JetBrains Mono', 'Liberation Mono', 'Courier New', monospace;
  --font-logo: -apple-system, BlinkMacSystemFont, 'Segoe UI Variable', 'Segoe UI', 'Montserrat', system-ui, Roboto, sans-serif;
  --font-size-base: 14px;

  /* Retrocompat alias brand navy/red/purple */
  --brand-navy: #5B8EC9;
  --brand-navy-dark: #1A2F5E;
  --brand-navy-mid: #1a3a6e;       /* tra navy-dark e navy-lighter, usato nei gradient */
  --brand-navy-lighter: #2d4a7a;
  --brand-purple: #7C3AED;

  /* Token usati nei gradient e bordi del tema light senza variabile (lint-fix) */
  --brand-warning-text-dark: #92400e;   /* warning header dark text */
  --brand-warning-text-mid:  #854d0e;   /* warning intensified text */
  --brand-text-dark: #1a1a1a;            /* override testo scuro intenso (theme-light) */

  /* Z-index scale (consolidata: BS5-friendly) */
  --z-sidebar: 1030;
  --z-header: 1040;
  --z-dropdown: 1050;
  --z-modal-back: 1060;
  --z-modal: 1070;
  --z-toast: 1080;

  /* Alias --mp-* rgba custom (non mappabili a --brand-*) — usati in template Deep Space */
  --mp-border-hi: rgba(14, 116, 144, 0.45);
  --mp-border-cyan: rgba(6, 182, 212, 0.20);
  --mp-cyan-dim: rgba(6, 182, 212, 0.10);

  /* Bootstrap 5.3 variable remap — dark default */
  --bs-body-bg: var(--brand-bg);
  --bs-body-color: var(--brand-text);
  --bs-body-color-rgb: 240, 237, 231;
  --bs-body-font-family: var(--font-body);
  --bs-secondary-color: rgba(240, 237, 231, 0.55);
  --bs-secondary-color-rgb: 240, 237, 231;
  --bs-tertiary-color: rgba(240, 237, 231, 0.4);
  --bs-tertiary-color-rgb: 240, 237, 231;
  --bs-emphasis-color: #ffffff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-border-color: var(--brand-border);
  --bs-border-color-translucent: rgba(14, 116, 144, 0.12);
  --bs-card-bg: var(--brand-surface);
  --bs-card-border-color: var(--brand-border);
  --bs-card-cap-bg: var(--brand-surface-alt);
  --bs-card-color: var(--brand-text);
  --bs-table-bg: transparent;
  --bs-table-color: var(--brand-text);
  --bs-table-striped-bg: var(--brand-surface-alt);
  --bs-table-striped-color: var(--brand-text);
  --bs-table-hover-bg: rgba(14, 116, 144, 0.08);
  --bs-table-hover-color: var(--brand-text);
  --bs-table-border-color: var(--brand-border);
  --bs-tertiary-bg: var(--brand-surface-alt);
  --bs-secondary-bg: var(--brand-surface);
  --bs-light-rgb: 24, 24, 24;
  --bs-link-color: var(--brand-accent-light);
  --bs-link-color-rgb: 85, 194, 204;
  --bs-link-hover-color: var(--brand-cyan);
  --bs-link-hover-color-rgb: 6, 182, 212;
  --bs-heading-color: var(--brand-text);

  /* ── Footer v2 palette (panel on dark bg #083E48) — shared dark/light ──
     Il footer resta scuro in ENTRAMBI i temi: qui vanno solo token che NON
     vengono ridefiniti in body.theme-light. Non usare --brand-accent /
     --brand-accent-light nel footer: in tema chiaro valgono #0B5563 e
     #0A6575, cioe' scuro su scuro. */
  --footer-bg: #083E48;
  --footer-accent: #55C2CC;
  --footer-accent-deep: #0E7490;
  --footer-ink: #ffffff;
  --footer-text: rgba(255, 255, 255, 0.78);
  --footer-link: rgba(255, 255, 255, 0.75);
  --footer-links-secondary: rgba(255, 255, 255, 0.72);
  --footer-icon: rgba(255, 255, 255, 0.70);
  --footer-inst: rgba(255, 255, 255, 0.66);
  --footer-secondary: rgba(255, 255, 255, 0.62);
  --footer-bottom: rgba(255, 255, 255, 0.50);
  --footer-legal: rgba(255, 255, 255, 0.45);
  --footer-meta: rgba(255, 255, 255, 0.40);
  --footer-link-underline: rgba(255, 255, 255, 0.35);
  --footer-icon-border: rgba(255, 255, 255, 0.22);
  --footer-border-light: rgba(255, 255, 255, 0.18);
  --footer-border: rgba(255, 255, 255, 0.10);
  --footer-hover: rgba(255, 255, 255, 0.06);

  /* ── Theme-light hero gradient & antiflash guard ── */
  --theme-light-hero-gradient: linear-gradient(100deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.74) 38%, rgba(255, 255, 255, 0.34) 62%, rgba(11, 85, 99, 0.10) 100%);
  --theme-light-hero-text-shadow: 0 1px 10px rgba(255, 255, 255, 0.6);
  --theme-light-bg-antiflash: #f8fafc;
  --theme-light-text-antiflash: #1e293b;
}


/* ═══════ 2. VARIABLES — Light (opt-in via body.theme-light) ═══════ */

body.theme-light {
  --brand-bg: #f8fafc;
  --brand-surface: #ffffff;
  --brand-surface-alt: #f1f5f9;
  --brand-text: #1e293b;
  /* 5.4:1 su surface-alt: resta secondario senza scendere sotto WCAG AA. */
  --brand-muted: #526277;
  --brand-border: #e2e8f0;

  /* Atlantic Ledger — petrolio bancario, 8.7:1 su bianco. */
  --brand-accent: #0B5563;
  --brand-accent-light: #0A6575;
  --brand-accent-glow: rgba(11, 85, 99, 0.07);
  --brand-petrol-deep: #073540;
  --brand-accent-on-dark: #55C2CC;

  --brand-cyan: #0891B2;
  --brand-gold: #D97706;

  --brand-red: #C8281F;
  --brand-blue: #3b82f6;
  --brand-success: #16a34a;
  --brand-danger: #ef4444;
  --brand-danger-contrast: #b91c1c;
  --brand-warning: #f59e0b;
  --brand-teal: #0d9488;
  --brand-nvidia: #76B900;

  --brand-gray-50: #f9fafb;
  --brand-gray-100: #f3f4f6;
  --brand-gray-200: #e5e7eb;
  --brand-gray-300: #d1d5db;
  --brand-gray-400: #9ca3af;
  --brand-gray-500: #6b7280;
  --brand-border-light: #f1f3f5;

  --brand-success-bg: #f0fdf4;
  --brand-success-dark: #166534;
  --brand-success-hover: #15803d;
  --brand-danger-bg: #fef2f2;
  --brand-danger-dark: #991b1b;
  --brand-danger-hover: #dc2626;
  --brand-blue-hover: #2563eb;
  --brand-info-bg: #eff6ff;
  --brand-warning-bg: #fefce8;

  --brand-text-inverse: #ffffff;

  --overlay-border-soft: rgba(15,23,42,0.06);
  --overlay-border-softer: rgba(15,23,42,0.04);
  --overlay-shadow-strong: rgba(15,23,42,0.12);

  /* Overlay "text" invertiti: in light, text overlay sono scuri */
  --overlay-text-02: rgba(15,23,42,0.02);
  --overlay-text-04: rgba(15,23,42,0.04);
  --overlay-text-05: rgba(15,23,42,0.05);
  --overlay-text-06: rgba(15,23,42,0.06);
  --overlay-text-08: rgba(15,23,42,0.08);
  --overlay-text-10: rgba(15,23,42,0.10);
  --overlay-text-12: rgba(15,23,42,0.12);
  --overlay-text-14: rgba(15,23,42,0.14);
  --overlay-text-15: rgba(15,23,42,0.15);
  --overlay-text-25: rgba(15,23,42,0.25);
  --overlay-text-30: rgba(15,23,42,0.30);
  --overlay-text-35: rgba(15,23,42,0.35);
  --overlay-text-40: rgba(15,23,42,0.40);
  --overlay-text-45: rgba(15,23,42,0.45);
  --overlay-text-50: rgba(15,23,42,0.50);
  --overlay-text-55: rgba(15,23,42,0.55);
  --overlay-text-60: rgba(15,23,42,0.60);
  --overlay-text-65: rgba(15,23,42,0.65);
  --overlay-text-68: rgba(15,23,42,0.68);
  --overlay-text-70: rgba(15,23,42,0.70);
  --overlay-text-72: rgba(15,23,42,0.72);
  --overlay-text-75: rgba(15,23,42,0.75);
  --overlay-text-80: rgba(15,23,42,0.80);
  --overlay-text-85: rgba(15,23,42,0.85);
  --overlay-text-90: rgba(15,23,42,0.90);

  --focus-ring-strong: rgba(59,130,246,0.15);
  --focus-ring-soft: rgba(59,130,246,0.08);

  --bs-link-color-rgb: 10, 101, 117;
  --brand-gradient: linear-gradient(135deg, #0B5563 0%, #0891B2 100%);
  --brand-chat-avatar-bg: linear-gradient(135deg, #3b82f6, #0891B2);
  --brand-border-accent: rgba(11, 85, 99, 0.12);

  /* Velature viola del tema chiaro: sul nuovo 800 la stessa alpha rende una
     tinta meno "lilla" e piu' vicina all'inchiostro del marchio. */
  --brand-accent-soft-06: rgba(11, 85, 99, 0.06);
  --brand-accent-soft-12: rgba(11, 85, 99, 0.12);
  --brand-accent-soft-15: rgba(11, 85, 99, 0.13);
  --brand-accent-soft-20: rgba(11, 85, 99, 0.18);

  --chart-1: #0B5563;
  --chart-2: #0891B2;
  --chart-3: #16869A;
  --chart-4: #94A3B8;
  --chart-grid: #E2E8F0;
  --chart-tooltip-bg: #ffffff;
  --chart-tooltip-border: #E2E8F0;
  --chart-axis: #64748b;

  --brand-navy: #1A2F5E;
  --brand-navy-dark: #0d1f3c;
  --brand-navy-lighter: #2d4a7a;
  --brand-purple: #5B21B6;

  /* Su bianco l'ombra deve solo staccare la barra dal contenuto: due livelli
     bassi, nessun grigio sporco. */
  --header-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 4px 14px rgba(15, 23, 42, 0.07);

  /* Alias mp-* rgba custom per tema chiaro */
  --mp-border-hi: rgba(11, 85, 99, 0.35);
  --mp-border-cyan: rgba(8, 145, 178, 0.20);
  --mp-cyan-dim: rgba(8, 145, 178, 0.10);
}


/* ═══════ 3. BASE TYPOGRAPHY ═══════ */

body {
  font-family: var(--font-body);
  background-color: var(--brand-bg);
  color: var(--brand-text);
  font-size: var(--font-size-base);
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--brand-text);
}
h2 { font-size: 1.65rem; margin-bottom: 0.25rem; }
h2 i { font-size: 0.85em; opacity: 0.45; }
h3 { font-size: 1.2rem; }
h4 { font-size: 1.05rem; }
h5 { font-size: 0.95rem; }

/* ===== css/layout.css ===== */
/* MurphFin — layout.css */

/* ═══════ 3. APP HEADER ═══════ */

.app-header {
  height: var(--header-h);
  background: var(--brand-surface);
  border-bottom: 1px solid var(--brand-border);
  display: flex;
  align-items: center;
  padding: 0 20px;
  position: sticky;
  top: 0;
  z-index: 1040;
  transition: box-shadow 0.18s ease;
}

/* ── Barra di marchio in testa (v3.20.2) ──
   Speculare a .fisit-footer-bar-top (footer.css, 4px petrolio): la pagina
   risulta chiusa sopra e sotto invece che firmata solo in fondo. Il segmento
   caldo e' --brand-gold (#D97706 chiaro / #FBBF24 scuro), complementare del
   petrolio: unico punto in cui l'ambra e' DECORATIVA. Gli stati restano su
   --brand-warning / --brand-danger — non riusare questa tinta per semantica,
   altrimenti su score di bancabilita' e alert AML il colore perde significato.
   Il tratto e' largo 12% ma non oltre 132px: su desktop resta ancorato al
   logo, su mobile non diventa mezza barra. Vale in entrambe le shell
   (public-shell e app-auth) perche' l'header e' unico, in base.html. */
.app-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  /* 4px come .fisit-footer-bar-top, e AMBRA PIENA su tutta la larghezza.
     Le due versioni precedenti mettevano l'ambra su un solo tratto a sinistra
     e petrolio per il resto: a quella scala il tratto non si leggeva come un
     accento ma come un trattino capitato li' per sbaglio, e la richiesta
     originale era una LINEA complementare al colore dominante, non un accenno.
     L'ambra e' il complementare del petrolio: su 4px, in cima a ogni pagina,
     e' la firma del sito. Resta decorativa — gli stati continuano a stare su
     --brand-warning / --brand-danger. */
  height: 4px;
  background: var(--brand-gold);
  pointer-events: none;
}

/* Header sticky staccato dal contenuto solo quando la pagina e' scorsa: in
   tema chiaro e' #ffffff su #f8fafc, senza ombra non si legge come barra.
   La classe la mette base.html (initHeaderScrollShadow). */
.app-header.is-scrolled {
  box-shadow: var(--header-shadow);
}

@media (prefers-reduced-motion: reduce) {
  .app-header { transition: none; }
}
.app-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
/* ── News ticker (header) ── */
.news-ticker {
  flex: 1;
  overflow: hidden;
  margin: 0 20px;
  position: relative;
  mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
}
.news-ticker-track {
  display: flex;
  white-space: nowrap;
  will-change: transform;
  /* Animazione gestita da JS (rAF) — vedi base.html initNewsTicker.
     Niente più CSS keyframes né hover-pause: hover-pause causava stuck
     dopo click su link target=_blank. */
}
.news-ticker-item {
  color: var(--overlay-text-75);
  font-size: 0.78rem;
  text-decoration: none;
  padding: 0 4px;
  transition: color 0.15s;
}
a.news-ticker-item:hover {
  color: #fff;
  text-decoration: underline;
}
.news-ticker-sep {
  color: var(--overlay-text-25);
  font-size: 0.7rem;
  padding: 0 10px;
}
/* @keyframes ticker-scroll rimosso: animazione ora gestita da JS */

/* Non-auth (area pubblica): header a tutta larghezza con gutter fluido.
   --page-gutter e' il margine laterale unico dell'area pubblica (16px su mobile,
   3vw fino a 56px su desktop): lo usano header, main, footer e i bleed del hero. */
body:not(.app-auth) {
  --page-gutter: clamp(16px, 3vw, 56px);
}
body:not(.app-auth) .app-header-inner {
  max-width: none;
  margin: 0 auto;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}
/* Logout button in header (authenticated) */
.header-logout {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: var(--overlay-text-55);
  text-decoration: none;
  padding: 6px 14px;
  border-radius: 0;
  transition: color 0.15s, background 0.15s;
}
.header-logout:hover { color: #fff; background: var(--overlay-text-10); }
.header-logout i { font-size: 0.85rem; }

/* Header search */
.header-search {
  position: relative;
  margin-right: 4px;
  flex-shrink: 0;
}
.header-search-input {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--overlay-text-08);
  border: 1px solid var(--overlay-text-10);
  padding: 5px 12px;
  width: 180px;
  transition: width 0.2s ease, background 0.15s, border-color 0.15s;
}
.header-search-input:focus-within {
  width: 260px;
  background: var(--overlay-text-12);
  border-color: var(--brand-accent);
}
.header-search-input i {
  color: var(--overlay-text-40);
  font-size: 0.78rem;
  flex-shrink: 0;
}
.header-search-input input {
  background: none;
  border: none;
  outline: none;
  color: #fff;
  font-size: 0.8rem;
  font-family: var(--font-body);
  width: 100%;
  padding: 0;
}
.header-search-input input::placeholder {
  color: var(--overlay-text-35);
}
.header-search-results {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  width: 340px;
  max-height: 400px;
  overflow-y: auto;
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  margin-top: 4px;
  z-index: var(--z-header);
  box-shadow: 0 8px 24px var(--overlay-dark-40);
}
.header-search-results.open { display: block; }

.app-brand {
  font-family: var(--font-logo);
  font-weight: 700;
  font-size: 1.25rem;
  color: #fff;
  text-decoration: none;
  letter-spacing: -0.02em;
}
.app-brand:hover { color: #fff; }
.app-brand span { color: var(--brand-accent); }

/* Hamburger toggle (mobile) */
.sidebar-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--overlay-text-70);
  font-size: 1.2rem;
  padding: 4px 10px;
  margin-right: 12px;
  cursor: pointer;
  border-radius: 0;
  transition: background 0.15s;
}
.sidebar-toggle:hover { background: var(--overlay-text-10); color: #fff; }

/* Public header nav (non-auth) */
.app-header-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.app-header-nav a {
  color: var(--overlay-text-70);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 0;
  transition: all 0.15s;
}
.app-header-nav a:hover { color: #fff; background: var(--overlay-text-10); }
.app-header-register {
  background: var(--brand-accent) !important;
  color: #fff !important;
  font-weight: 600 !important;
  padding: 6px 16px !important;
  border-radius: 0 !important;
}
.app-header-register:hover { background: var(--brand-accent-light) !important; }

/* Mobile nav toggle (public) */
.header-mobile-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--overlay-text-70);
  font-size: 1.2rem;
  padding: 6px 10px;
  cursor: pointer;
  border-radius: 0;
  transition: background 0.15s;
}
.header-mobile-toggle:hover { background: var(--overlay-text-10); color: #fff; }


/* ═══════ 4. SIDEBAR (authenticated) — Cloudflare-style ═══════ */

.app-sidebar {
  position: fixed;
  top: var(--header-h);
  left: 0;
  bottom: 0;
  width: var(--sidebar-w);
  background: var(--brand-bg);
  border-right: 1px solid var(--overlay-text-06);
  display: flex;
  flex-direction: column;
  z-index: 1030;
  overflow: visible;
  transition: width 0.25s ease, transform 0.25s ease;
}

/* ── Sidebar collapse (desktop) ── */
.sidebar-collapse-btn {
  position: absolute;
  top: 18px;
  right: -14px;
  width: 28px;
  height: 28px;
  border-radius: 0;
  border: 1px solid var(--overlay-text-06);
  background: var(--brand-bg);
  color: var(--overlay-text-55);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: var(--z-sidebar);
  box-shadow: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.sidebar-collapse-btn:hover {
  background: var(--brand-surface-alt);
  color: var(--overlay-text-85);
  box-shadow: none;
}
.sidebar-collapse-btn i {
  font-size: 0.65rem;
  transition: transform 0.25s ease;
}

/* Anti-FOUC: applicato via <html> prima che body esista.
   Scoping .app-auth per evitare margin-left su pagine pubbliche. */
.sidebar-will-collapse .app-auth .app-sidebar {
  width: var(--sidebar-collapsed-w) !important;
  overflow: visible;
}
.sidebar-will-collapse .app-auth .app-content {
  margin-left: var(--sidebar-collapsed-w) !important;
}
.sidebar-will-collapse .app-auth .footer-auth {
  left: var(--sidebar-collapsed-w) !important;
}
.sidebar-will-collapse .sidebar-label,
.sidebar-will-collapse .sidebar-link span,
.sidebar-will-collapse .sidebar-user-info,
.sidebar-will-collapse .sidebar-divider,
.sidebar-will-collapse .sidebar-badge,
.sidebar-will-collapse .sidebar-chevron {
  display: none !important;
}
.sidebar-will-collapse .sidebar-section {
  border-top: none !important;
  padding: 0 !important;
}
.sidebar-will-collapse .sidebar-group {
  max-height: none !important;
  overflow: visible !important;
}

/* Stato collapsed */
.app-auth.sidebar-collapsed .app-sidebar {
  width: var(--sidebar-collapsed-w);
  overflow: visible;
}
.app-auth.sidebar-collapsed .app-content {
  margin-left: var(--sidebar-collapsed-w);
}
.app-auth.sidebar-collapsed .footer-auth {
  left: var(--sidebar-collapsed-w);
}
.app-auth.sidebar-collapsed .sidebar-label,
.app-auth.sidebar-collapsed .sidebar-link span,
.app-auth.sidebar-collapsed .sidebar-user-info,
.app-auth.sidebar-collapsed .sidebar-divider,
.app-auth.sidebar-collapsed .sidebar-chevron {
  opacity: 0;
  width: 0;
  overflow: hidden;
  white-space: nowrap;
  transition: opacity 0.15s ease, width 0.15s ease;
}
.app-auth.sidebar-collapsed .sidebar-badge {
  display: none;
}
.app-auth.sidebar-collapsed .sidebar-section {
  padding: 0;
  border-top: none;
}
.app-auth.sidebar-collapsed .sidebar-group {
  max-height: none !important;
  overflow: visible;
}
.app-auth.sidebar-collapsed .sidebar-link {
  justify-content: center;
  padding: 8px 0;
  position: relative;
  border-left: 3px solid transparent;
}
.app-auth.sidebar-collapsed .sidebar-link.active {
  border-left: 3px solid var(--brand-accent);
}
.app-auth.sidebar-collapsed .sidebar-link i {
  width: auto;
  font-size: 0.95rem;
  opacity: 0.6;
}
.app-auth.sidebar-collapsed .sidebar-nav {
  padding: 6px 0;
  align-items: stretch;
}
.app-auth.sidebar-collapsed .sidebar-footer {
  justify-content: center;
  padding: 0;
}
.app-auth.sidebar-collapsed .sidebar-user {
  justify-content: center;
}
.app-auth.sidebar-collapsed .sidebar-avatar {
  width: 34px;
  height: 34px;
  font-size: 0.7rem;
}
.app-auth.sidebar-collapsed .sidebar-collapse-btn {
  right: -14px;
}
.app-auth.sidebar-collapsed .sidebar-collapse-btn i {
  transform: rotate(180deg);
}
.app-auth.sidebar-collapsed .bp-ai-coach {
  left: calc(var(--sidebar-collapsed-w) + 24px);
}

/* Tooltip su link quando collapsed */
.app-auth.sidebar-collapsed .sidebar-link::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--brand-navy);
  color: #fff;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: var(--z-dropdown);
}
.app-auth.sidebar-collapsed .sidebar-link:hover::after {
  opacity: 1;
}

/* ── Search results (shared) ── */
.search-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  text-decoration: none;
  color: var(--brand-text);
  font-size: 0.82rem;
  transition: background 0.1s;
}
.search-result-item:hover {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
}
.search-result-item i {
  width: 18px;
  text-align: center;
  color: var(--brand-muted);
  font-size: 0.85rem;
  flex-shrink: 0;
}
.search-result-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-result-sub {
  font-size: 0.7rem;
  color: var(--brand-muted);
  margin-left: auto;
  flex-shrink: 0;
}
.search-no-results {
  padding: 12px;
  text-align: center;
  color: var(--brand-muted);
  font-size: 0.8rem;
}
.search-result-divider {
  height: 1px;
  background: var(--brand-border);
  margin: 2px 0;
}


/* ── Sidebar sections & links (Cloudflare-style) ── */
.sidebar-section {
  padding: 0;
  border-top: 1px solid var(--overlay-text-06);
}
.sidebar-section:first-child { border-top: none; }

/* ── Collapsible section label ── */
.sidebar-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--overlay-text-50);
  padding: 18px 16px 4px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: color 0.15s ease;
}
.sidebar-label:hover { color: var(--overlay-text-55); }
.sidebar-label > span { flex: 1; }
.sidebar-chevron {
  font-size: 0.5rem;
  transition: transform 0.2s ease;
  opacity: 0.5;
}
.sidebar-section.open .sidebar-chevron {
  transform: rotate(90deg);
}

/* ── Collapsible group container ── */
.sidebar-group {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.25s ease;
}
.sidebar-section.open .sidebar-group {
  max-height: 500px;
}
.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 16px 0 4px;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: var(--overlay-text-10) transparent;
}
.sidebar-nav::-webkit-scrollbar { width: 4px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: var(--overlay-text-10); border-radius: 0; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  border-radius: 0;
  color: var(--overlay-text-60);
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 400;
  transition: background 0.15s ease, color 0.15s ease;
  white-space: nowrap;
  overflow: hidden;
  border-left: 3px solid transparent;
}
/* C-6 fix: variante <button> della sidebar-link (per azioni JS come
   theme-toggle): reset stili button nativi mantenendo stesso layout. */
button.sidebar-link, .sidebar-link-button {
  background: transparent;
  border-top: none;
  border-right: none;
  border-bottom: none;
  border-left: 3px solid transparent;
  cursor: pointer;
  width: 100%;
  text-align: left;
  font: inherit;
}
.sidebar-link span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-link i {
  width: 16px;
  font-size: 1rem;
  color: currentColor;
  flex-shrink: 0;
  text-align: center;
  transition: color 0.15s ease;
}
/* Sidebar badge counts */
.sidebar-badge {
  margin-left: auto;
  font-size: 0.65rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: 0;
  background: var(--overlay-text-08);
  color: var(--overlay-text-55);
}
.sidebar-badge--danger { background: var(--brand-danger-bg); color: var(--brand-danger); }
.sidebar-badge--info { background: var(--brand-info-bg); color: var(--brand-blue); }
.sidebar-badge--pro {
  background: transparent;
  color: var(--overlay-text-30);
  font-size: 10px;
  min-width: auto;
  padding: 0 4px;
}

/* Sidebar notification dot (pulsing accent) */
.sidebar-dot-pulse {
  margin-left: auto;
  width: 8px;
  height: 8px;
  background: var(--brand-accent);
  border-radius: 50%;
  animation: dot-pulse 1.5s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes dot-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}

.sidebar-link:hover {
  background: var(--overlay-text-04);
  color: var(--overlay-text-85);
}
.sidebar-link.active {
  background: var(--overlay-text-06);
  color: #fff;
  font-weight: 500;
  border-left: 3px solid var(--brand-accent);
}
.sidebar-link.active i { color: var(--brand-accent-light); }

.sidebar-footer {
  padding: 8px 12px 10px;
  border-top: 1px solid var(--overlay-text-06);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sidebar-status {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 10px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.04em;
  color: var(--brand-muted);
  text-transform: uppercase;
}
.sidebar-status-dot {
  width: 6px;
  height: 6px;
  background: var(--brand-success);
  border-radius: 50%;
  box-shadow: 0 0 0 0 var(--brand-success-pulse);
  animation: mf-sidebar-status-pulse 2.4s ease-out infinite;
}
.sidebar-status-text { white-space: nowrap; }
@keyframes mf-sidebar-status-pulse {
  0%   { box-shadow: 0 0 0 0 var(--brand-success-pulse-55); }
  70%  { box-shadow: 0 0 0 6px var(--brand-success-pulse-0); }
  100% { box-shadow: 0 0 0 0 var(--brand-success-pulse-0); }
}
.app-auth.sidebar-collapsed .sidebar-status-text,
.sidebar-will-collapse .sidebar-status-text { display: none; }
.app-auth.sidebar-collapsed .sidebar-status { justify-content: center; padding: 2px 0; }
.sidebar-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 0;
  transition: background 0.15s ease;
  cursor: pointer;
  text-decoration: none;
  color: var(--overlay-text-55);
}
.sidebar-user:hover { background: var(--overlay-text-04); color: var(--overlay-text-85); }
.sidebar-avatar {
  width: 30px;
  height: 30px;
  border-radius: 0;
  background: var(--overlay-text-08);
  color: var(--overlay-text-70);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  flex-shrink: 0;
}
.sidebar-user-info { overflow: hidden; }
.sidebar-user-name { font-size: 0.8125rem; font-weight: 500; line-height: 1.3; color: var(--overlay-text-85); }
.sidebar-user-email {
  font-size: 0.7rem;
  color: var(--overlay-text-40);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* Sidebar overlay (mobile) */
.sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  top: var(--header-h);
  background: var(--overlay-dark-50);
  z-index: 1029;
}


/* ═══════ 5. APP CONTENT LAYOUT ═══════ */

.app-content {
  min-height: calc(100vh - var(--header-h));
  display: flex;
  flex-direction: column;
}
.app-auth .app-content {
  margin-left: var(--sidebar-w);
  transition: margin-left 0.25s ease;
}

.app-main {
  flex: 1;
  padding: 2rem;
  max-width: 1060px;
  margin: 0 auto;
  width: 100%;
}
/* Non-auth (area pubblica): main a tutta larghezza; i limiti di lettura
   restano sui singoli blocchi di testo (vedi public-landing.css). */
body:not(.app-auth) .app-main {
  max-width: none;
  padding: 2rem var(--page-gutter);
}
@media (max-width: 576px) {
  body:not(.app-auth) { --page-gutter: 12px; }
}

/* Flash messages */
.flash-container {
  position: fixed;
  top: calc(var(--header-h) + 16px);
  right: 20px;
  z-index: var(--z-toast);
  max-width: 420px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ── Flash toast ── */
.flash-toast {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--radius);
  font-size: 0.88rem;
  line-height: 1.45;
  box-shadow: 0 4px 24px var(--overlay-dark-10), 0 1px 4px var(--overlay-dark-06);
  animation: flashIn 0.35s cubic-bezier(0.16,1,0.3,1) both;
  border-left: 4px solid;
}
.flash-toast.flash-out {
  animation: flashOut 0.3s ease both;
}
.flash-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 0.75rem;
  margin-top: 1px;
}
.flash-text {
  flex: 1;
  min-width: 0;
  word-wrap: break-word;
}
.flash-close {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: var(--radius-sm);
  font-size: 0.7rem;
  opacity: 0.4;
  transition: opacity 0.15s, background 0.15s;
  margin: -2px -4px 0 4px;
}
.flash-close:hover {
  opacity: 0.8;
  background: var(--overlay-dark-06);
}

/* Varianti colore */
.flash-success {
  background: var(--brand-success-bg);
  color: var(--brand-success-dark);
  border-left-color: var(--brand-success);
}
.flash-success .flash-icon { background: var(--brand-success-bg); color: var(--brand-success); }
.flash-success .flash-close { color: var(--brand-success-dark); }

.flash-danger {
  background: var(--brand-danger-bg);
  color: var(--brand-danger-dark);
  border-left-color: var(--brand-danger);
}
.flash-danger .flash-icon { background: var(--brand-danger-bg); color: var(--brand-danger); }
.flash-danger .flash-close { color: var(--brand-danger-dark); }

.flash-warning {
  background: var(--brand-warning-bg);
  color: var(--brand-warning);
  border-left-color: var(--brand-warning);
}
.flash-warning .flash-icon { background: var(--brand-warning-bg); color: var(--brand-warning); }
.flash-warning .flash-close { color: var(--brand-warning); }

.flash-info {
  background: var(--brand-info-bg);
  color: var(--brand-blue);
  border-left-color: var(--brand-blue);
}
.flash-info .flash-icon { background: var(--brand-info-bg); color: var(--brand-blue); }
.flash-info .flash-close { color: var(--brand-blue); }

@keyframes flashIn {
  from { opacity: 0; transform: translateX(30px) scale(0.96); }
  to   { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes flashOut {
  from { opacity: 1; transform: translateX(0) scale(1); }
  to   { opacity: 0; transform: translateX(30px) scale(0.96); }
}


/* ═══════ 5b. BACKOFFICE ═══════ */

/* Nessun cap proprio: eredita la larghezza unica dell'area loggata
   (app-main 1440px) — a 1200px la dashboard "saltava" rispetto alle
   altre pagine backoffice a ogni navigazione. */
.bo-dashboard-wrap { max-width: none; margin: 0; }

.bo-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  border-bottom: 2px solid var(--brand-border);
  overflow: visible;
  scrollbar-width: thin;
}
.bo-nav::-webkit-scrollbar { height: 3px; }
.bo-nav::-webkit-scrollbar-thumb { background: var(--brand-border); border-radius: var(--radius-sm); }
.bo-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--brand-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.15s;
  white-space: nowrap;
  flex-shrink: 0;
}
.bo-nav a:hover {
  color: var(--brand-navy);
  border-bottom-color: var(--brand-blue);
}
.bo-nav a i {
  font-size: 0.78rem;
  opacity: 0.6;
}
.bo-nav a:hover i { opacity: 1; }

/* Badge ufficiale NVIDIA Inception Program: lockup intero, mai ritagliato,
   ricolorato o messo dentro contenitori colorati; altezza dal contesto, larghezza proporzionale. */
.nv-inception-badge { width: auto; max-width: 100%; border-radius: 0; background: none; padding: 0; vertical-align: middle; filter: none; }

/* Ragione sociale linkata al sito del marchio ({{ brand_link }}): eredita il colore del contesto */
a.brand-link { color: inherit; text-decoration: underline; text-decoration-color: var(--brand-accent-soft-20, currentColor); text-underline-offset: 2px; }
a.brand-link:hover { color: var(--brand-accent); text-decoration-color: currentColor; }

/* Download guard (base.html): link di export mentre il documento viene generato */
a.is-generating { pointer-events: none; opacity: 0.7; cursor: progress; }
.flash-toast.flash-info { border-left: 3px solid var(--brand-accent); }

/* ── Salto al contenuto (WCAG 2.4.1) ──
   Fuori dallo schermo finche' non riceve il fuoco da tastiera. Non usare
   display:none ne' visibility:hidden: toglierebbero l'elemento anche
   all'ordine di tabulazione, cioe' esattamente cio' che deve servire. */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 2000;
  padding: 10px 18px;
  background: var(--brand-accent);
  color: var(--brand-text-inverse);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0;
}
.skip-link:focus,
.skip-link:focus-visible {
  left: 8px;
  top: 8px;
  outline: 2px solid var(--brand-text-inverse);
  outline-offset: 2px;
  color: var(--brand-text-inverse);
}
/* Il <main id="contenuto"> ha tabindex="-1" per ricevere il fuoco dopo il
   salto: senza questo il contorno di default lo incornicerebbe tutto. */
.app-main:focus { outline: none; }

/* ===== css/components.css ===== */
/* MurphFin — components.css */

/* ═══════ 6. CARDS (unified) ═══════ */

.card-fisit {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border-light);
  border-radius: var(--radius);
  box-shadow: none;
  overflow: hidden;
  min-width: 0;
}
.card-fisit:hover { box-shadow: none; }
.card-fisit .card-header {
  background: transparent;
  border-bottom: 1px solid var(--brand-border-light);
  font-weight: 600;
  font-size: 0.88rem;
  padding: 16px 20px;
}
.card-fisit .card-body { padding: 20px; }

/* Empty state card */
.card-fisit.p-5.text-center {
  padding: 3.5rem !important;
  border: 1.5px dashed var(--brand-border);
  background: var(--brand-bg);
  box-shadow: none;
}
.card-fisit.p-5.text-center h4,
.card-fisit.p-5.text-center h5 {
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.card-fisit.p-5.text-center i.fa-3x { font-size: 2rem !important; opacity: 0.35; }

/* KPI cards inside card-fisit */
.card-fisit.p-3.text-center .fs-2 {
  font-size: 1.75rem !important;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.card-fisit.p-3.text-center .small,
.card-fisit.p-3.text-center .text-muted.small {
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand-muted);
  margin-bottom: 4px;
}

/* Legacy compat: adm-card, crm-card map to card-fisit */
.adm-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border-light);
  border-radius: var(--radius);
  box-shadow: none;
  margin-bottom: 1rem;
}


/* ═══════ 7. BUTTONS ═══════ */

.btn-fisit {
  background: var(--brand-navy);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: 9px 20px;
  font-weight: 600;
  font-size: 0.88rem;
  transition: all 0.15s;
}
.btn-fisit:hover {
  background: var(--brand-navy-dark);
  color: #fff;
}
/* Area autenticata: bottoni più leggeri */
.app-auth .btn-fisit {
  background: var(--brand-navy);
  padding: 7px 16px;
  font-weight: 500;
  font-size: 0.82rem;
  border-radius: var(--radius-sm);
  box-shadow: none;
}
.app-auth .btn-fisit:hover {
  transform: none;
  box-shadow: none;
}
.btn-fisit-outline {
  border: 1.5px solid var(--brand-navy);
  color: var(--brand-navy);
  border-radius: var(--radius-sm);
  padding: 8px 18px;
  font-weight: 600;
  font-size: 0.85rem;
  background: transparent;
  transition: all 0.15s;
}
.btn-fisit-outline:hover {
  background: var(--brand-navy);
  color: #fff;
}
.btn-check:checked + .btn-fisit-outline,
.btn-check:active + .btn-fisit-outline {
  background: var(--brand-navy);
  color: #fff;
  border-color: var(--brand-navy);
}
.btn-check:focus + .btn-fisit-outline {
  box-shadow: 0 0 0 2px var(--brand-navy-soft-20);
}
.app-auth .btn-fisit-outline {
  border-width: 1px;
  padding: 6px 14px;
  font-weight: 500;
  font-size: 0.82rem;
  border-radius: var(--radius-sm);
}
.app-auth .btn-fisit-outline:hover {
  transform: none;
  box-shadow: none;
}

/* btn-adm-*: base condivisa + varianti colore (alias di btn-fisit con accent diversi) */
.btn-adm-primary, .btn-adm-success, .btn-adm-danger, .btn-adm-info, .btn-adm-warning {
  color: #fff; border: none;
  border-radius: var(--radius-sm); padding: 10px 20px;
  font-weight: 600; font-size: 0.88rem; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  transition: all 0.15s;
}
.btn-adm-primary { background: var(--brand-blue); }
.btn-adm-primary:hover { background: var(--brand-blue-hover); color: var(--brand-text-inverse); }
.btn-adm-success { background: var(--brand-success); }
.btn-adm-success:hover { background: var(--brand-success-hover); color: var(--brand-text-inverse); }
.btn-adm-danger { background: var(--brand-danger); }
.btn-adm-danger:hover { background: var(--brand-danger-hover); color: var(--brand-text-inverse); }
/* info/warning: usate nel backoffice (toggle partner). Senza definizione il
   bottone restava trasparente col testo del tema → invisibile (audit 19/08). */
.btn-adm-info { background: var(--brand-cyan-ink); }
.btn-adm-info:hover { background: var(--brand-cyan-ink-strong); color: var(--brand-text-inverse); }
.btn-adm-warning { background: var(--brand-amber-ink); }
.btn-adm-warning:hover { background: var(--brand-amber-ink-strong); color: var(--brand-text-inverse); }
.btn-icon-sm { padding: 3px 8px; font-size: 0.75rem; line-height: 1.2; border-radius: var(--radius-sm); }

.btn-adm-accent { background: var(--brand-blue); color: #fff; border: none; border-radius: var(--radius-sm); padding: 10px 20px; font-weight: 600; font-size: 0.88rem; cursor: pointer; }

.btn-adm-ghost {
  background: transparent; border: 1px solid var(--brand-gray-200);
  color: var(--brand-gray-500); padding: 6px 12px; cursor: pointer;
  border-radius: var(--radius-sm); font-size: 0.85rem; transition: all 0.15s;
}
.btn-adm-ghost:hover { background: var(--brand-gray-50); border-color: var(--brand-gray-300); color: var(--brand-text); }


/* ── Table action buttons (uniform icon buttons) ── */
.tbl-actions { white-space: nowrap; width: 1%; }
.tbl-act {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; padding: 0; border: 1px solid var(--brand-gray-200);
  border-radius: var(--radius-sm); background: transparent; color: var(--brand-gray-500);
  font-size: 0.75rem; cursor: pointer; transition: all 0.15s;
  vertical-align: middle;
}
.tbl-act:hover { background: var(--brand-gray-100); border-color: var(--brand-gray-300); color: var(--brand-text); }
.tbl-act--success { color: var(--brand-success); border-color: var(--brand-success); }
.tbl-act--success:hover { background: var(--brand-success); color: #fff; }
.tbl-act--danger { color: var(--brand-danger); border-color: transparent; }
.tbl-act--danger:hover { background: var(--brand-danger-bg); color: var(--brand-danger); border-color: var(--brand-danger); }

/* ═══════ 8. TABLES (Notion-style) ═══════ */

.table { font-size: 0.88rem; width: 100%; table-layout: auto; }
.table.table-fixed { table-layout: fixed; }
.table-responsive { overflow-x: auto; min-width: 0; }
.table thead th {
  white-space: nowrap;
  background: transparent;
  border-bottom: 1.5px solid var(--brand-gray-200);
  color: var(--brand-muted);
  font-size: 0.76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 8px 14px;
}
.table tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--brand-gray-100);
  color: var(--brand-text);
}
.table tbody td.text-truncate { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table tbody tr:hover { background: var(--brand-gray-50); }
.table tbody tr:last-child td { border-bottom: none; }

/* Legacy adm-table */
.adm-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.adm-table th { background: transparent; padding: 8px 14px; font-weight: 600; border-bottom: 1.5px solid var(--brand-gray-200); font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--brand-muted); }
.adm-table td { padding: 12px 14px; border-bottom: 1px solid var(--brand-gray-100); vertical-align: middle; }
.adm-table tbody tr:hover { background: var(--brand-gray-50); }


/* ═══════ 9. FORMS (Notion-style) ═══════ */

.form-control, .form-select {
  border: 1.5px solid var(--brand-gray-200);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-size: 0.9rem;
  color: var(--brand-text);
  transition: border-color 0.15s;
}
.form-control:focus, .form-select:focus {
  border-color: var(--brand-blue);
  box-shadow: none;
}
.form-control::placeholder { color: var(--brand-gray-300); }
.form-control-sm, .form-select-sm,
.input-group-sm > .form-control,
.input-group-sm > .input-group-text {
  padding: 5px 10px;
  font-size: 0.82rem;
  border-radius: var(--radius-sm);
}
.form-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--brand-gray-500);
  margin-bottom: 6px;
  letter-spacing: 0.01em;
}
textarea.form-control { min-height: 100px; line-height: 1.65; }

.adm-inline-form { display: flex; gap: 8px; align-items: end; }


/* ═══════ 10. KPI ═══════ */

/* KPI — unified Cloudflare-style (allineato a .bo-kpi / .mf-kpi) */
.crm-kpi-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0; border-bottom: 1px solid var(--brand-border); margin-bottom: 24px; }
.crm-kpi {
  background: transparent;
  border: none;
  border-right: 1px solid var(--brand-border);
  border-radius: 0;
  padding: 20px 24px;
  box-shadow: none;
}
.crm-kpi:last-child { border-right: none; }
.crm-kpi:hover { box-shadow: none; }
/* ── KPI cells — selettori unificati (mf-* per area auth, crm-kpi__* per
   pagine CRM legacy). Mantenuti come selettori distinti per audit storico,
   ma con stessi valori per garantire rendering consistente. Vedi anche
   dark-components.css:597-606 per .mf-kpi-value/.mf-kpi-label parallele.
   Eventuale unificazione completa richiede rinomina delle classi nei
   template — backlog. */
.crm-kpi__label,
.mf-kpi-label-shared { font-family: var(--font-body); font-size: 0.75rem; font-weight: 500; color: var(--brand-muted); margin-bottom: 4px; text-transform: none; letter-spacing: 0; }
.crm-kpi__value,
.mf-kpi-value-shared { font-family: var(--font-mono); font-size: 1.75rem; font-weight: 700; color: var(--brand-text); line-height: 1.2; }
.crm-kpi__sub { font-size: 0.68rem; color: var(--brand-muted); margin-top: 2px; }


/* ═══════ 11. ALERTS & INFO BOX (Notion callout) ═══════ */

.alert {
  border: none;
  border-radius: var(--radius);
  font-size: 0.88rem;
  padding: 14px 20px;
}
.alert-warning { background: var(--brand-warning-bg); color: var(--brand-warning); border-left: 3px solid var(--brand-warning); }
.alert-success { background: var(--brand-success-bg); color: var(--brand-success-dark); border-left: 3px solid var(--brand-success); }
.alert-danger  { background: var(--brand-danger-bg); color: var(--brand-danger-dark); border-left: 3px solid var(--brand-danger); }
.alert-info    { background: var(--brand-info-bg); color: var(--brand-blue); border-left: 3px solid var(--brand-blue); }

.bp-info-box {
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
  border-left: 3px solid var(--brand-blue);
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  margin-bottom: 20px;
  font-size: 13px;
  font-family: var(--font-mono, inherit);
  line-height: 1.65;
  color: var(--brand-text);
}
.bp-info-box strong { color: var(--brand-text); }
.bp-info-box .text-muted { color: var(--brand-muted); }

/* Info box collassabile (G1) */
[data-step-infobox] {
  position: relative;
}
.bp-infobox-toggle {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  color: var(--brand-muted);
  cursor: pointer;
  font-size: 0.78rem;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  transition: background 0.15s, color 0.15s;
  z-index: 2;
}
.bp-infobox-toggle:hover {
  background: var(--overlay-dark-06);
  color: var(--brand-text);
}
.bp-infobox-body {
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.25s ease;
  max-height: 600px;
  opacity: 1;
}
.bp-infobox-body.collapsed {
  max-height: 0;
  opacity: 0;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.bp-infobox-reopen {
  display: inline;
  font-size: 0.78rem;
  color: var(--brand-muted);
  text-decoration: none;
  margin-left: 12px;
  opacity: 1;
}
.bp-infobox-reopen:hover { color: var(--brand-text); opacity: 1; }

/* ═══════ 12. BADGES (soft Notion-style) ═══════ */

.badge {
  font-weight: 600;
  font-size: 0.72rem;
  padding: 3px 8px;
  border-radius: var(--radius-sm);
  letter-spacing: 0.01em;
}
.badge.bg-primary   { background: var(--brand-info-bg); color: var(--brand-blue); }
.badge.bg-success   { background: var(--brand-success-bg); color: var(--brand-success-dark); }
.badge.bg-warning   { background: var(--brand-warning-bg); color: var(--brand-warning); }
.badge.bg-danger    { background: var(--brand-danger-bg); color: var(--brand-danger-dark); }
.badge.bg-secondary { background: var(--brand-surface-alt); color: var(--brand-muted); }
.badge.bg-info      { background: var(--brand-info-bg); color: var(--brand-blue); }
.badge.adm-closed   { background: var(--brand-surface-alt); color: var(--brand-muted); }
.badge-sm { padding: 2px 6px; font-size: .75rem; }


/* ═══════ 13. THEME TOGGLE BUTTON ═══════ */
/* Bottone toggle chiaro/scuro — usato nell'header pubblico */

.theme-toggle-btn {
  background: transparent;
  border: 1px solid var(--brand-border);
  color: var(--brand-muted);
  padding: 4px 8px;
  cursor: pointer;
  font-size: 14px;
  border-radius: 0;
  transition: color 0.15s, border-color 0.15s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
}
.theme-toggle-btn:hover {
  color: var(--brand-accent);
  border-color: var(--brand-accent);
}

/* ── Utility classes (sostituiscono inline style legacy) ── */
.bg-brand-bg { background: var(--brand-bg); }
.bg-brand-surface { background: var(--brand-surface); }
.bg-brand-surface-alt { background: var(--brand-surface-alt); }

/* C-5 fix: focus-visible globale per a11y. WCAG 2.1 AA richiede un
   focus indicator visibile per utenti tastiera. Applicato a tutti gli
   elementi interattivi: outline non rimosso a meno di sostituirlo con
   un alternativo visibile. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 2px;
}

/* C-13 fix: form input focus piu' visibile (era solo border-color
   change, troppo sottile sul tema dark). Aggiunge box-shadow halo
   coerente con outline-focus globale. */
.mf-form-input:focus,
.mf-form-select:focus,
.mf-form-textarea:focus {
  border-color: var(--brand-accent);
  box-shadow: 0 0 0 2px var(--brand-accent-soft-15);
}

/* C-15 fix: touch target minimo 44x44 su elementi cliccabili principali
   (raccomandazione Apple HIG e WCAG 2.5.5). Applicato a click target
   piccoli che WCAG segnala. Non altera layout su desktop perche'
   min-height interagisce solo con elementi piu' piccoli del cap. */
@media (hover: none) and (pointer: coarse) {
  .bo-nav a,
  .chat-suggestion,
  .mdt-doc-row,
  .mdt-scad-row,
  button.sidebar-link,
  .footer-social-link {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* prefers-reduced-motion: WCAG 2.3.3 + best practice — rispetta la
   preferenza utente di ridurre animazioni (vestibolare, epilessia). */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ═══════ Regole globali ex backoffice-ui.css §21-23 (v3.19.2) ═══════
   Spostate qui perché backoffice-ui.css non è più caricato per gli anonimi
   (base.html), ma /login e /register usano password-toggle e pwd-strength. */

/* ═══════ 21. ACCESSIBILITY & FOCUS ═══════ */

/* Focus visible for keyboard navigation */
:focus-visible {
  outline: 2px solid var(--brand-blue);
  outline-offset: 2px;
}
button:focus-visible, .btn:focus-visible, a:focus-visible {
  outline: 2px solid var(--brand-blue);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--focus-ring-strong);
}
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: none; /* Already has custom focus ring */
}

/* Respect user motion preferences */

/* Fix placeholder contrast for WCAG AA */
::placeholder { color: var(--brand-muted); }
input::placeholder, textarea::placeholder, select::placeholder { color: var(--brand-muted); }


/* ═══════ 22. PASSWORD TOGGLE ═══════ */

.password-wrapper {
  position: relative;
}
.password-wrapper input {
  padding-right: 42px;
}
.password-toggle {
  position: absolute;
  right: 1px;
  top: 1px;
  bottom: 1px;
  width: 38px;
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--brand-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  transition: color 0.15s;
}
.password-toggle:hover { color: var(--brand-navy); }


/* ═══════ 23. PASSWORD STRENGTH METER ═══════ */

.pwd-strength {
  display: flex;
  gap: 3px;
  margin-top: 6px;
  height: 3px;
}
.pwd-strength-bar {
  flex: 1;
  border-radius: var(--radius-sm);
  background: var(--brand-border);
  transition: background 0.3s;
}
.pwd-strength[data-level="1"] .pwd-strength-bar:nth-child(-n+1) { background: var(--brand-danger); }
.pwd-strength[data-level="2"] .pwd-strength-bar:nth-child(-n+2) { background: var(--brand-warning); }
.pwd-strength[data-level="3"] .pwd-strength-bar:nth-child(-n+3) { background: var(--brand-warning); }
.pwd-strength[data-level="4"] .pwd-strength-bar:nth-child(-n+4) { background: var(--brand-success); }
.pwd-strength-text {
  font-size: 0.72rem;
  margin-top: 2px;
  color: var(--brand-muted);
}



/* ===== css/footer.css ===== */
/* MurphFin — footer.css */

/* ═══════ 18. FOOTER ═══════ */

/* Auth: footer resta nell'area contenuto, a destra della sidebar */
/* Area pubblica: footer allineato al gutter fluido del main */
body:not(.app-auth) .fisit-footer .container {
  max-width: none;
  padding: 0 var(--page-gutter);
}
.app-auth .fisit-footer .container {
  max-width: 100%;
  padding: 0 2rem;
}
.fisit-footer { background: var(--brand-surface-alt); color: var(--brand-text); border-top: 1px solid var(--brand-border); }
.fisit-footer-bar-top { height: 4px; background: var(--brand-accent); }

/* ── Footer minimale (utenti autenticati) ── */
.footer-auth {
  position: fixed;
  bottom: 0;
  left: var(--sidebar-w);
  right: 0;
  border-top: 1px solid var(--brand-border);
  height: var(--footer-auth-h);
  transition: left 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--brand-bg);
  z-index: 90;
}
.app-auth .app-main {
  padding-bottom: var(--footer-auth-h);
}
.footer-auth-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: 11px;
  color: var(--brand-gray-400);
  line-height: 1.5;
}
.footer-auth-inner a {
  color: var(--brand-gray-400);
  text-decoration: none;
  transition: color 0.15s;
}
.footer-auth-inner a:hover { color: var(--brand-gray-500); }
.footer-auth-nvidia {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--brand-gray-500);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.footer-auth-nvidia-icon {
  /* badge ufficiale: mai ricolorato */
  filter: none;
  height: 20px;
  width: auto;
  opacity: 0.6;
}

/* ===== css/pages.css ===== */
/* MurphFin — pages.css */

/* Initial state/layout for JS-driven controls (kept out of HTML for CSP). */
#disable_password { margin: 0 auto; }
#scoreHelpPanel, #aiCoachPanel, #box-importo-immobile, #cat-hint-popup,
#inp-data-acquisto, #preconfirm-box, #preview-personale,
#contatti-form-msg, #faqNoResults { display: none; }
/* #requisiti-linea-b: stato gestito da .amp-hidden (mandato-detail.css) via JS updateLinea() */
#bpLastSaved { opacity: 1; }
#on-tot-bar { width: 0; transition: width .4s ease, background-color .4s ease; }
#on-tot-pct { transition: color .3s ease; }
#on-suggestion-chevron { transition: transform .3s ease; }
#preconfirm-box { max-width: 900px; }
#ccnl-hint { margin-top: 1.7rem; }
#pdfFrame { display: none; width: 100%; height: 600px; }
#forma-giuridica { width: 280px; }
#importo-prestito { width: 160px; }
#punteggio-totale { font-size: 28px; font-weight: 900; }
#progress-punteggio { width: 0; border-radius: 0; transition: width .3s; }
#badge-ammissibilita { padding: 8px 16px; }
.press-kit-form, .press-form-msg { display: none; }
[data-mf-width] { width: 0; }
[data-mf-left] { left: 0; }
[data-mf-height] { height: 0; }
.mf-dynamic-bar { transition: width .4s ease, background-color .4s ease; }
.mf-dynamic-bar-label { min-width: 38px; transition: color .3s ease; }
.mf-timeline-segment { position: absolute; height: 100%; background: var(--brand-accent); min-width: 4px; border-radius: 0; }
.mf-ai-credit-icon { font-size: 1.1rem; }
.mf-ai-credit-icon--ok { color: var(--brand-success); }
.mf-ai-credit-icon--warn { color: var(--brand-warning); }
.mf-ai-credit-icon--empty { color: var(--brand-danger); }


/* ── Normativa ── */
.normativa-tab-btn {
  font-size: 0.82rem;
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  color: var(--brand-muted);
  background: transparent;
  border: 1px solid var(--brand-border);
}
.normativa-tab-btn:hover { background: var(--brand-surface-alt); color: var(--brand-text); }
.normativa-tab-btn.active {
  background: var(--brand-accent);
  color: #fff;
  border-color: var(--brand-accent);
}

/* ── Knowledge AI cards ── */
.kai-brand {
  font-family: var(--font-logo);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--brand-accent);
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.kai-brand-fin { color: var(--brand-text); }
.kai-brand-ai { color: var(--brand-nvidia); font-size: 0.85em; }
.kai-brand--inline { font-size: inherit; margin-bottom: 0; }

/* ── Tooltip info icon ── */
.info-tip {
  font-size: 0.75rem;
  opacity: 0.4;
  cursor: help;
  transition: opacity 0.15s;
}
.info-tip:hover { opacity: 0.8; }

/* ── Share box (step 9) ── */
.bp-share-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.bp-share-box__info {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.bp-share-box__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bp-share-url {
  max-width: 320px;
  font-size: 0.75rem;
  font-family: monospace;
}
.bp-share-revoke {
  color: var(--brand-danger);
  border-color: var(--brand-danger);
}
.bp-share-revoke:hover {
  background: var(--brand-danger-bg);
}

/* ── Timeline scadenze mandati ── */
.timeline-scadenze { position: relative; padding-left: 16px; }
.timeline-mese {
  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; color: var(--brand-muted); margin: 12px 0 6px;
}
.timeline-mese:first-child { margin-top: 0; }
.timeline-item {
  position: relative; display: flex; align-items: center; gap: 0;
  padding: 6px 0; border-left: 2px solid var(--brand-border); margin-left: 4px;
  padding-left: 16px;
}
/* Responsive */

/* ═══════ 18. PUBLIC PAGES ═══════ */

/* ── Page hero (navy gradient) ── */
.page-hero {
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-navy-lighter) 100%);
  color: #fff;
  padding: 42px 26px;
  margin: -2rem calc(-1 * var(--page-gutter, 12px)) 0;
  border-radius: 0;
  text-align: center;
}
.page-hero h1 {
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
}
.page-hero p {
  color: var(--overlay-text-72);
  font-size: 0.92rem;
  max-width: 560px;
  margin: 0 auto;
}

/* ── Page intro (centered title + red bar) ── */
.page-intro {
  text-align: center;
  padding-top: 20px;
  margin-bottom: 26px;
}
.page-intro h1, .page-intro h2 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--brand-navy);
  margin-bottom: 8px;
}
.red-bar {
  height: 3px;
  background: var(--brand-accent);
  border-radius: var(--radius-sm);
  width: 48px;
  margin: 0 auto;
}
.page-intro p {
  color: var(--brand-muted);
  max-width: 560px;
  font-size: 0.92rem;
  margin: 12px auto 0;
}

/* ── Section title (for landing sections) ── */
.section-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 8px;
}
.section-sub {
  color: var(--brand-muted);
  max-width: 580px;
  font-size: 0.92rem;
  margin: 10px auto 26px;
}

/* ── CTA box (gradient pastello) ── */
.cta-box {
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
  border-left: 4px solid var(--brand-blue);
  border-radius: var(--radius);
  padding: 26px;
}

/* ── Icon box ── */
.icon-box {
  width: 44px;
  height: 44px;
  border-radius: var(--radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.icon-box--navy { background: var(--brand-navy-soft-06); color: var(--brand-navy); }

/* ── Legal pages (termini, privacy, cookie) ── */
.legal-content {
  font-size: 0.92rem;
  line-height: 1.7;
}
.legal-content h3 {
  color: var(--brand-accent-light);
  font-size: 1.08rem;
  scroll-margin-top: calc(var(--header-h, 64px) + 12px);
}
.legal-content p,
.legal-content li { text-align: left; }
.legal-content ol.legal-clauses li { margin-bottom: .35rem; }
.legal-meta {
  font-size: .85rem;
  color: var(--brand-muted);
}
.legal-meta a { text-decoration: underline; }
.legal-preamble {
  padding: .9rem 1.1rem;
  border-left: 3px solid var(--brand-accent);
  background: var(--brand-surface-alt);
  border-radius: var(--radius);
}
.legal-toc {
  columns: 2;
  column-gap: 2rem;
  font-size: .85rem;
  padding-left: 1.2rem;
}
@media (max-width: 640px) { .legal-toc { columns: 1; } }
.legal-toc li { break-inside: avoid; margin-bottom: .15rem; }
.au-terms-version { font-size: .78rem; margin-top: .15rem; }
.checkout-legal-hint {
  font-size: .74rem;
  line-height: 1.45;
  color: var(--brand-muted);
  margin: .6rem 0 0;
}
.checkout-legal-hint a { color: inherit; text-decoration: underline; }
.terms-update-banner {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1440px;
  padding: .55rem 1rem;
  font-size: .85rem;
  color: var(--brand-text);
  background: var(--brand-accent-soft-12);
  border: 1px solid var(--brand-accent);
  border-radius: var(--radius);
}
.terms-update-banner i { color: var(--brand-accent); }
.terms-update-banner a { color: var(--brand-accent-light); font-weight: 600; }
.terms-update-banner-cta {
  margin-left: auto;
  padding: .25rem .7rem;
  border-radius: 0;
  background: var(--brand-accent);
  color: #fff !important;
  text-decoration: none;
}

/* ── Contact item ── */
.contact-icon {
  color: var(--brand-navy);
  width: 24px;
  text-align: center;
}
.contact-card {
  background: var(--brand-surface-alt);
  border-radius: var(--radius);
}

/* ═══════ 19. UTILITIES ═══════ */

.text-navy { color: var(--brand-navy); }
.text-blue { color: var(--brand-blue); }
.text-green { color: var(--brand-success); }
.bg-navy-soft { background: var(--brand-navy-soft-08); }
.bg-blue-soft { background: var(--brand-blue-soft-08); }
.cursor-pointer { cursor: pointer; }
.section-divider { border-top: 1px solid var(--brand-border-light); padding-top: 12px; }

.bp-surface-alt { background: var(--brand-surface-alt); }
.bp-selectable { user-select: all; cursor: text; }
.bp-cursor-help { cursor: help; }
.bp-hidden { display: none; }
.bp-border-danger { border-left: 3px solid var(--brand-danger) !important; }
.bp-border-success { border-left: 3px solid var(--brand-success) !important; }

/* Font size utils */
.adm-fs-07  { font-size: 0.7rem !important; }
.adm-fs-075 { font-size: 0.75rem !important; }
.adm-fs-08  { font-size: 0.8rem !important; }

.adm-page-title { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; }
.adm-page-title--lg { font-size: 1.8rem; }

.col-w-100 { width: 100px; }
.col-w-55  { width: 55px; }
.col-w-desc { min-width: 150px; }
.border-accent-left { border-left: 3px solid var(--brand-blue) !important; }
/* What-If Slider */
.whatif-slider { cursor: pointer; }
.whatif-val { font-family: 'SFMono-Regular', monospace; font-size: 0.82rem; }

/* Landing hero pill */
body.public-area .hero-pill {
  display: inline-block; background: var(--overlay-text-15);
  font-size: .75rem; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; padding: 4px 14px; border-radius: var(--radius);
  margin-bottom: 8px;
}
body.public-area .hero-subtitle { color: var(--overlay-text-60); font-size: .85rem; margin: 4px 0 0; }

/* Cookie consent modal — centered card with overlay */
.cookie-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-toast);
  background: var(--overlay-dark-60);
}
.cookie-modal-card {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: var(--z-toast);
  display: none;
  width: 92vw;
  max-width: 520px;
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: 0;
  padding: 32px;
}
.cookie-modal-logo {
  font-family: var(--font-logo);
  font-weight: 700;
  font-size: 24px;
  color: var(--brand-text);
  margin-bottom: 16px;
}
.cookie-modal-logo span { color: var(--brand-accent); }
.cookie-modal-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 18px;
  color: var(--brand-text);
  margin: 0 0 12px;
}
.cookie-modal-text {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--brand-muted);
  line-height: 1.6;
  margin: 0 0 4px;
}
.cookie-modal-text a { color: var(--brand-accent-light); text-decoration: underline; }
.cookie-modal-text a:hover { color: var(--brand-accent-light); }

/* Preferences panel */
.cookie-prefs {
  display: none;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--brand-border);
}
.cookie-prefs.open { display: block; }
.cookie-pref-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
}
.cookie-pref-row + .cookie-pref-row { border-top: 1px solid var(--brand-border); }
.cookie-pref-label {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--brand-text);
}
.cookie-pref-label small {
  display: block;
  font-size: 11px;
  color: var(--brand-muted);
  margin-top: 2px;
}

/* Custom toggle switch */
.cookie-toggle {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
  margin-left: 16px;
}
.cookie-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.cookie-toggle-track {
  position: absolute;
  inset: 0;
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
  border-radius: 0;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.cookie-toggle input:checked + .cookie-toggle-track {
  background: var(--brand-accent);
  border-color: var(--brand-accent);
}
.cookie-toggle input:disabled + .cookie-toggle-track {
  opacity: 0.5;
  cursor: not-allowed;
}
.cookie-toggle-track::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s;
}
.cookie-toggle input:checked + .cookie-toggle-track::after {
  transform: translateX(20px);
}

/* Buttons */
.cookie-btns {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}
.cookie-btn {
  flex: 1;
  border: none;
  border-radius: 0;
  padding: 12px 24px;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.15s;
}
.cookie-btn-secondary {
  background: transparent;
  color: var(--brand-text);
  border: 1px solid var(--brand-border);
}
.cookie-btn-secondary:hover {
  border-color: var(--brand-accent);
  color: var(--brand-accent);
}
.cookie-btn-primary {
  background: var(--brand-accent);
  color: #fff;
  border: 1px solid var(--brand-accent);
}
/* "Rifiuta" deve pesare quanto "Accetta": un contorno contro un pieno e' la
   disparita' che le linee guida del Garante (10/06/2021) e l'EDPB 03/2022
   contestano come schema ingannevole. Stesso riempimento, stessa massa
   visiva, tinta neutra invece dell'accento. I due token si invertono
   insieme fra i temi, quindi il contrasto resta oltre 15:1 in entrambi. */
.cookie-btn-neutral {
  background: var(--brand-text);
  color: var(--brand-surface);
  border: 1px solid var(--brand-text);
}
.cookie-btn-neutral:hover {
  background: var(--brand-muted);
  border-color: var(--brand-muted);
}
.cookie-btn-primary:hover {
  background: var(--brand-accent-light);
  border-color: var(--brand-accent-light);
}
@media (max-width: 480px) {
  .cookie-modal-card { padding: 24px 20px; }
  .cookie-btns { flex-direction: column; }
  .cookie-btn { width: 100%; }
}

/* Scrollbar sottile (Webkit) */
.app-main ::-webkit-scrollbar { width: 6px; height: 6px; }
.app-main ::-webkit-scrollbar-track { background: transparent; }
.app-main ::-webkit-scrollbar-thumb { background: var(--brand-gray-300); border-radius: var(--radius-sm); }
.app-main ::-webkit-scrollbar-thumb:hover { background: var(--brand-muted); }


/* ═══════ 31. DASHBOARD v2 ═══════ */

/* ── Onboarding Modal ── */
.dash-onboard-overlay {
  position: fixed;
  inset: 0;
  background: var(--brand-navy-soft-70);
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
}
.dash-onboard-modal {
  background: var(--brand-surface);
  border-radius: var(--radius);
  max-width: 520px;
  width: calc(100% - 32px);
  box-shadow: 0 20px 60px var(--overlay-dark-30);
  overflow: hidden;
}
.dash-onboard-header {
  background: var(--brand-navy-dark);
  padding: 28px 32px;
  text-align: center;
}
.dash-onboard-header h3 {
  color: #fff;
  margin: 0;
  font-family: var(--font-logo);
  font-weight: 700;
  font-size: 1.3rem;
}
.dash-onboard-header h3 span { color: var(--brand-accent); }
.dash-onboard-body { padding: 28px 32px; }
.dash-onboard-body > p {
  color: var(--brand-text);
  line-height: 1.7;
  margin-bottom: 20px;
  font-size: 0.92rem;
}
.dash-onboard-step {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  align-items: flex-start;
}
.dash-onboard-num {
  min-width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--brand-navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.dash-onboard-step strong { font-size: 0.92rem; }
.dash-onboard-step .text-muted { font-size: 0.85rem; }
.dash-onboard-action {
  text-align: center;
  margin-top: 24px;
}

/* ── Utility: inline style replacements ── */

/* AI robot avatar (chat) */
.ai-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-blue));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  flex-shrink: 0;
  margin-top: 2px;
}

/* Demo banner (base.html) — fisso sotto header */
.demo-banner {
  position: sticky;
  top: var(--header-h, 40px);
  z-index: 1000;
  background: linear-gradient(135deg, var(--brand-navy-dark), var(--brand-navy-lighter));
  color: #fff;
  font-size: 0.84rem;
  margin: 0;
  padding: 0;
  border-radius: 0;
}
.demo-banner-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 8px 20px;
  margin-left: var(--sidebar-w, 260px);
  transition: margin-left 0.2s ease;
}
body.sidebar-collapsed .demo-banner-inner {
  margin-left: var(--sidebar-collapsed-w, 62px);
}
.demo-banner-link {
  color: var(--brand-warning);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.demo-banner-link:hover { color: #fff; }

/* NVIDIA color */
.bg-nvidia-soft { background: var(--brand-nvidia-soft-10); }
/* Card border-left variants */
.card-border-blue { border-left: 3px solid var(--brand-blue); }
.card-border-navy { border-left: 3px solid var(--brand-navy); }
.card-border-warning { border-left: 3px solid var(--brand-warning); }
.card-border-success { border-left: 3px solid var(--brand-success); }
.card-border-top-navy { border-top: 3px solid var(--brand-navy); }
.card-border-top-nvidia { border-top: 3px solid var(--brand-nvidia); }

/* Cursor pointer for clickable rows */
.cursor-pointer { cursor: pointer; }

/* Logo preview */
.logo-preview { max-height: 80px; max-width: 200px; border: 1px solid var(--brand-gray-200); border-radius: var(--radius-sm); padding: 8px; }
.logo-preview-sm { max-height: 60px; }
.color-input { width: 60px; height: 40px; }

/* Progress bar thin */
.progress-thin { height: 6px; }

/* ── Mandati lista v2 ── */

/* Table */
.mnd-table { font-size: 0.84rem; }
.mnd-table tbody td { padding: 10px 12px; vertical-align: middle; border-bottom: 1px solid var(--brand-bg); }
.mnd-table tbody tr:last-child td { border-bottom: none; }

/* Admin macro header */
.adm-page-title { color: var(--brand-navy); }
.adm-page-title--lg { font-size: 1.5rem; }
.adm-page-title--sm { font-size: 1.3rem; }
.adm-page-icon { color: var(--brand-blue); }
.adm-page-subtitle { font-size: 0.88rem; }

/* ── Inline-style replacements ── */
.chat-msg-col { flex: 1; }
.chat-msg-full { max-width: 100%; }
.chat-rating-hidden { opacity: 0; }
.chat-rating-visible { opacity: 1; }
.brand-crown-icon { color: var(--brand-warning); }

/* ── Guscio pagine auth (login, registrazione, reset, 2FA) — v3.20.2 ──
   Sostituisce `.row.justify-content-center > .col-md-N > .card-fisit p-4 mt-4`.
   La ragione e' tecnica prima che estetica: la larghezza della card dipendeva
   da `.col-md-5`, che vive dentro `@media (min-width:768px)` di Bootstrap ed e'
   sovrascritta da `.row > * { width: 100% }` a PARITA' di specificita' — quindi
   vince l'ultima in ordine di file. Nel CSS critico inline (v3.20.0) le due
   regole finivano in ordine invertito rispetto al bundle: la card nasceva a
   tutta pagina e si restringeva all'arrivo del bundle asincrono. E' il "login
   prima grande e poi normale" segnalato il 28/08.
   Qui la larghezza e' un max-width in px, fuori da ogni media query e senza
   regole concorrenti: identica al primo paint e a pagina caricata, anche se il
   CSS critico dovesse tornare a riordinare le regole. */
.auth-shell {
  display: flex;
  justify-content: center;
  /* l'orizzontale lo mette gia' .app-main con --page-gutter */
  padding: 20px 0 44px;
}
.auth-card {
  position: relative;
  width: 100%;
  max-width: 430px;
  padding: 34px 34px 28px;
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
}
.auth-card--wide { max-width: 580px; }

/* Stessa firma dell'header (.app-header::before in layout.css): petrolio con
   il richiamo caldo in testa. Decorativa — nessun significato di stato. */
.auth-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 4px;
  background: var(--brand-gold);
}

.auth-head { margin-bottom: 24px; }
/* Spaziature dei campi senza dipendere dalle utility Bootstrap (.mb-3): stesso
   motivo di ordine-cascata della larghezza, vedi commento sopra. */
.auth-field { margin-bottom: 16px; }
.auth-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 2px 0 20px;
  font-size: 0.84rem;
  color: var(--brand-muted);
}
.auth-check input { margin: 0; }
.auth-title {
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--brand-text);
  margin: 0 0 6px;
}
.auth-sub {
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--brand-muted);
  margin: 0;
}
/* Riga secondaria sotto il bottone (es. "password dimenticata") */
.auth-alt { margin-top: 14px; text-align: center; font-size: 0.8rem; }
.auth-alt a { color: var(--brand-muted); text-decoration: none; }
.auth-alt a:hover { color: var(--brand-text); text-decoration: underline; }
/* Piede della card: rimpiazza <hr> + <p class="small"> */
.auth-foot {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--brand-border);
  text-align: center;
  font-size: 0.82rem;
  color: var(--brand-muted);
}
.auth-foot a { color: var(--brand-accent); font-weight: 600; text-decoration: none; }
.auth-foot a:hover { text-decoration: underline; }
/* Nota di rassicurazione sotto la card (nessun riquadro: e' contorno di pagina) */
.auth-note {
  margin: 16px auto 0;
  max-width: 430px;
  text-align: center;
  font-size: 0.74rem;
  line-height: 1.5;
  color: var(--brand-muted);
}
.auth-note i { color: var(--brand-accent); margin-right: 5px; }

@media (max-width: 575.98px) {
  .auth-shell { padding: 8px 0 28px; }
  .auth-card { padding: 26px 20px 22px; }
}


/* ── Auth pages ── */
.au-badge-current { font-size: 0.6rem; }
.au-2fa-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--brand-success-bg);
  color: var(--brand-success);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin: 0 auto 16px;
}
.au-2fa-qr { border-radius: var(--radius); border: 2px solid var(--brand-border); }
.au-2fa-summary { cursor: pointer; }
.au-2fa-secret {
  background: var(--brand-surface-alt);
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  letter-spacing: 2px;
  word-break: break-all;
}
.au-2fa-input { font-size: 1.5rem; letter-spacing: 8px; }
.au-input-uppercase { text-transform: uppercase; }
.au-reg-card { max-width: 560px; margin: 0 auto; }
.au-progress-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 24px;
}
.au-progress-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transition: .3s;
}
.au-progress-dot--active { background: var(--brand-accent); }
.au-progress-dot--inactive { background: var(--brand-border); }
.au-progress-track {
  width: 40px;
  height: 2px;
  background: var(--brand-border);
  border-radius: var(--radius-sm);
  position: relative;
}
.au-progress-bar {
  position: absolute;
  inset: 0;
  background: var(--brand-accent);
  border-radius: var(--radius-sm);
  transform: scaleX(0);
  transform-origin: left;
  transition: .4s;
}
.au-step-title {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  color: var(--brand-navy);
}

/* ── Responsive ── */

/* ═══════════════════════════════════════════════
   Inline-style replacements — Backoffice (bo-*)
   ═══════════════════════════════════════════════ */
.bo-label-col { width: 140px; }
.bo-badge-xs { font-size: 0.6rem; }
.bo-badge-sm { font-size: 0.65rem; }
.badge.bg-purple { background: var(--brand-accent); color: #fff; }
.bo-textarea-code { font-size: 0.85rem; }
.bo-textarea-mono { font-size: 0.82rem; font-family: monospace; }
.bo-card-accent-blue { border-left: 4px solid var(--brand-blue); }
.bo-card-accent-red { border-left: 4px solid var(--brand-accent); }
.bo-card-accent-nvidia { border-left: 4px solid var(--brand-nvidia); }
.bo-icon-red { color: var(--brand-accent); }
.bo-icon-nvidia { color: var(--brand-nvidia); }
/* bianco su verde NVIDIA = 2.41:1 → testo scuro sul chip (audit 19/08) */
.bo-nvidia-badge { background: var(--brand-nvidia); color: var(--brand-nvidia-on); font-size: 0.75rem; }
.bo-nvidia-img { height: 28px; width: auto; background: none; padding: 0; border-radius: 0; }
.bo-roadmap-title { color: var(--brand-navy); }
.bo-roadmap-text { font-size: 0.78rem; }
.bo-roadmap-sub { font-size: 0.72rem; color: var(--brand-muted); }
.bo-cursor-pointer { cursor: pointer; }
.bo-th-id { width: 40px; }
.bo-th-stato { width: 80px; }
.bo-th-azioni { width: 160px; }
.bo-input-minw { min-width: 200px; }
.bo-input-maxw-sm { max-width: 200px; }
.bo-select-w200 { width: 200px; }
.bo-td-ellipsis { max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-th-40pct { width: 40%; }
.bo-input-upper { text-transform: uppercase; }
.bo-sync-running { color: var(--brand-nvidia); font-weight: bold; }
.bo-sync-log { background: var(--brand-surface-alt); max-height: 400px; overflow-y: auto; font-family: 'SFMono-Regular', monospace; font-size: 0.8rem; line-height: 1.8; }
.bo-sync-total { border-top: 3px solid var(--brand-nvidia); }
.bo-sync-total-val { color: var(--brand-nvidia); }
.bo-changelog-pre { white-space: pre-wrap; font-family: var(--font-body); font-size: 0.88rem; line-height: 1.7; margin: 0; color: var(--brand-text); }
.bo-th-ticket-id { width: 50px; }
.bo-th-ticket-cat { width: 120px; }
.bo-th-ticket-pri { width: 90px; }
.bo-th-ticket-stato { width: 120px; }
.bo-th-ticket-msg { width: 80px; }
.bo-th-ticket-date { width: 130px; }
.bo-html-textarea { font-family: monospace; font-size: 0.85rem; }

/* ═══════════════════════════════════════════════
   Inline-style replacements — BP Dashboard (bpd-*)
   ═══════════════════════════════════════════════ */
.bpd-score-val[data-level="high"] { color: var(--brand-success); }
.bpd-score-val[data-level="mid"] { color: var(--brand-warning); }
.bpd-score-val[data-level="low"] { color: var(--brand-danger); }
.bpd-score-badge { color: #fff; }
.bpd-score-badge[data-level="high"] { background: var(--brand-success); }
.bpd-score-badge[data-level="mid"] { background: var(--brand-warning); }
.bpd-score-badge[data-level="low"] { background: var(--brand-danger); }
.bpd-progress-thin { height: 8px; }
.bpd-progress-bar[data-level="high"] { background: var(--brand-success); }
.bpd-progress-bar[data-level="mid"] { background: var(--brand-warning); }
.bpd-progress-bar[data-level="low"] { background: var(--brand-danger); }
.bpd-score-table { font-size: 0.82rem; }

.bpd-score-help-btn {
  background: none; border: none; cursor: pointer; padding: 0 0 0 6px;
  color: var(--brand-muted); font-size: 0.85rem; vertical-align: middle;
}
.bpd-score-help-btn:hover { color: var(--brand-text); }
.bpd-score-help {
  background: var(--brand-surface-alt); border: 1px solid var(--brand-border);
  border-radius: var(--radius); padding: 14px 16px; margin-bottom: 12px;
}
.bpd-score-help p { color: var(--brand-muted); }
.bpd-score-help-close {
  background: none; border: none; cursor: pointer;
  color: var(--brand-muted); font-size: 0.8rem; padding: 2px 4px;
}
.bpd-score-help-close:hover { color: var(--brand-text); }
.bpd-score-help-table { width: 100%; border-collapse: collapse; }
.bpd-score-help-table td { padding: 4px 8px; color: var(--brand-muted); vertical-align: top; }
.bpd-score-help-table td:first-child { white-space: nowrap; width: 130px; }

/* ── Piattaforma page (plat-*) ── */
.plat-hero {
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 100%);
  color: var(--brand-text);
  padding: 52px 26px 42px;
  margin: -2rem calc(-1 * var(--page-gutter, 12px)) 0;
  border-radius: 0;
  text-align: center;
}
.plat-hero-title {
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 12px;
  color: var(--brand-text);
}
.plat-hero-bar {
  height: 3px;
  background: var(--brand-accent);
  border-radius: var(--radius-sm);
  width: 48px;
  margin: 12px auto 18px;
}
.plat-hero-sub {
  color: var(--brand-muted);
  font-size: 0.95rem;
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.7;
}
.plat-section { padding: 42px 0 10px; }
.plat-section--sm { padding: 32px 0 10px; }
.plat-row-mt { margin-top: 20px; }
.plat-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius);
  padding: 24px;
  height: 100%;
  border-top: 3px solid var(--brand-accent);
}
.plat-icon-box {
  width: 44px;
  height: 44px;
  border-radius: var(--radius);
  background: var(--brand-accent-glow);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.plat-icon-box i { color: var(--brand-accent); font-size: 1.1rem; }
.plat-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 4px;
}
.plat-check-list { list-style: none; padding: 0; margin: 0; }
.plat-check-item {
  font-size: 0.82rem;
  color: var(--brand-text);
  padding: 4px 0;
}
.plat-check-item i { color: var(--brand-accent); font-size: 0.7rem; }
.plat-feat-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius);
  padding: 18px;
  height: 100%;
}
.plat-feat-icon {
  color: var(--brand-accent);
  font-size: 1rem;
  margin-bottom: 8px;
  display: block;
}
.plat-feat-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 4px;
}
.plat-feat-desc {
  font-size: 0.78rem;
  color: var(--brand-muted);
  line-height: 1.5;
}
.plat-bando-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-left: 3px solid var(--brand-accent);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
  height: 100%;
  transition: transform 0.2s, box-shadow 0.2s;
}
.plat-bando-card:hover { transform: translateY(-2px); box-shadow: 0 4px 16px var(--overlay-dark-08); }
.plat-bando-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 4px;
}
.plat-bando-title i { color: var(--brand-accent); font-size: 0.75rem; }
.plat-bando-tipo { font-size: 0.72rem; color: var(--brand-muted); }
.plat-info-box {
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius);
  padding: 20px 24px;
  margin-top: 20px;
}
.plat-info-text {
  font-size: 0.88rem;
  color: var(--brand-text);
  margin: 0;
  line-height: 1.6;
}
.plat-step-wrap {
  margin-top: 20px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.plat-step { display: flex; gap: 12px; align-items: flex-start; }
.plat-step-num {
  min-width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--brand-accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
}
.plat-step-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 3px;
}
.plat-step-desc {
  font-size: 0.78rem;
  color: var(--brand-muted);
  line-height: 1.5;
}
/* ── Landing page inline replacements (lp-*) ── */
.lp-hero-stats {
  color: var(--overlay-text-60);
  font-size: 0.78rem;
}
.lp-hero-stats strong { color: #fff; }
.lp-nvidia-hero-link {
  /* badge ufficiale NVIDIA: nessun contenitore colorato attorno al lockup */
  background: transparent;
  border: 0;
  padding: 0;
  border-radius: var(--radius);
  transition: all 0.2s;
}
.lp-nvidia-hero-link:hover { opacity: 0.85; }
.lp-nvidia-hero-link img { height: 40px; width: auto; }
.lp-nvidia-hero-link span { color: var(--brand-nvidia); font-size: 0.72rem; font-weight: 600; }
.lp-spbar { max-width: 1100px; }
.lp-perchi-section { padding: 26px 0 10px; }
.lp-perchi-bar {
  display: flex;
  gap: 1px;
  background: var(--brand-border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-top: 20px;
  box-shadow: 0 2px 12px var(--brand-navy-soft-06);
}
.lp-perchi-cell {
  flex: 1;
  background: var(--brand-surface);
  padding: 20px 16px;
  text-align: center;
}
.lp-perchi-title { font-size: 0.82rem; font-weight: 700; color: var(--brand-text); margin-bottom: 3px; }
.lp-perchi-desc { font-size: 0.72rem; color: var(--brand-muted); line-height: 1.35; }
.lp-come-section { padding: 32px 0 10px; }
.lp-steps-bar {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: 20px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.lp-steps-connector {
  position: absolute;
  top: 22px;
  left: 60px;
  right: 60px;
  height: 2px;
  background: linear-gradient(90deg, var(--brand-navy), var(--brand-accent), var(--brand-navy));
  opacity: 0.15;
  z-index: 0;
}
.lp-step-cell { flex: 1; text-align: center; position: relative; z-index: 1; }
.lp-step-num {
  width: 44px;
  height: 44px;
  background: var(--brand-navy);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  box-shadow: 0 2px 8px var(--brand-navy-soft-20);
}
.lp-step-title { font-size: 0.82rem; font-weight: 700; color: var(--brand-text); margin-bottom: 4px; }
.lp-step-desc { font-size: 0.74rem; color: var(--brand-muted); line-height: 1.4; padding: 0 8px; }
.lp-come-cta { margin-top: 24px; }
.lp-btn-navy {
  background: var(--brand-navy);
  color: #fff;
  font-weight: 700;
  border-radius: var(--radius-sm);
  padding: 12px 28px;
  font-size: 0.9rem;
}
.lp-ai-row { max-width: 1200px; margin: 26px auto 0; }
.lp-chat-mockup {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius);
  padding: 20px;
  box-shadow: 0 4px 24px var(--overlay-dark-06);
}
.lp-chat-header { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.lp-chat-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--brand-navy);
  display: flex;
  align-items: center;
  justify-content: center;
}
.lp-chat-avatar i { color: #fff; font-size: 0.8rem; }
.lp-chat-brand { font-size: 0.85rem; }
.lp-chat-bubble-ai {
  background: var(--brand-surface-alt);
  border-radius: var(--radius);
  padding: 10px 14px;
  font-size: 0.82rem;
  color: var(--brand-text);
  margin-bottom: 10px;
  line-height: 1.5;
}
.lp-chat-bubble-user {
  background: var(--brand-navy);
  border-radius: var(--radius);
  padding: 10px 14px;
  font-size: 0.82rem;
  color: #fff;
  margin-left: auto;
  max-width: 80%;
  text-align: right;
  margin-bottom: 10px;
}
.lp-chat-bubble-ai:last-child,
.lp-chat-bubble-user:last-child { margin-bottom: 0; }
.lp-ai-text { padding-left: 16px; }
.lp-ai-text h4 { color: var(--brand-text); }
.lp-ai-feature-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lp-ai-feature-icon--green { background: var(--brand-nvidia-soft-10); }
.lp-ai-feature-icon--green i { color: var(--brand-nvidia); font-size: 0.9rem; }
.lp-ai-feature-icon--blue { background: var(--brand-blue-soft-08); }
.lp-ai-feature-icon--blue i { font-size: 0.9rem; }
.lp-ai-feature-icon--navy { background: var(--brand-navy-soft-06); }
.lp-ai-feature-icon--navy i { font-size: 0.9rem; }
.lp-ai-feature-title { font-size: 0.88rem; font-weight: 600; color: var(--brand-text); }
.lp-nvidia-wrap {
  margin: 0 calc(-1 * var(--page-gutter, 12px));
  padding: 42px 42px;
  background: var(--lp-nvidia-gradient);
  border-radius: var(--radius);
  color: #fff;
}
.lp-nvidia-inner { max-width: 1200px; margin: 0 auto; }
.lp-nvidia-logo { height: 64px; width: auto; margin-bottom: 20px; }
.lp-nvidia-title { font-size: 1.4rem; font-weight: 700; color: #fff; margin-bottom: 12px; line-height: 1.3; }
.lp-nvidia-desc { color: var(--overlay-text-60); font-size: 0.88rem; line-height: 1.6; margin-bottom: 16px; }
.lp-nvidia-desc a { color: var(--overlay-text-85); text-decoration: none; border-bottom: 1px solid var(--overlay-text-30); }
.lp-nvidia-desc strong { color: var(--brand-nvidia); }
.lp-nvidia-small { color: var(--overlay-text-50); font-size: 0.78rem; line-height: 1.5; margin-bottom: 0; }
.lp-nvidia-panel {
  background: var(--overlay-text-04);
  border: 1px solid var(--overlay-text-08);
  border-radius: var(--radius);
  padding: 24px 20px;
}
.lp-nvidia-panel-title {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--overlay-text-35);
  margin-bottom: 16px;
  font-weight: 600;
}
.lp-nvidia-flow-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 20px;
}
.lp-nvidia-flow-step { flex: 1; text-align: center; }
.lp-nvidia-flow-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}
.lp-nvidia-flow-label { font-size: 0.7rem; color: var(--overlay-text-70); font-weight: 600; }
.lp-nvidia-flow-arrow { flex: 0; width: 24px; text-align: center; margin-bottom: 18px; }
.lp-nvidia-flow-arrow i { color: var(--overlay-text-15); font-size: 0.7rem; }
.lp-nvidia-metrics-bar {
  display: flex;
  gap: 1px;
  background: var(--overlay-text-06);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.lp-nvidia-metric {
  flex: 1;
  background: var(--overlay-text-02);
  padding: 12px 8px;
  text-align: center;
}
.lp-nvidia-metric-val { font-size: 1.1rem; font-weight: 800; color: var(--brand-nvidia); }
.lp-nvidia-metric-label { font-size: 0.62rem; color: var(--overlay-text-40); margin-top: 2px; }
.lp-dev-link { color: var(--brand-navy); text-decoration: none; }
.lp-bandi-extra { margin-top: 16px; }
.lp-promo-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  background: var(--brand-navy-soft-60);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
}
.lp-promo-card {
  background: var(--brand-surface);
  border-radius: var(--radius);
  max-width: 440px;
  width: calc(100% - 32px);
  box-shadow: 0 24px 80px var(--overlay-dark-25);
  overflow: hidden;
  animation: popIn 0.35s ease;
}
.lp-promo-header {
  background: linear-gradient(135deg, var(--brand-navy-dark) 0%, var(--brand-navy) 100%);
  padding: 32px 28px 24px;
  text-align: center;
  position: relative;
}
.lp-promo-close {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  color: var(--overlay-text-50);
  font-size: 1.2rem;
  cursor: pointer;
  padding: 4px 8px;
}
.lp-promo-emoji { font-size: 2.5rem; margin-bottom: 8px; }
.lp-promo-title {
  color: #fff;
  font-family: var(--font-logo);
  font-weight: 800;
  font-size: 1.3rem;
  margin: 0 0 6px;
}
.lp-promo-subtitle { color: var(--overlay-text-65); font-size: 0.85rem; margin: 0; }
.lp-promo-body { padding: 28px; text-align: center; }
.lp-promo-text { color: var(--brand-text); font-size: 0.95rem; line-height: 1.6; margin-bottom: 20px; }
.lp-promo-code-box {
  background: var(--brand-bg);
  border: 2px dashed var(--brand-navy);
  border-radius: var(--radius);
  padding: 16px;
  margin-bottom: 20px;
  cursor: pointer;
  transition: all 0.2s;
}
.lp-promo-code-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--brand-muted);
  margin-bottom: 6px;
  font-weight: 600;
}
.lp-promo-code-value {
  font-family: 'SFMono-Regular', monospace;
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--brand-navy);
  letter-spacing: 3px;
}
.lp-promo-copy-hint { font-size: 0.72rem; color: var(--brand-muted); margin-top: 6px; }
.lp-promo-cta {
  display: inline-block;
  background: var(--brand-accent);
  color: #fff;
  font-weight: 700;
  padding: 14px 36px;
  border-radius: var(--radius-sm);
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.15s;
}
.lp-promo-footer { color: var(--brand-muted); font-size: 0.72rem; margin-top: 14px; margin-bottom: 0; }
@keyframes popIn { from { opacity: 0; transform: scale(0.9) translateY(20px); } to { opacity: 1; transform: scale(1) translateY(0); } }

/* ── Hint riferimento costi (Step 2, 5) ── */
.bp-ref-hint { font-size: 0.78rem; color: var(--brand-accent); background: var(--brand-blue-soft-06); border-radius: var(--radius-sm); padding: 4px 8px; margin-top: 4px; line-height: 1.4; }
.bp-ref-hint i { color: var(--brand-accent); }

/* ── Grafico Confronto Scenari (Step 9) ── */
.bp-scenari-chart-wrapper { position: relative; max-width: 700px; height: 320px; margin: 0 auto; }
.bp-scenari-chart-wrapper canvas { width: 100% !important; height: 100% !important; }
.bp-scenari-legend { display: flex; justify-content: center; gap: 24px; margin-top: 12px; flex-wrap: wrap; }
.bp-scenari-legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.82rem; color: var(--brand-text); }
.bp-scenari-legend-dot { width: 12px; height: 12px; border-radius: var(--radius-sm); flex-shrink: 0; }

/* ── Shared View (BP condiviso read-only) ── */
.shared-view-container { max-width: 900px; margin: 0 auto; }
.shared-timeline-bar { position: relative; height: 20px; background: var(--brand-surface-alt); border-radius: var(--radius-sm); overflow: hidden; }
.shared-timeline-fill { position: absolute; height: 100%; background: var(--brand-accent); border-radius: var(--radius-sm); min-width: 4px; }

/* === UNIFORM POLISH === */

/* Hover tabelle: blu leggero invece del grigio */
.table tbody tr:hover { background-color: var(--brand-info-bg); }

/* Bottoni nelle tabelle senza classe esplicita */
.table .btn:not(.btn-icon-sm) { padding: 3px 8px; font-size: 0.78rem; line-height: 1.3; }

/* Link "Vedi tutti" */
.link-see-all { font-size: 0.80rem; font-weight: 500; text-decoration: none; }

/* === END UNIFORM POLISH === */

/* ═══════════════════════════════════════════════
   31. LANDING — Bottone outline navy + Features
   ═══════════════════════════════════════════════ */
.lp-btn-outline-navy {
  background: transparent;
  color: var(--brand-navy);
  font-weight: 700;
  border-radius: var(--radius-sm);
  padding: 12px 28px;
  font-size: 0.9rem;
  border: 2px solid var(--brand-navy);
  transition: all 0.2s;
}
.lp-btn-outline-navy:hover {
  background: var(--brand-navy);
  color: #fff;
}

/* Features grid */
.lp-features-grid {
  display: grid;
  /* 4 card: 2 colonne, 4 da 1400px (mai 3+1) */
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1500px;
  margin: 32px auto 0;
}
.lp-feature-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius);
  padding: 28px;
}
.lp-feature-icon {
  width: 44px; height: 44px;
  border-radius: var(--radius);
  background: var(--brand-navy);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  margin-bottom: 14px;
}
.lp-feature-title {
  font-weight: 700;
  font-size: 1rem;
  color: var(--brand-navy);
  margin-bottom: 10px;
}
.lp-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lp-feature-list li {
  position: relative;
  padding-left: 20px;
  font-size: 0.88rem;
  color: var(--brand-text-muted, var(--brand-muted));
  margin-bottom: 6px;
  line-height: 1.5;
}
.lp-feature-list li::before {
  content: '\f00c'; /* fa-check */
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 0;
  color: var(--brand-success);
  font-size: 0.75rem;
  top: 3px;
}
/* ── Press: inline style replacements ── */
.comunicato-titolo { line-height: 1.35; }
.comunicato-sommario { line-height: 1.65; }
.changelog-sidebar-label { letter-spacing: 0.08em; font-size: 0.68rem; }

/* ── Partner: footer link muted ── */
.footer-link-muted { color: var(--overlay-text-50); text-decoration: underline; }

/* ── Comparison table (caratteristiche) ── */
.plat-compare-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.plat-compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--brand-border);
  border-radius: 0;
  overflow: hidden;
  font-size: 0.84rem;
}
.plat-compare-table thead th {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
  font-weight: 700;
  padding: 14px 16px;
  text-align: center;
  border-bottom: 3px solid var(--brand-accent);
  font-size: 0.82rem;
  white-space: nowrap;
}
.plat-compare-table thead th:first-child {
  text-align: left;
}
.plat-compare-table thead th.plat-compare-hl {
  background: var(--brand-accent);
  color: #fff;
}
.plat-compare-table tbody td {
  padding: 11px 16px;
  text-align: center;
  border-bottom: 1px solid var(--brand-border);
  color: var(--brand-text);
  vertical-align: middle;
  font-size: 0.82rem;
}
.plat-compare-table tbody td:first-child {
  text-align: left;
  font-weight: 600;
  color: var(--brand-text);
}
.plat-compare-table tbody tr:nth-child(even) { background: var(--brand-surface-alt); }
.plat-compare-table tbody tr:hover { background: var(--brand-accent-glow); }
.plat-compare-yes { color: var(--brand-accent-light); font-weight: 700; }
.plat-compare-partial { color: var(--brand-muted); font-style: italic; }
.plat-compare-no { color: var(--brand-muted); }
@media (max-width: 767px) {
  .plat-compare-table { min-width: 640px; }
  .plat-compare-table thead th,
  .plat-compare-table tbody td { padding: 9px 10px; font-size: 0.76rem; }
}


/* === Guida / Centro Assistenza === */
.assistenza-subtitle { color: var(--brand-muted); margin-top: 4px; }
.assistenza-search-wrap { margin-bottom: 20px; }
.assistenza-search-input { max-width: 520px; font-size: 15px; }
.assistenza-search-count { color: var(--brand-muted); display: none; margin-top: 6px; }
.assistenza-manual-card { margin-bottom: 20px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.assistenza-manual-sub { color: var(--brand-muted); font-size: 13px; margin-left: 8px; }
.assistenza-manual-btn { padding: 7px 18px; text-decoration: none; font-size: 12px; letter-spacing: 0.5px; }
.assistenza-bandi-table,
.assistenza-glossario-table { margin: 12px 0; font-size: 13px; }
.assistenza-no-results { display: none; text-align: center; padding: 40px; color: var(--brand-muted); }
.assistenza-no-results-title { font-size: 15px; }
.assistenza-tickets-section { margin-top: 40px; border-top: 1px solid var(--brand-border); padding-top: 24px; }
.assistenza-tickets-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.assistenza-tickets-title { margin: 0; font-size: 18px; }
.assistenza-ticket-btn { padding: 8px 18px; text-decoration: none; font-size: 12px; letter-spacing: 0.5px; }
.assistenza-ticket-row { cursor: pointer; }
.assistenza-tickets-empty { text-align: center; padding: 30px; color: var(--brand-muted); }
.assistenza-tickets-empty-hint { font-size: 13px; }
.assistenza-cta-public { margin-top: 40px; border-top: 1px solid var(--brand-border); padding-top: 24px; text-align: center; }
.assistenza-cta-text { color: var(--brand-muted); }
.assistenza-cta-btn { padding: 10px 24px; text-decoration: none; margin-right: 12px; }

.guida-section {
  border: 1px solid var(--brand-border);
  margin-bottom: 8px;
}

.guida-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  cursor: pointer;
  transition: background 0.15s;
}

.guida-section-header:hover {
  background: var(--brand-surface-alt);
}

.guida-section-header h2 {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  color: var(--brand-text);
}

.guida-toggle {
  font-size: 14px;
  color: var(--brand-muted);
  transition: transform 0.15s;
}

.guida-section.open .guida-toggle {
  transform: rotate(90deg);
}

.guida-section-body {
  display: none;
  padding: 0 18px 18px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--brand-text);
}

.guida-section.open .guida-section-body {
  display: block;
}

.guida-section-body h3 {
  font-size: 14px;
  font-weight: 700;
  margin: 18px 0 6px;
  color: var(--brand-accent-light);
}

.guida-section-body ul,
.guida-section-body ol {
  padding-left: 20px;
  margin: 6px 0;
}

.guida-section-body li {
  margin-bottom: 3px;
}

.guida-tip {
  background: var(--brand-success-soft-08);
  border-left: 3px solid var(--brand-success-dark);
  padding: 8px 14px;
  margin: 10px 0;
  font-size: 13px;
}

.guida-warn {
  background: var(--brand-warning-soft-08);
  border-left: 3px solid var(--brand-warning);
  padding: 8px 14px;
  margin: 10px 0;
  font-size: 13px;
}

/* ── i18n Language Switcher ── */
.lang-switcher { display: flex; gap: 2px; align-items: center; margin-left: 8px; }
.lang-switcher a { padding: 4px 8px; font-size: 0.72rem; font-family: var(--font-mono); color: var(--brand-muted); text-decoration: none; border: 1px solid transparent; transition: color 0.15s, border-color 0.15s; }
.lang-switcher a:hover { color: var(--brand-accent); }
.lang-switcher a.active { color: var(--brand-accent); border-color: var(--brand-accent); font-weight: 600; }

/* ── Breadcrumbs (mf-breadcrumb) ── */
.mf-breadcrumb { margin-bottom: 12px; }
.mf-breadcrumb-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  font-family: var(--font-mono);
  color: var(--brand-muted);
}
.mf-breadcrumb-item {
  display: inline-flex;
  align-items: center;
}
.mf-breadcrumb-item + .mf-breadcrumb-item::before {
  content: "/";
  margin: 0 8px;
  color: var(--brand-muted);
  opacity: 0.5;
}
.mf-breadcrumb-item a {
  color: var(--brand-muted);
  text-decoration: none;
  transition: color 0.15s;
}
.mf-breadcrumb-item a:hover { color: var(--brand-accent); }
.mf-breadcrumb-item--active {
  color: var(--brand-text);
  font-weight: 600;
}

/* ── Empty state (mf-empty-state) ── */
.mf-empty-state {
  text-align: center;
  padding: 48px 24px;
  color: var(--brand-muted);
}
.mf-empty-state__icon {
  font-size: 3rem;
  margin-bottom: 12px;
  opacity: 0.5;
  color: var(--brand-muted);
}
.mf-empty-state__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--brand-text);
}
.mf-empty-state__desc {
  font-size: 0.88rem;
  max-width: 420px;
  margin: 0 auto 18px;
  line-height: 1.5;
}
.mf-empty-state__cta { display: inline-flex; }
@media (min-width: 1400px) {
  .lp-features-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ===== css/dark-components.css ===== */
/* MurphFin — dark-components.css */


*::selection {
  background: var(--brand-accent);
  color: #fff;
}

/* ── Topbar dark ── */
.app-header {
  height: 40px;
  min-height: 40px;
  background: var(--brand-surface);
  border-bottom: 1px solid var(--brand-border);
}

.app-brand {
  color: var(--brand-text);
  border-right: 1px solid var(--brand-border);
  padding: 0 14px;
  height: 100%;
  display: flex;
  align-items: center;
}

.app-brand span { color: var(--brand-accent); }
.app-brand:hover { color: var(--brand-text); text-decoration: none; }

.sidebar-toggle { color: var(--brand-muted); border-radius: 0; }
.sidebar-toggle:hover { color: var(--brand-text); }

.header-logout {
  color: var(--brand-muted);
  border-left: 1px solid var(--brand-border);
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.5px;
  border-radius: 0;
}

.header-logout:hover { color: var(--brand-text); }

.news-ticker-track { color: var(--brand-gray-500); font-size: 12px; }
.news-ticker-item { color: var(--brand-text); }
a.news-ticker-item:hover { color: #fff; }
.news-ticker-sep { color: var(--brand-muted); }

/* ── Sidebar dark (Cloudflare-style) ── */
.app-sidebar {
  background: var(--brand-bg);
  border-right: 1px solid var(--overlay-text-06);
  top: 40px;
}

.sidebar-label {
  font-size: 0.6875rem;
  color: var(--brand-muted);
}
.sidebar-label:hover { color: var(--overlay-text-55); }
.sidebar-chevron { color: var(--overlay-text-25); }

.sidebar-link {
  color: var(--overlay-text-55);
}

.sidebar-link i { color: currentColor; }
.sidebar-link span { color: inherit; }

.sidebar-link.active {
  background: var(--overlay-text-06);
  border-left: 3px solid var(--brand-accent);
}

.sidebar-link.active i { color: var(--brand-accent-light); }
.sidebar-link.active span { color: #fff; }

.sidebar-link:hover { background: var(--overlay-text-04); color: var(--overlay-text-85); }

.sidebar-section { border-top-color: var(--overlay-text-06); }

.sidebar-avatar {
  background: var(--overlay-text-08);
  border-color: var(--overlay-text-06);
  border-radius: 0;
  color: var(--overlay-text-70);
}

.sidebar-user-name { color: var(--overlay-text-85); }
.sidebar-user-email { color: var(--brand-muted); }

.sidebar-collapse-btn {
  background: var(--brand-bg);
  border-color: var(--overlay-text-06);
  color: var(--overlay-text-55);
  z-index: 1060;
  border-radius: 0;
}

.sidebar-collapse-btn:hover {
  background: var(--overlay-text-04);
  color: var(--overlay-text-85);
}

.header-search-results { background: var(--brand-surface-alt); border-color: var(--brand-border); }
.search-result-item { color: var(--brand-gray-500); }
.search-result-item:hover { background: var(--brand-gray-100); color: var(--brand-text); }

/* Sidebar collapsed — font leggibile */
body.app-auth.sidebar-collapsed .sidebar-link span { font-size: 11px; }

/* ── Content area dark ── */
.app-content {
  background: var(--brand-bg);
}

.app-auth .app-main {
  padding: 16px 24px 60px;
  /* Larghezza unica per TUTTA l'area loggata (clienti + backoffice):
     senza limite, su schermi larghi ogni pagina si stirava a modo suo
     (form del profilo a 1600px, tabelle full-bleed) — incoerente. */
  max-width: 1440px;
  margin: 0 auto;
}

/* ── Footer dark ── */
.footer-auth {
  background: var(--brand-surface);
  border-top-color: var(--brand-border);
  color: var(--brand-muted);
  height: 60px;
  left: var(--sidebar-w);
}

.footer-auth a { color: var(--brand-muted); }
.footer-auth a:hover { color: var(--brand-gray-500); }
.footer-auth-inner { color: var(--brand-muted); font-size: 11px; }

/* ── Headings dark ── */
h1, h2, h3,
h4, h5, h6 {
  color: var(--brand-text);
}

/* ── Greeting ── */
.dash-title,
.mf-greeting-name {
  font-family: var(--font-body);
  font-size: 32px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--brand-text);
}

.mf-greeting-name .mf-name-accent { color: var(--brand-accent); }

/* ── Tables dark ── */
.table { color: var(--brand-gray-500); }
.table thead th { background: var(--brand-surface); color: var(--brand-muted); border-color: var(--brand-border); }
.table td { border-color: var(--brand-border); }
.table-hover > tbody > tr:hover { background: var(--brand-surface-alt); }

/* ── Forms dark ── */
.form-control,
.form-select {
  background: var(--brand-gray-100);
  border-color: var(--brand-gray-200);
  color: var(--brand-text);
  font-family: var(--font-mono);
  font-size: 13px;
  /* border-radius: gestito via --radius-sm in variables */
}

.form-control::placeholder { color: var(--brand-muted); }
.form-control:focus,
.form-select:focus {
  background: var(--brand-gray-100);
  border-color: var(--brand-gray-300);
  color: var(--brand-text);
  box-shadow: none;
}

.form-control:disabled { background: var(--brand-surface); color: var(--brand-muted); opacity: 0.6; }
.form-label { color: var(--brand-muted); }
.form-check-label { color: var(--brand-gray-500); }
.form-check-input { background-color: var(--brand-gray-100); border-color: var(--brand-gray-200); }
.form-check-input:checked { background-color: var(--brand-accent); border-color: var(--brand-accent); }
.input-group-text { background: var(--brand-gray-100); border-color: var(--brand-gray-200); color: var(--brand-muted); /* border-radius: gestito via --radius-sm in variables */ }

/* ── Buttons dark ── */
.btn-fisit { background: var(--brand-accent); /* border-radius: gestito via --radius-sm in variables */ }
.btn-fisit:hover { background: var(--brand-accent-light); }
.btn-fisit-outline { color: var(--brand-gray-500); border-color: var(--brand-gray-200); /* border-radius: gestito via --radius-sm in variables */ }
.btn-fisit-outline:hover { color: var(--brand-text); border-color: var(--brand-gray-300); }

/* ── Badges dark ── */
/* border-radius .badge: gestito via --radius-sm in variables */

/* ── Alerts dark ── */
.alert { background: var(--brand-surface); color: var(--brand-gray-500); /* border-radius: gestito via --radius in variables */ }
.alert-link { color: var(--brand-text); }

/* ── Cards dark ── */
/* border-radius .card-fisit: gestito via --radius in variables */

/* ── Accordion dark ── */
.accordion-item { background: var(--brand-surface); border-color: var(--brand-border); }
.accordion-button { background: var(--brand-surface-alt); color: var(--brand-gray-500); box-shadow: none; /* border-radius: gestito via --radius in variables */ }
.accordion-button:not(.collapsed) { background: var(--brand-surface-alt); color: var(--brand-text); }
.accordion-button::after { filter: invert(0.5); }
.accordion-body { background: var(--brand-surface); }

/* ── Nav pills dark ── */
.nav-pills .nav-link { color: var(--brand-muted); background: transparent; /* border-radius: gestito via --radius in variables */ }
.nav-pills .nav-link.active { background: var(--brand-surface-alt); color: var(--brand-text); }

/* ── Modal dark ── */
.modal-content { background: var(--brand-surface); border-color: var(--brand-border); border-radius: 0; }
.modal-header { background: var(--brand-surface-alt); border-color: var(--brand-border); }

/* ── Progress bars dark ── */
.progress { background: var(--brand-border); border-radius: 0; }
.progress-bar { border-radius: 0; }
.pw-pbar { background: var(--brand-surface); border-color: var(--brand-border); /* border-radius: gestito via --radius in variables */ }
.pw-pbar-track { background: var(--brand-border); /* border-radius: gestito via --radius-sm in variables */ }
.pw-pbar-fill { background: var(--brand-success); /* border-radius: gestito via --radius-sm in variables */ }
.pw-pbar-label { color: var(--brand-muted); }
.pw-pbar-label--active { color: var(--brand-text); }
.pw-pbar-label--done { color: var(--brand-gray-500); }
.pw-pbar-label--locked { color: var(--brand-muted); }
.pw-pbar-step { color: var(--brand-text); }

/* ── Wizard BP dark ── */
.bp-wizard-wrapper { max-width: none; }
.bp-ai-coach__header { background: var(--brand-surface-alt); color: var(--brand-text); }
.bp-ai-coach__panel { background: var(--brand-surface); border-color: var(--brand-border); }
.bp-ai-coach__msg--ai { background: var(--brand-surface-alt); color: var(--brand-gray-500); border-color: var(--brand-border); }
.bp-ai-coach__msg--user { background: var(--brand-navy-dark); }
.bp-ai-coach__input { background: var(--brand-gray-100); border-color: var(--brand-gray-200); color: var(--brand-text); }

/* ── Onboarding modal dark ── */
.dash-onboard-overlay { background: var(--overlay-dark-70); }
.dash-onboard-modal { background: var(--brand-surface); border: 1px solid var(--brand-border); border-radius: 0; }
.dash-onboard-header { background: var(--brand-surface-alt); }
.dash-onboard-num { background: var(--brand-gray-100); color: var(--brand-text); }

/* ── Password toggle ── */
.password-toggle { color: var(--brand-muted); }
.password-toggle:hover { color: var(--brand-gray-500); }

/* ── Dropdown dark ── */
.dropdown-menu { background: var(--brand-surface); border-color: var(--brand-border); border-radius: 0; }
.dropdown-item { color: var(--brand-gray-500); }
.dropdown-item:hover { background: var(--brand-surface-alt); color: var(--brand-text); }

/* ── Scrollbar dark ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--brand-bg); }
::-webkit-scrollbar-thumb { background: var(--brand-gray-200); border-radius: 0; }
::-webkit-scrollbar-thumb:hover { background: var(--brand-gray-300); }

/* ── HR dark ── */
hr { border-color: var(--brand-border); opacity: 1; }

/* ── Code dark ── */
code { color: var(--brand-gray-500); background: var(--brand-gray-100); }

/* ── Utility classes ── */
.bg-surface-alt { background: var(--brand-surface-alt); }

/* ── Global text reset — tutto leggibile su dark ── */
/* NB: span e div esclusi — ereditano dal parent, non sovrascrivono classi semantiche (.text-success, .bo-kpi-val--green ecc.) */
body,
p,
li,
td,
th,
a,
.lead,
.small,
small { color: var(--brand-gray-500); }

a:hover { color: var(--brand-text); }
strong,
b,
h1, h2, h3,
h4, h5, h6,
.fw-semibold,
.fw-bold { color: var(--brand-text); }

label { color: var(--brand-muted); }

/* ── Bootstrap text utilities — override dark ── */
/* !important necessario: Bootstrap 5 usa !important su queste utility */
.text-muted { color: var(--brand-muted) !important; }
.text-dark { color: var(--brand-text) !important; }
.text-secondary { color: var(--brand-muted) !important; }
.text-primary { color: var(--brand-blue) !important; }
.text-success { color: var(--brand-success) !important; }
.text-danger { color: var(--brand-danger) !important; }
.text-warning { color: var(--brand-warning) !important; }
.text-info { color: var(--brand-blue) !important; }
.text-navy { color: var(--brand-blue); }
.text-blue { color: var(--brand-blue); }
.text-green { color: var(--brand-success); }
.btn-close { filter: invert(0.7); }

/* ── Badge dark — override cascata (senza !important) ── */
.badge.bg-primary { background: var(--brand-blue); color: #fff; }
.badge.bg-success { background: var(--brand-success); color: #fff; }
.badge.bg-warning { background: var(--brand-warning); color: #fff; }
.badge.bg-danger { background: var(--brand-danger); color: #fff; }
/* !important necessario: l'utility Bootstrap .bg-secondary è !important
   e imponeva #6c757d, rendendo il chip poco leggibile in entrambi i temi */
.badge.bg-secondary { background: var(--brand-gray-100) !important; color: var(--brand-gray-500) !important; }
.badge.bg-info { background: var(--brand-blue); color: #fff; }

/* ── Card Bootstrap dark — forza sfondo e rimuove ombre chiare ── */
.card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-gray-500);
}

.card .card-header {
  background: var(--brand-surface-alt);
  border-color: var(--brand-border);
  color: var(--brand-gray-500);
  font-family: var(--font-mono);
  font-size: 13px;
}

.card .card-body {
  background: var(--brand-surface);
  color: var(--brand-gray-500);
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.65;
}

.card .card-footer {
  background: var(--brand-surface-alt);
  border-color: var(--brand-border);
}

/* Ombre → rimosse (scompaiono su dark) */
.shadow-sm,
.shadow { box-shadow: none; }

/* bg-transparent su dark deve ereditare dal parent */
.card .bg-transparent {
  background: inherit;
}

/* (duplicati rimossi — definiti sopra in "Misc text dark") */

/* Colori hardcoded nelle card wizard che diventano illeggibili */
.card strong,
.card .fw-bold,
.card .fw-semibold,
.card h5,
.card h6 { color: var(--brand-text); }

/* Alert dentro wizard — uniformati a bp-info-box */
.alert-info {
  background: var(--brand-surface-alt);
  color: var(--brand-gray-500);
  border: 1px solid var(--brand-border);
  border-left: 3px solid var(--brand-blue);
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.65;
  padding: 16px 20px;
}
.alert-info strong { color: var(--brand-text); }
.alert-info .text-primary,
.alert-info i.text-primary { color: var(--brand-blue) !important; }
.alert-warning { background: var(--brand-warning-bg); color: var(--brand-gray-500); border: 1px solid var(--brand-border); border-left: 3px solid var(--brand-warning); font-size: 13px; line-height: 1.65; padding: 16px 20px; }
.alert-warning strong { color: var(--brand-text); }
.alert-success { background: var(--brand-success-bg); color: var(--brand-gray-500); border: 1px solid var(--brand-border); border-left: 3px solid var(--brand-success); font-size: 13px; line-height: 1.65; padding: 16px 20px; }
.alert-success strong { color: var(--brand-text); }
.alert-danger { background: var(--brand-danger-bg); color: var(--brand-gray-500); border: 1px solid var(--brand-border); border-left: 3px solid var(--brand-danger); font-size: 13px; line-height: 1.65; padding: 16px 20px; }
.alert-danger strong { color: var(--brand-text); }

/* Bottoni admin/CRM che usano brand-navy hardcoded */
.btn-adm-primary { background: var(--brand-blue); color: #fff; }
.btn-adm-success { background: var(--brand-success); color: #fff; }
.btn-adm-danger { background: var(--brand-danger); color: #fff; }

/* ── Nav tabs dark ── */
.nav-tabs { border-bottom-color: var(--brand-border); }
.nav-tabs .nav-link { color: var(--brand-muted); border-color: transparent; }
.nav-tabs .nav-link:hover { color: var(--brand-gray-500); border-color: var(--brand-gray-200) var(--brand-gray-200) var(--brand-border); }
.nav-tabs .nav-link.active { color: var(--brand-text); background: var(--brand-surface); border-color: var(--brand-border) var(--brand-border) var(--brand-surface); }

/* ── Table striped dark ── */
.table-success > td { background: var(--brand-success-bg); }
.table-danger > td { background: var(--brand-danger-bg); }
.table-light > td,
.table-light > th { background: var(--brand-surface-alt); color: var(--brand-gray-500); }
tfoot { color: var(--brand-text); }
tfoot td { background: var(--brand-surface-alt); border-color: var(--brand-border); }

/* ── Btn outline dark ── */
.btn-outline-secondary { color: var(--brand-gray-500); border-color: var(--brand-gray-200); }
.btn-outline-secondary:hover { color: var(--brand-text); background: var(--brand-surface-alt); border-color: var(--brand-gray-300); }
.btn-outline-primary { color: var(--brand-blue); border-color: var(--brand-blue); }
.btn-outline-primary:hover { color: #fff; background: var(--brand-blue); }
.btn-outline-danger { color: var(--brand-danger); border-color: var(--brand-danger); }
.btn-outline-danger:hover { color: #fff; background: var(--brand-danger); }
.btn-outline-success { color: var(--brand-success); border-color: var(--brand-success); }
.btn-outline-success:hover { color: #fff; background: var(--brand-success); }

/* ── Select option dark (dropdown nativo) ── */
select option { background: var(--brand-surface); color: var(--brand-text); }

/* ── Pagination dark ── */
.page-link { background: var(--brand-surface); border-color: var(--brand-border); color: var(--brand-gray-500); }
.page-link:hover { background: var(--brand-surface-alt); color: var(--brand-text); }
.page-item.active .page-link { background: var(--brand-blue); border-color: var(--brand-blue); }

/* ── Zero border-radius globale area auth ── */
/* border-radius: gestito via --radius / --radius-sm in variables per:
   .card-fisit, .badge, .alert, .form-control, .form-select,
   .input-group-text, .accordion-button, .btn-fisit, .btn-fisit-outline,
   .btn-adm-*, .bp-download-box, .bp-ai-coach__panel */
.card, .btn,
.accordion-item,
.list-group-item, .nav-link {
  border-radius: 0;
}

/* ── Wizard BP dark — Round 2 ── */

/* table-light: Bootstrap applica bg su tr, thead, tfoot — non solo > td */
tr.table-light,
tr.table-light td,
tr.table-light th,
thead.table-light,
thead.table-light th,
tfoot.table-light,
tfoot.table-light td { background: var(--brand-surface-alt); color: var(--brand-gray-500); }

/* table-success / table-danger su tr */
tr.table-success,
tr.table-success td { background: var(--brand-success-bg); color: var(--brand-gray-500); }
tr.table-danger,
tr.table-danger td { background: var(--brand-danger-bg); color: var(--brand-gray-500); }

/* table-primary su tr (step2 investimenti) */
tr.table-primary,
tr.table-primary td { background: var(--brand-info-bg); color: var(--brand-gray-500); }

/* alert-light (step2, step3 — nessun prodotto/investimento) */
.alert-light { background: var(--brand-surface-alt); color: var(--brand-gray-500); border-color: var(--brand-border); }

/* card-fisit / bp-card: colore testo su dark (bg/border via variables) */
.card-fisit { color: var(--brand-gray-500); }
.card-fisit .card-header { color: var(--brand-gray-500); }
.bp-card { color: var(--brand-gray-500); }

/* bp-download-box — titolo e valori usano brand-navy-dark (#0E1420) che è invisibile */
.bp-download-box__title { color: var(--brand-text); }
.bp-download-box__amount { color: var(--brand-text); }
.bp-download-box__icon { background: var(--brand-gray-100); color: var(--brand-blue); }
.bp-download-box--locked { border-color: var(--brand-blue); }
.bp-download-box__btn--primary { background: var(--brand-blue); }
.bp-download-box__btn--primary:hover { background: var(--brand-navy); }
/* border-radius .bp-download-box: gestito via --radius in variables */

/* Bootstrap .border utility — su dark è troppo chiaro */
.border { border-color: var(--brand-border); }
.border-top { border-top-color: var(--brand-border); }
.border-end,
.border-bottom { border-color: var(--brand-border); }

/* .rounded boxes inside wizard (step9 checklist, step2 KPI) */
.border.rounded { background: var(--brand-surface); }

/* bp-ref-hint (step5 costo suggerito) */
.bp-ref-hint { background: var(--brand-info-bg); color: var(--brand-blue); }
.bp-ref-hint i { color: var(--brand-blue); }

/* Paywall pw-card su dark — la pw-body ha color:var(--brand-text) nell'inline ma serve override per border */
.pw-card { border-color: var(--brand-border); }
.pw-card--featured { border-color: var(--brand-blue); }
.pw-premium-toggle { background: var(--brand-surface); border-color: var(--brand-border); }

/* adm-card/crm-card: bg/border gestiti via variables in components.css */

/* adm-table dark — header e celle */
.adm-table th { border-color: var(--brand-border); color: var(--brand-muted); }
.adm-table td { border-color: var(--brand-border); color: var(--brand-gray-500); }

/* Score bancabilità */
.bpd-score-table td,
.bpd-score-table th { color: var(--brand-gray-500); }
.bpd-progress-thin .progress { background: var(--brand-border); }

/* Tooltip Bootstrap su dark */
.tooltip-inner { background: var(--brand-gray-100); color: var(--brand-text); }
.tooltip .tooltip-arrow::before { border-top-color: var(--brand-gray-100); }

/* form-range slider su dark */
.form-range::-webkit-slider-runnable-track { background: var(--brand-gray-200); }
.form-range::-webkit-slider-thumb { background: var(--brand-blue); }
.form-range::-moz-range-track { background: var(--brand-gray-200); }
.form-range::-moz-range-thumb { background: var(--brand-blue); }

/* Step8 card-body p e small devono ereditare */
.card .card-body p { color: var(--brand-gray-500); }
.card .card-body .small,
.card .card-body small { color: var(--brand-gray-500); }
.card .card-body label { color: var(--brand-muted); }

/* Step9 scenari chart legend */
.bp-scenari-legend-item { color: var(--brand-gray-500); }

/* Chart.js y-axis grid su dark */
.card-fisit canvas { color-scheme: dark; }

/* ═══════════════════════════════════════════════════════
   MF-* COMPONENT CLASSES — Dark design system
   Usate nei template area clienti
   Tutte usano variabili --brand-* (zero hardcoded)
   ═══════════════════════════════════════════════════════ */

/* ── Page header ── */
.mf-page-header { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--brand-border); margin-bottom: 16px; }
.mf-page-title { font-size: 28px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: var(--brand-text); line-height: 1; margin: 0; }
.mf-page-subtitle { display: flex; align-items: center; gap: 14px; margin-top: 7px; font-size: 13px; color: var(--brand-muted); }
.mf-page-subtitle i { font-size: 12px; margin-right: 3px; }
.mf-page-subtitle .mf-meta-warning { color: var(--brand-warning); }

/* ── Greeting ── */
.mf-greeting-name { font-size: 32px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: var(--brand-text); line-height: 1; margin: 0; }
.mf-greeting-name .mf-name-accent { color: var(--brand-accent); }

/* ── KPI strip (unified Cloudflare-style, coerente con .bo-kpi) ── */
.mf-kpi-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0; border-bottom: 1px solid var(--brand-border); margin-bottom: 24px; }
.mf-kpi-strip--4 { grid-template-columns: repeat(4, 1fr); }
.mf-kpi-strip--5 { grid-template-columns: repeat(5, 1fr); }
/* ── App breadcrumb (console-style) ── */
.app-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 28px;
  padding: 0 18px;
  border-bottom: 1px solid var(--brand-border);
  background: var(--brand-bg);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--brand-muted);
  letter-spacing: 0.02em;
}
.app-breadcrumb-home { color: var(--brand-muted); display: inline-flex; align-items: center; text-decoration: none; }
.app-breadcrumb-home:hover { color: var(--brand-text); text-decoration: none; }
.app-breadcrumb-home i { font-size: 10px; }
.app-breadcrumb-sep { color: var(--brand-border); }
.app-breadcrumb-parent { color: var(--brand-muted); }
.app-breadcrumb-current { color: var(--brand-text); }

.mf-kpi-cell { position: relative; padding: 20px 24px; border-right: 1px solid var(--brand-border); display: flex; flex-direction: column; gap: 4px; overflow: hidden; }
.mf-kpi-cell:last-child { border-right: none; }
.mf-kpi-spark { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 32px; pointer-events: none; opacity: 0.9; }
.mf-kpi-cell:hover .mf-kpi-spark { opacity: 1; }
.mf-kpi-cell > .mf-kpi-data, .mf-kpi-cell > .mf-kpi-icon { position: relative; z-index: 1; }
.mf-kpi-icon { display: none; }
.mf-kpi-data { display: flex; flex-direction: column-reverse; }
.mf-kpi-value { font-family: var(--font-mono); font-size: 1.75rem; font-weight: 700; color: var(--brand-text); line-height: 1.2; }
.mf-kpi-value--green { color: var(--brand-success); }
.mf-kpi-value--amber { color: var(--brand-warning); }
.mf-kpi-value--red { color: var(--brand-danger); }

/* ── Status inline (salvataggio AJAX) ── */
.mf-status-ok   { color: var(--brand-success); }
.mf-status-warn { color: var(--brand-warning); }
.mf-status-err  { color: var(--brand-red); }
.mf-kpi-label { font-family: var(--font-body); font-size: 0.75rem; font-weight: 500; color: var(--brand-muted); text-transform: none; letter-spacing: 0; margin-bottom: 4px; }

/* ── Table container ── */
.mf-table-container { background: var(--brand-surface); border: 1px solid var(--brand-border); margin-bottom: 16px; }
.mf-table-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--brand-border); background: var(--brand-surface-alt); }
.mf-table-title { font-size: 13px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: var(--brand-gray-500); display: flex; align-items: center; gap: 8px; }
.mf-table-controls { display: flex; align-items: center; gap: 8px; }
.mf-table-search { background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); padding: 6px 10px; color: var(--brand-text); font-family: var(--font-mono); font-size: 13px; outline: none; width: 180px; }
.mf-table-search::placeholder { color: var(--brand-muted); }
.mf-table-search:focus { border-color: var(--brand-gray-300); }
.mf-table-filter { font-size: 13px; font-weight: 600; color: var(--brand-muted); padding: 6px 10px; border: 1px solid var(--brand-gray-200); background: transparent; cursor: pointer; }
.mf-table-filter:hover { color: var(--brand-text); border-color: var(--brand-gray-300); }

/* ── Table ── */
.mf-table { width: 100%; border-collapse: collapse; }
.mf-table thead th { font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: var(--brand-muted); padding: 8px 14px; text-align: left; border-bottom: 1px solid var(--brand-border); background: var(--brand-surface); white-space: nowrap; }
.mf-table tbody tr { border-bottom: 1px solid var(--brand-border); }
.mf-table tbody tr:last-child { border-bottom: none; }
.mf-table tbody tr:hover td { background: var(--brand-surface-alt); }
.mf-table tbody td { padding: 9px 14px; font-size: 13px; color: var(--brand-gray-500); vertical-align: middle; }
.mf-cell-title { color: var(--brand-text); font-size: 13px; }
.mf-cell-action { text-align: right; width: 40px; }

/* ── Badge bandi ── */
.mf-bando-badge { display: inline-flex; font-weight: 700; font-size: 11px; padding: 2px 8px; letter-spacing: 0.4px; white-space: nowrap; }
.mf-bando-nidi { color: var(--brand-blue); background: var(--brand-info-bg); }
.mf-bando-vsud { color: var(--brand-teal); background: var(--brand-teal-soft-10); }
.mf-bando-vacn { color: var(--brand-warning); background: var(--brand-warning-bg); }
.mf-bando-cult { color: var(--brand-purple); background: var(--brand-purple-soft-10); }
.mf-bando-on { color: var(--brand-blue); background: var(--brand-info-bg); }
.mf-bando-smart { color: var(--brand-success); background: var(--brand-success-bg); }
.mf-bando-ras { color: var(--brand-teal); background: var(--brand-teal-soft-10); }
.mf-bando-generic { color: var(--brand-muted); background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); }

/* ── Badge stato ── */
.mf-state-badge { display: inline-flex; font-size: 11px; font-weight: 700; letter-spacing: 0.4px; padding: 2px 7px; text-transform: uppercase; white-space: nowrap; }
.mf-state-bozza { color: var(--brand-muted); background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); }
.mf-state-inviato { color: var(--brand-success); background: var(--brand-success-bg); }
.mf-state-ammesso { color: var(--brand-blue); background: var(--brand-info-bg); }
.mf-state-pagato { color: var(--brand-success); background: var(--brand-success-bg); }
.mf-state-attivo { color: var(--brand-success); background: var(--brand-success-bg); }
.mf-state-chiuso { color: var(--brand-muted); background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); }
.mf-state-aperto { color: var(--brand-blue); background: var(--brand-info-bg); }
.mf-state-presentato { color: var(--brand-blue); background: var(--brand-info-bg); }
.mf-state-valutazione { color: var(--brand-warning); background: var(--brand-warning-bg); }
.mf-state-erogazione { color: var(--brand-success); background: var(--brand-success-bg); }
.mf-state-nonammesso { color: var(--brand-danger); background: var(--brand-danger-bg); }

/* ── Buttons ── */
.mf-btn-primary { background: var(--brand-accent); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; padding: 8px 16px; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; text-decoration: none; }
.mf-btn-primary:hover { opacity: 0.9; color: #fff; text-decoration: none; }
.mf-btn-ghost { background: transparent; color: var(--brand-gray-500); font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; padding: 8px 16px; border: 1px solid var(--brand-gray-200); cursor: pointer; display: inline-flex; align-items: center; gap: 5px; text-decoration: none; }
.mf-btn-ghost:hover { border-color: var(--brand-gray-300); color: var(--brand-text); text-decoration: none; }
.mf-btn-action { width: 28px; height: 28px; background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); display: inline-flex; align-items: center; justify-content: center; color: var(--brand-muted); cursor: pointer; text-decoration: none; }
.mf-btn-action:hover { color: var(--brand-text); border-color: var(--brand-gray-300); text-decoration: none; }
.mf-btn-filter { font-size: 13px; font-weight: 600; color: var(--brand-muted); padding: 6px 12px; border: 1px solid var(--brand-gray-200); background: transparent; cursor: pointer; text-transform: uppercase; letter-spacing: 0.5px; }
.mf-btn-filter:hover { color: var(--brand-text); border-color: var(--brand-gray-300); }

/* ── Card ── */
.mf-card { background: var(--brand-surface); border: 1px solid var(--brand-border); padding: 16px; }
.mf-card-title { font-size: 16px; font-weight: 700; color: var(--brand-text); margin: 0 0 4px; }
.mf-card-meta { font-size: 13px; color: var(--brand-muted); }
.mf-card-edit { width: 28px; height: 28px; background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); display: inline-flex; align-items: center; justify-content: center; color: var(--brand-muted); cursor: pointer; text-decoration: none; float: right; }
.mf-card-edit:hover { color: var(--brand-text); border-color: var(--brand-gray-300); text-decoration: none; }

/* ── Progress bar ── */
.mf-progress { height: 4px; background: var(--brand-border); width: 100%; overflow: hidden; }
.mf-progress-bar { height: 100%; transition: width 0.3s; }
.mf-progress-bar--green { background: var(--brand-success); }
.mf-progress-bar--amber { background: var(--brand-warning); }
.mf-progress-bar--red { background: var(--brand-danger); }

/* ── Section header ── */
.mf-section-header { font-size: 14px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: var(--brand-gray-500); display: flex; align-items: center; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid var(--brand-border); margin-bottom: 14px; }
.mf-section-header i { font-size: 14px; color: var(--brand-muted); }

/* ── Banner ── */
.mf-banner { border: 1px solid var(--brand-border); padding: 10px 16px; display: flex; align-items: center; gap: 10px; margin-bottom: 16px; background: var(--brand-surface); }
.mf-banner > i { flex-shrink: 0; }
.mf-banner--amber { border-left: 3px solid var(--brand-warning); }
.mf-banner--green { border-left: 3px solid var(--brand-success); }
.mf-banner--red { border-left: 3px solid var(--brand-danger); }
.mf-banner--blue { border-left: 3px solid var(--brand-accent); }
.mf-banner-title { font-size: 13px; font-weight: 700; text-transform: uppercase; }
.mf-banner--amber .mf-banner-title { color: var(--brand-warning); }
.mf-banner--green .mf-banner-title { color: var(--brand-success); }
.mf-banner-text { font-size: 13px; color: var(--brand-muted); }

/* ── Tabs ── */
.mf-tabs { display: flex; border-bottom: 1px solid var(--brand-border); margin-bottom: 16px; }
.mf-tab { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--brand-muted); padding: 8px 14px; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; text-decoration: none; background: transparent; border-top: none; border-left: none; border-right: none; }
.mf-tab:hover { color: var(--brand-gray-500); text-decoration: none; }
.mf-tab.active { color: var(--brand-text); border-bottom-color: var(--brand-text); }
.mf-tab .mf-tab-count { font-family: var(--font-mono); font-size: 12px; color: var(--brand-muted); margin-left: 4px; }

/* ── Blur teaser (Premium paywall) ── */
.mf-blur-teaser { filter: blur(3px); pointer-events: none; user-select: none; }

/* ── Empty state ── */
.mf-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 20px; gap: 10px; }
.mf-empty-icon { font-size: 32px; color: var(--brand-muted); opacity: 0.4; margin-bottom: 4px; }
.mf-empty-title { font-size: 15px; font-weight: 700; color: var(--brand-gray-500); text-transform: uppercase; letter-spacing: 0.5px; }
.mf-empty-text { font-size: 13px; color: var(--brand-muted); text-align: center; max-width: 320px; }

/* ── Doc row (normativa) ── */
.mf-doc-row { display: flex; align-items: center; padding: 8px 14px; border-bottom: 1px solid var(--brand-border); gap: 10px; transition: background 0.15s; text-decoration: none; }
.mf-doc-row:hover { background: var(--brand-surface-alt); }
.mf-doc-row:last-child { border-bottom: none; }
.mf-doc-badge-pdf { background: var(--brand-danger-bg); color: var(--brand-danger-contrast); font-size: 11px; font-weight: 700; padding: 2px 6px; text-transform: uppercase; flex-shrink: 0; }
.mf-doc-name { font-family: var(--font-mono); font-size: 12px; color: var(--brand-gray-500); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mf-doc-download { width: 24px; height: 24px; background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); display: flex; align-items: center; justify-content: center; color: var(--brand-muted); text-decoration: none; flex-shrink: 0; }
.mf-doc-download:hover { color: var(--brand-text); border-color: var(--brand-gray-300); }

/* ── Funnel + Pipeline ── */
.mf-funnel-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; }
.mf-funnel-label { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--brand-gray-500); width: 120px; flex-shrink: 0; }
.mf-funnel-value { font-size: 16px; font-weight: 800; color: var(--brand-text); }
.mf-pipeline-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; }
.mf-pipeline-name { font-size: 12px; font-weight: 700; color: var(--brand-gray-500); width: 120px; flex-shrink: 0; }
.mf-pipeline-bar { flex: 1; height: 6px; background: var(--brand-gray-100); position: relative; }
.mf-pipeline-fill { height: 100%; background: var(--brand-blue); }
.mf-pipeline-count { font-size: 13px; font-weight: 800; color: var(--brand-text); width: 30px; text-align: right; }

/* ── Badge speciali ── */
.mf-badge-premium { background: var(--brand-warning-bg); color: var(--brand-warning); font-size: 11px; font-weight: 700; padding: 2px 8px; text-transform: uppercase; }
.mf-badge-verified { color: var(--brand-success); background: var(--brand-success-bg); font-size: 11px; font-weight: 700; padding: 2px 8px; }
.mf-badge-base { background: var(--brand-gray-100); color: var(--brand-gray-500); border: 1px solid var(--brand-gray-200); font-size: 11px; font-weight: 700; padding: 2px 8px; }
.mf-badge-nvidia { border: 1px solid var(--brand-nvidia-soft-30); color: var(--brand-nvidia); background: var(--brand-nvidia-soft-07); font-size: 11px; font-weight: 700; padding: 2px 8px; text-transform: uppercase; }

/* ── Knowledge AI ── */
.mf-kai-number { font-size: 32px; font-weight: 800; color: var(--brand-success); line-height: 1; }
.mf-kai-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--brand-muted); margin-top: 4px; }
.mf-kai-phase { background: var(--brand-surface); padding: 14px; margin-bottom: 8px; }
.mf-kai-phase--blue { border-left: 2px solid var(--brand-blue); }
.mf-kai-phase--amber { border-left: 2px solid var(--brand-warning); }
.mf-kai-phase--green { border-left: 2px solid var(--brand-success); }

/* ── Form ── */
.mf-form-label { font-size: 11px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: var(--brand-muted); margin-bottom: 4px; display: block; }
.mf-form-input, .mf-form-select, .mf-form-textarea { background: var(--brand-gray-100); border: 1px solid var(--brand-gray-200); color: var(--brand-text); font-family: var(--font-mono); font-size: 13px; padding: 8px 12px; width: 100%; outline: none; }
.mf-form-input::placeholder, .mf-form-textarea::placeholder { color: var(--brand-muted); }
.mf-form-input:focus, .mf-form-select:focus, .mf-form-textarea:focus { border-color: var(--brand-gray-300); }

/* ── Grid utilities ── */
.mf-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.mf-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.mf-flex-between { display: flex; align-items: center; justify-content: space-between; }
.mf-gap-8 { gap: 8px; }
.mf-mb-16 { margin-bottom: 16px; }
.mf-mt-16 { margin-top: 16px; }

/* ── Responsive mf-* ── */

/* ── Responsive dark ── */

/* ═══════ WIZARD FIX — testi illeggibili round 3 ═══════ */
.bp-card p,
.bp-card small,
.bp-card span:not(.badge),
.bp-card label { color: var(--brand-gray-500); }

textarea.form-control { color: var(--brand-text); }
textarea.form-control::placeholder { color: var(--brand-muted); }

/* ═══════ DARK FIX R3 — problemi visivi da screenshot ═══════ */

/* Testo descrittivo sotto titoli sezione wizard */
.bp-info-box { background: var(--brand-surface-alt); border-color: var(--brand-border); color: var(--brand-gray-500); /* border-radius: gestito via --radius in variables */ }
.bp-info-box p,
.bp-info-box li,
.bp-info-box span { color: var(--brand-gray-500); }
[class*="text-muted"],
.form-text { color: var(--brand-gray-500); }

/* Subtitle/hint sotto heading nelle card wizard */
.card p,
.card small,
.card .text-muted { color: var(--brand-gray-500); }

/* Testo generico nei contenitori del wizard */
.app-main p:not(.flash-text) { color: var(--brand-gray-500); }
.app-main small { color: var(--brand-muted); }

/* Textarea placeholder e testo */
textarea { 
  color: var(--brand-text);
  background: var(--brand-gray-100);
  border-color: var(--brand-gray-200);
}
textarea::placeholder { color: var(--brand-muted); }

/* Modal onboarding — testo descrittivo */
.dash-onboard-step p,
.dash-onboard-step .text-muted,
.dash-onboard-body p { color: var(--brand-gray-500); }

/* Testo "Consigliato" badge e hint inline */
.badge.bg-light { 
  background: var(--brand-gray-100) !important;
  color: var(--brand-gray-500) !important;
}
.badge.bg-light.text-dark { color: var(--brand-text) !important; }

/* Bootstrap bg-* con !important — override per dark */
.bg-light { background: var(--brand-surface-alt) !important; }
.bg-white { background: var(--brand-surface) !important; }
.bg-body { background: var(--brand-bg) !important; }
.bg-transparent { background: transparent !important; }

/* ═══════ DARK FIX R4 — tabella investimenti step2 ═══════ */
.table tbody tr { background: var(--brand-surface); }
.table tbody tr:hover { background: var(--brand-surface-alt); }
.table tbody td { 
  background: transparent;
  color: var(--brand-gray-500);
  border-color: var(--brand-border);
}
.table-white tbody tr,
.table tbody tr.bg-white { background: var(--brand-surface) !important; }

/* ── Logo MurphFin AI in area auth ──
   .kai-brand-ai e' definito in pages.css:48 con stesso body. Qui solo
   le altre classi del logo. Rimosso duplicato post C-9 fix per evitare
   conflitti specificita' (era ridondante: stessa specificita' + stesso body). */
.kai-brand { color: var(--brand-accent-light); }
.kai-brand-fin { color: var(--brand-text); }

/* ── Utility classes (extracted from inline styles) ── */

/* Text color utilities */
.mf-text-amber { color: var(--brand-warning); }
.mf-text-red { color: var(--brand-danger); }
.mf-text-green { color: var(--brand-success); }
.mf-text-blue { color: var(--brand-blue); }
.mf-text-muted { color: var(--brand-muted); }
.mf-text-dim { color: var(--brand-gray-500); }
.mf-text-brand { color: var(--brand-text); }
.mf-text-accent { color: var(--brand-accent); }
.mf-text-navy { color: var(--brand-navy); }
/* Token --mf-* legacy mai definiti: mappati sui --brand-* (orders.html) */
.mf-text-legacy-green { color: var(--brand-success); }
.mf-text-legacy { color: var(--brand-text); }
.mf-text-legacy-muted { color: var(--brand-muted); }
.mf-text-legacy-dim { color: var(--brand-gray-500); }
.mf-text-slate { color: var(--brand-gray-500); }

/* Font size utilities */
.mf-text-xs { font-size: 11px; }
.mf-text-12 { font-size: 12px; }
.mf-text-13 { font-size: 13px; }
.mf-text-14 { font-size: 14px; }
.mf-text-16 { font-size: 16px; }
.mf-text-18 { font-size: 18px; }
.mf-text-22 { font-size: 22px; }
.mf-font-mono { font-family: var(--font-mono); }
.mf-text-icon-sm { font-size: 11px; }
.mf-text-icon-md { font-size: 12px; }

/* Opacity */
.mf-opacity-60 { opacity: 0.6; }
.mf-opacity-40 { opacity: 0.4; }

/* Card & layout */
.mf-card-padded { padding: 20px; }
.mf-flex-1 { flex: 1; }
.mf-flex-wrap { flex-wrap: wrap; }
.mf-border { border: 1px solid var(--brand-border); }
.mf-border-bottom { border-bottom: 1px solid var(--brand-border); }
.mf-bg-alt { background: var(--brand-surface-alt); }
.mf-bg-border { background: var(--brand-border); }
.mf-bg-accent { background: var(--brand-accent); }
.mf-bg-success { background: var(--brand-success); }
.mf-bg-danger { background: var(--brand-danger); }
.mf-letter-05 { letter-spacing: 0.5px; }
.mf-letter-08 { letter-spacing: 0.8px; }
.mf-fw-700 { font-weight: 700; }
.mf-fs-062 { font-size: 0.62rem; }
.mf-fs-065 { font-size: 0.65rem; }
.mf-fs-068 { font-size: 0.68rem; }
.mf-fs-070 { font-size: 0.70rem; }
.mf-fs-072 { font-size: 0.72rem; }
.mf-fs-074 { font-size: 0.74rem; }
.mf-fs-075 { font-size: 0.75rem; }
.mf-fs-078 { font-size: 0.78rem; }
.mf-fs-080 { font-size: 0.80rem; }
.mf-fs-082 { font-size: 0.82rem; }
.mf-fs-085 { font-size: 0.85rem; }
.mf-fs-110 { font-size: 1.10rem; }
.mf-fs-120 { font-size: 1.20rem; }
.mf-w-20 { width: 20px; }
.mf-w-40 { width: 40px; }
.mf-w-50 { width: 50px; }
.mf-w-60 { width: 60px; }
.mf-w-70 { width: 70px; }
.mf-w-80 { width: 80px; }
.mf-w-85 { width: 85px; }
.mf-w-90 { width: 90px; }
.mf-w-100 { width: 100px; }
.mf-w-110 { width: 110px; }
.mf-w-120 { width: 120px; }
.mf-w-130 { width: 130px; }
.mf-w-140 { width: 140px; }
.mf-w-150 { width: 150px; }
.mf-w-180 { width: 180px; }
.mf-w-200 { width: 200px; }
.mf-w-auto { width: auto; }
.mf-min-w-42 { min-width: 42px; }
.mf-min-w-55 { min-width: 55px; }
.mf-min-w-130 { min-width: 130px; }
.mf-min-w-140 { min-width: 140px; }
.mf-min-w-200 { min-width: 200px; }
.mf-min-w-220 { min-width: 220px; }
.mf-max-w-200 { max-width: 200px; }
.mf-max-w-240 { max-width: 240px; }
.mf-max-w-280 { max-width: 280px; }
.mf-max-w-300 { max-width: 300px; }
.mf-max-w-320 { max-width: 320px; }
.mf-max-w-540 { max-width: 540px; }
.mf-h-6 { height: 6px; }
.mf-h-8 { height: 8px; }
.mf-h-10 { height: 10px; }
.mf-h-28 { height: 28px; }
.mf-lh-1 { line-height: 1; }
.mf-lh-14 { line-height: 1.4; }
.mf-lh-15 { line-height: 1.5; }
.mf-mb-14 { margin-bottom: 14px; }
.mf-mt-neg-4 { margin-top: -4px; }
.mf-ml-4 { margin-left: 4px; }
.mf-pos-relative { position: relative; }
.mf-overflow-hidden { overflow: hidden; }
.mf-shrink-0 { flex-shrink: 0; }
.mf-cursor-help { cursor: help; }
.mf-fw-400 { font-weight: 400; }
.mf-fw-600 { font-weight: 600; }
.mf-fw-800 { font-weight: 800; }
.mf-fs-050 { font-size: 0.5rem; }
.mf-fs-085em { font-size: 0.85em; }
.mf-fs-9 { font-size: 9px; }
.mf-fs-6rem { font-size: 6rem; }
.mf-lh-17 { line-height: 1.7; }
.mf-opacity-85 { opacity: 0.85; }
.mf-opacity-15 { opacity: 0.15; }
.mf-p-0 { padding: 0; }
.mf-p-8 { padding: 8px; }
.mf-py-8 { padding-top: 8px; padding-bottom: 8px; }
.mf-px-20 { padding-left: 20px; padding-right: 20px; }
.mf-p-2-6 { padding: 2px 6px; }
.mf-p-12-16 { padding: 12px 16px; }
.mf-m-0 { margin: 0; }
.mf-mx-auto { margin-left: auto; margin-right: auto; }
.mf-mb-0 { margin-bottom: 0; }
.mf-mb-8 { margin-bottom: 8px; }
.mf-mb-10 { margin-bottom: 10px; }
.mf-mb-12 { margin-bottom: 12px; }
.mf-mt-6 { margin-top: 6px; }
.mf-mt-12 { margin-top: 12px; }
.mf-mt-2rem { margin-top: 2rem; }
.mf-ml-10 { margin-left: 10px; }
.mf-pl-10 { padding-left: 10px; }
.mf-border-0 { border: 0; }
.mf-border-2 { border: 2px solid var(--brand-border); }
.mf-border-top { border-top: 2px solid var(--brand-border); }
.mf-border-bottom-0 { border-bottom: 0; }
.mf-border-left-accent-3 { border-left: 3px solid var(--brand-accent); }
.mf-border-left-accent-4 { border-left: 4px solid var(--brand-accent); }
.mf-border-left-success-3 { border-left: 3px solid var(--brand-success); }
.mf-border-left-warning-3 { border-left: 3px solid var(--brand-warning); }
.mf-border-left-blue-3 { border-left: 3px solid var(--brand-blue); }
.mf-border-left-red-4 { border-left: 4px solid var(--brand-danger); }
.mf-border-top-success { border-top: 3px solid var(--brand-success); }
.mf-border-top-danger { border-top: 3px solid var(--brand-danger); }
.mf-max-w-480 { max-width: 480px; }
.mf-max-w-700 { max-width: 700px; }
.mf-max-w-950 { max-width: 950px; }
.mf-max-h-120 { max-height: 120px; }
.mf-h-12 { height: 12px; }
.mf-h-20 { height: 20px; }
.mf-h-220 { height: 220px; }
.mf-h-280 { height: 280px; }
.mf-h-320 { height: 320px; }
.mf-h-340 { height: 340px; }
.mf-w-pct-8 { width: 8%; }
.mf-w-pct-10 { width: 10%; }
.mf-w-pct-12 { width: 12%; }
.mf-w-pct-15 { width: 15%; }
.mf-w-pct-20 { width: 20%; }
.mf-w-pct-30 { width: 30%; }
.mf-w-pct-45 { width: 45%; }
.mf-w-pct-55 { width: 55%; }
.mf-valign-middle { vertical-align: middle; }
.mf-align-start { align-items: flex-start; }
.mf-justify-between { justify-content: space-between; }
.mf-text-normal-case { text-transform: none; }
.mf-border-left-navy-3 { border-left: 3px solid var(--brand-navy); }
.mf-border-left-nvidia-2 { border-left: 2px solid var(--brand-nvidia); }

/* Page header variant — no bottom border */
.mf-page-header--flat { border-bottom: none; padding-bottom: 0; margin-bottom: 12px; }
.mf-page-header--flat-16 { border-bottom: none; padding-bottom: 0; margin-bottom: 16px; }
.mf-page-header--flat-8 { border-bottom: none; padding-bottom: 0; margin-bottom: 8px; }

/* Description text (mono, dim, small) */
.mf-desc { color: var(--brand-gray-500); font-family: var(--font-mono); font-size: 11px; margin-bottom: 16px; }
.mf-hint { color: var(--brand-muted); font-size: 11px; font-family: var(--font-mono); }
.mf-hint-xs { color: var(--brand-muted); font-size: 11px; font-family: var(--font-mono); }
.mf-hint-block { display: block; color: var(--brand-muted); font-size: 11px; margin-top: 2px; }

/* Flex row (align center, gap) */
.mf-flex-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.mf-flex-row-tight { display: flex; align-items: center; gap: 6px; }
.mf-flex-row-wide { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

/* Labels */
.mf-label-strong { color: var(--brand-text); font-family: var(--font-head); font-size: 12px; font-weight: 700; }
.mf-label-upper { color: var(--brand-text); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; display: block; margin-bottom: 4px; }
.mf-label-sub { color: var(--brand-text); font-family: var(--font-head); font-size: 11px; font-weight: 700; }
.mf-label-phase-blue { color: var(--brand-blue); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; display: block; margin-bottom: 6px; }
.mf-label-phase-amber { color: var(--brand-warning); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; display: block; margin-bottom: 6px; }
.mf-label-phase-green { color: var(--brand-success); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; display: block; margin-bottom: 6px; }

/* Text detail (mono, dim, small) */
.mf-text-detail { color: var(--brand-gray-500); font-size: 11px; font-family: var(--font-mono); }

/* KPI cell variant — center stacked */
.mf-kpi-cell--center { flex-direction: column; align-items: center; text-align: center; }

/* Divider line */
.mf-divider { height: 1px; background: var(--brand-border); margin: 16px 0; }
.mf-divider-sm { height: 1px; background: var(--brand-border); margin: 12px 0; }

/* Form section title */
.mf-form-section-title { font-family: var(--font-head); font-size: 11px; font-weight: 700; color: var(--brand-gray-500); }
.mf-form-consent { font-family: var(--font-mono); font-size: 11px; color: var(--brand-gray-500); }

/* Subscription info grid */
.mf-info-grid { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; font-family: var(--font-mono); font-size: 11px; margin-bottom: 12px; }
.mf-info-hint { color: var(--brand-muted); font-size: 11px; font-family: var(--font-mono); margin-top: 2px; }

/* Danger zone card */
.mf-card--danger { padding: 20px; border-color: var(--brand-danger); border-left: 3px solid var(--brand-danger); }

/* "View all" / "See more" link style */
.mf-link-viewall { color: var(--brand-gray-500); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; text-decoration: none; letter-spacing: 0.5px; }
.mf-link-viewall:hover { color: var(--brand-text); }

/* Table footer bar */
.mf-table-footer { padding: 8px 14px; border-top: 1px solid var(--brand-border); }

/* Table filter form inline */
.mf-table-filter-bar { padding: 8px 14px; border-bottom: 1px solid var(--brand-border); }

/* Dashboard mandati row items */
.mf-mandato-info { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.mf-mandato-name { color: var(--brand-text); font-family: var(--font-mono); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mf-mandato-stat { color: var(--brand-muted); font-family: var(--font-mono); font-size: 11px; }

/* BP demo banner title */
.mf-demo-title { color: var(--brand-text); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; }

/* BP link in table */
.mf-cell-link { color: var(--brand-text); text-decoration: none; }
.mf-cell-link:hover { text-decoration: underline; }

/* Clickable row */
.mf-clickable { cursor: pointer; }

/* Accordion (normativa) */
.mf-accordion-item { background: var(--brand-surface); border: none; }
.mf-accordion-btn { background: var(--brand-surface-alt); color: var(--brand-gray-500); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 8px 14px; border-bottom: 1px solid var(--brand-border); }
.mf-accordion-body-flush { padding: 0; }
.mf-accordion-count { color: var(--brand-muted); margin-left: 8px; font-size: 11px; }

/* Normativa search wrapper */
.mf-search-wrap { margin-bottom: 12px; }
.mf-search-full { width: 100%; max-width: 360px; }

/* Normativa tabs */
.mf-tabs--wrap { flex-wrap: wrap; gap: 0; }

/* Timeline (mandati) */
.mf-timeline-mese { color: var(--brand-gray-500); font-family: var(--font-head); font-size: 11px; font-weight: 700; text-transform: uppercase; margin: 12px 0 6px; letter-spacing: 0.5px; }
.mf-timeline-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px solid var(--brand-border); }
.mf-timeline-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.mf-timeline-dot--red { background: var(--brand-danger); }
.mf-timeline-dot--amber { background: var(--brand-warning); }
.mf-timeline-dot--neutral { background: var(--brand-gray-300); }
.mf-timeline-date { color: var(--brand-gray-500); font-family: var(--font-mono); font-size: 11px; width: 40px; }
.mf-timeline-title { color: var(--brand-text); font-family: var(--font-mono); font-size: 11px; flex: 1; }
.mf-timeline-parent { color: var(--brand-muted); font-family: var(--font-mono); font-size: 11px; }
.mf-timeline-urgent { font-family: var(--font-head); font-size: 11px; font-weight: 700; }
.mf-text-urgent-red { color: var(--brand-danger); font-weight: 700; }

/* Empty padded */
.mf-empty-padded { padding: 24px; }
.mf-empty-icon-lg { font-size: 24px; }

/* Grid 4-col variant */
.mf-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

/* Chat-specific inline overrides */
.mf-chat-send-btn { width: 36px; height: 36px; padding: 0; justify-content: center; }
.mf-chat-welcome-title { font-family: var(--font-head); font-size: 18px; font-weight: 900; margin-bottom: 8px; }

/* Button variants */
.mf-btn-ghost--compact { padding: 4px 8px; }
/* Classi referenziate dai template ma mai definite (esposizione, profilo, landing) */
.mf-btn-primary--compact { padding: 4px 10px; font-size: 12px; }
.mf-btn-secondary { background: var(--brand-surface-alt); color: var(--brand-text); font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; padding: 8px 16px; border: 1px solid var(--brand-border); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 5px; text-decoration: none; }
.mf-btn-secondary:hover { border-color: var(--brand-accent); color: var(--brand-accent); text-decoration: none; }
.mf-grid-2-top { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; align-items: start; }
.mf-mt-8 { margin-top: 8px; }
.mf-btn-danger { background: var(--brand-danger); }

/* ── Demo banner Brutus ── */
.demo-banner {
  background: var(--brand-surface-alt);
  color: var(--brand-muted);
  border-bottom: 1px solid var(--brand-border);
  position: sticky;
  top: var(--header-h, 40px);
  z-index: 1000;
}
.demo-banner-inner {
  margin-left: var(--sidebar-w, 200px);
}
body.app-auth.sidebar-collapsed .demo-banner-inner {
  margin-left: var(--sidebar-collapsed-w, 52px);
}
.demo-banner strong { color: var(--brand-text); }
.demo-banner-link { color: var(--brand-red); }
.demo-banner-link:hover { color: var(--brand-text); }

/* AI generation indicator — stile terminale Brutus */
.mf-ai-working {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.5px;
  color: var(--brand-muted);
}
.mf-ai-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--brand-accent);
  margin-right: 2px;
  animation: mf-blink 1.4s step-start infinite;
}
.mf-ai-dot:nth-child(2) { animation-delay: 0.2s; }
.mf-ai-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes mf-blink {
  50% { opacity: 0; }
}

/* ─── Utility cleanup inline-style (tickets, dashboard) ─── */
.mf-tabs--flat { margin-bottom: 0; border-bottom: none; }
.mf-col-id { width: 55px; }
.mf-col-sm { width: 120px; }
.mf-row-click { cursor: pointer; }
.mf-badge-new { margin-left: 6px; }
.mf-state-dot { font-size: 5px; }

/* ─── BP dashboard utility ─── */
.mf-progress--inline { width: 80px; display: inline-block; vertical-align: middle; }
.mf-step-count { font-size: 9px; margin-left: 4px; }
.mf-cell-action--right { text-align: right; white-space: nowrap; }
.mf-btn-action + .mf-btn-action { margin-left: 4px; }
.mf-icon-10 { font-size: 10px; }
.mf-link-plain { text-decoration: none; }
.mf-bpl-cards { padding: 8px; }
.mf-bpl-card { display: block; text-decoration: none; }
.mf-bpl-card-head { margin-bottom: 8px; }
.mf-bpl-card-title { font-size: 13px; }
.mf-bpl-meta-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.mf-bpl-foot { display: flex; align-items: center; gap: 8px; }
.mf-bpl-foot .mf-progress { flex: 1; }
.mf-bpl-foot-meta { font-size: 9px; color: var(--brand-muted); }
.mf-bpl-foot-meta--right { margin-left: auto; }

/* ════════════════════════════════════════════════════════════════
   UNIFICAZIONE BOTTONI LEGACY → ricetta MurphFin Unified (v3.7.0)
   I markup restano invariati (btn-fisit*, btn-adm-primary): qui si
   riallinea SOLO la pelle al design system — primario = accento
   viola, outline = ghost neutro. Success/danger restano semantici.
   ════════════════════════════════════════════════════════════════ */
.btn-fisit,
.app-auth .btn-fisit,
.btn-adm-primary {
  background: var(--brand-accent);
  color: #fff;
  border: none;
}
.btn-fisit:hover,
.app-auth .btn-fisit:hover,
.btn-adm-primary:hover {
  background: var(--brand-accent);
  opacity: 0.9;
  color: #fff;
}
.btn-fisit-outline,
.app-auth .btn-fisit-outline {
  border: 1px solid var(--brand-gray-200);
  color: var(--brand-muted);
  background: transparent;
}
.btn-fisit-outline:hover,
.app-auth .btn-fisit-outline:hover {
  background: transparent;
  border-color: var(--brand-gray-300);
  color: var(--brand-text);
}
.btn-check:checked + .btn-fisit-outline,
.btn-check:active + .btn-fisit-outline {
  background: var(--brand-accent);
  border-color: var(--brand-accent);
  color: #fff;
}
.btn-check:focus + .btn-fisit-outline {
  box-shadow: 0 0 0 2px var(--brand-accent-soft-20);
}

/* Badge bg-info (cyan chiaro): testo scuro in ENTRAMBI i temi — il bianco
   di Bootstrap su cyan è 1.96:1 (sweep contrasto 19/08). */
.badge.bg-info { color: var(--brand-info-on) !important; }

/* ════════════════════════════════════════════════════════════════
   SWEEP CONTRASTO 19/08 — round 3 (audit automatico stili calcolati)
   Tutti i casi qui sotto sono stati misurati in browser (rapporto
   WCAG su sfondo EFFETTIVO, composito alpha) su pubblico + area
   cliente + backoffice, tema chiaro e scuro.
   ════════════════════════════════════════════════════════════════ */

/* 1) `.text-dark` di Bootstrap è !important e viene ribaltato da
   `.text-dark { color: var(--brand-text) !important }` (necessario sui
   fondi scuri). Sui CHIP colorati però il testo deve restare scuro:
   in dark il crema finiva su ambra Bootstrap → 1.40:1. */
.badge.bg-warning.text-dark,
.badge.bg-info.text-dark { color: var(--brand-chip-ink) !important; }
/* NB: .bg-light NON va inclusa — in tema scuro --bs-light-rgb è rimappata
   su #181818, quindi il chip è SCURO e vuole il testo chiaro di default. */
/* Stesso motivo senza .text-dark: il giallo #ffc107 dell'utility Bootstrap
   (!important, vince sul nostro background) col bianco fa 1.63:1. */
.badge.bg-warning { color: var(--brand-chip-ink); }

/* 2) Card di selezione (btn-check checked) in tema SCURO: il testo
   secondario restava muted su fondo accent pieno → 1.56:1.
   (l'equivalente light è già in theme-light.css) */
.btn-check:checked + .btn-fisit-outline .text-muted,
.btn-check:active + .btn-fisit-outline .text-muted {
  color: var(--brand-on-accent-soft) !important;
}
.btn-check:checked + .btn-fisit-outline strong,
.btn-check:active + .btn-fisit-outline strong { color: #fff; }

/* 3) .btn-outline-info di Bootstrap: cyan #0dcaf0 su bianco = 1.96:1.
   Si sovrascrivono le sue CSS var così restano hover/active nativi. */
.btn-outline-info {
  --bs-btn-color: var(--brand-cyan);
  --bs-btn-border-color: var(--brand-cyan);
  --bs-btn-hover-bg: var(--brand-cyan);
  --bs-btn-hover-border-color: var(--brand-cyan);
  --bs-btn-hover-color: var(--brand-chip-ink);
  --bs-btn-active-bg: var(--brand-cyan);
  --bs-btn-active-border-color: var(--brand-cyan);
}

/* 4) Separatori decorativi troppo tenui (1.2:1): restano discreti ma visibili. */
.news-ticker-sep, .app-breadcrumb-sep, .mdt-status-sep { color: var(--brand-gray-400); }

/* 5) Etichette step wizard bloccati: opacity 0.45 + muted = 1.8:1. */
.pw-pbar-label--locked { opacity: 1; }

/* 7) Tab attiva (fondo accent pieno): il contatore restava muted → 1.20:1. */
.mf-tab.active .mf-tab-count { color: var(--brand-on-accent-soft); }

/* ===== css/responsive.css ===== */
/* MurphFin — responsive.css */


/* ── Layout responsive (header, sidebar, content) ── */

@media (max-width: 768px) {
  .news-ticker { margin: 0 10px; }
  .news-ticker-item { font-size: 0.72rem; }
}

@media (max-width: 768px) {
  .bo-nav a { padding: 6px 10px; font-size: 0.75rem; }
}


/* ── Wizard responsive ── */

@media print {
  .no-copy { display: none !important; }
  body::after { content: 'Stampa non autorizzata — murphfin.com'; font-size: 3rem; color: var(--overlay-dark-10); position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(-30deg); }
}


/* ── Main responsive (section 20) ── */

/* ═══════ 20. RESPONSIVE ═══════ */

@media (max-width: 991.98px) {
  .sidebar-toggle { display: block; }
  .sidebar-collapse-btn { display: none; }
  .app-sidebar { transform: translateX(-100%); }
  .app-sidebar.open { transform: translateX(0); box-shadow: 4px 0 24px var(--overlay-dark-12); }
  .sidebar-overlay.open { display: block; }
  .app-auth .app-content { margin-left: 0; }
  .app-auth.sidebar-collapsed .app-content { margin-left: 0; }
  .app-auth.sidebar-collapsed .footer-auth { left: 0; }
  .footer-auth { left: 0; }
  .app-auth .bp-ai-coach { left: 24px; }

  /* Public header nav */
  .app-header-nav { display: none; }
  .app-header-nav.open { display: flex; flex-direction: column; position: absolute; top: var(--header-h); right: 0; background: var(--brand-navy-dark); padding: 12px; border-radius: 0; box-shadow: none; border-bottom: 2px solid var(--brand-navy); min-width: 200px; z-index: 1050; }
  .header-mobile-toggle { display: block; }
}

@media (max-width: 768px) {
  .app-main { padding: 1.5rem 1rem; }
  .bp-card { padding: 20px; }
  .bp-wizard-header h2 { font-size: 1.3rem; }
  .pw-pbar-label { font-size: 0.58rem; }
  .pw-pbar { padding: 10px 12px; }
  .bp-download-box { flex-direction: column; align-items: stretch; text-align: center; }
  .bp-download-box__content { flex-direction: column; }
  .bp-download-box__actions { justify-content: center; }
  .bp-download-box__price { text-align: center; }

  /* Wizard wrapper full-width on tablet */
  .bp-wizard-wrapper { max-width: 100%; padding: 0 12px; }
}

@media (max-width: 576px) {
  /* ── Layout ── */
  .app-main { padding: 1rem 0.75rem; }

  /* ── Sidebar: ridotta su schermi stretti ── */
  .app-sidebar { width: 85vw; max-width: 280px; }

  /* ── Header logout: solo icona ── */
  .header-logout span { display: none; }

  /* ── Header search: compatta su mobile ── */
  .header-search-input { width: 140px; }
  .header-search-input:focus-within { width: 200px; }
  .header-search-results { width: 280px; }

  /* ── Footer auth: colonna ── */
  .footer-auth-inner { gap: 4px; }

  /* ── Tabelle: widths fluidi ── */
  .adm-table th, .adm-table td,
  .table th, .table td { font-size: 0.78rem; padding: 6px 8px; }
  .col-w-100 { width: auto; min-width: 70px; }
  .col-w-55 { width: auto; min-width: 40px; }
  .col-w-desc { min-width: 100px; }

  /* ── KPI cards: 2 colonne ── */
  .row.g-3 > [class*="col-md-3"] { flex: 0 0 50%; max-width: 50%; }

  /* ── AI Coach: full width ── */
  .bp-ai-coach { left: 12px !important; right: 12px; }
  .bp-ai-coach__toggle { width: 44px; height: 44px; font-size: 1.1rem; }
  .bp-ai-coach__panel {
    width: calc(100vw - 24px);
    max-width: 100%;
    left: 0;
    right: 0;
  }
  .bp-ai-coach__messages { max-height: 220px; }

  /* ── Wizard ── */
  .bp-wizard-wrapper { max-width: 100%; }
  .bp-step-container { padding-left: 0; padding-right: 0; }

  /* ── Select e input con width fisso ── */
  select[style*="width:320px"],
  select[style*="width:300px"] { width: 100% !important; }

  /* ── Chat AI ── */
  .chat-suggestions { gap: 4px; }
  .chat-suggestion { font-size: 0.72rem; padding: 4px 10px; }
  .chat-messages { max-height: calc(100vh - var(--header-h) - var(--footer-auth-h) - 240px); }
  .chat-msg { max-width: 92%; padding: 10px 12px; font-size: 0.84rem; }

  /* ── Share box ── */
  .bp-share-box { flex-direction: column; }
  .bp-share-url { max-width: 100%; }

  /* ── Cards e padding ── */
  .card-fisit.p-4 { padding: 1rem !important; }
  .card-fisit.p-5 { padding: 1.5rem !important; }

  /* ── Normativa tabs ── */
  .normativa-tab-btn { font-size: 0.75rem; padding: 5px 10px; }

  /* ── Knowledge AI cards ── */
  .kai-brand { font-size: 1.2rem; }

  /* Tables mf-*: override nel blocco dark-theme-responsive sotto (dopo 768px) */

  /* Hardcoded widths: force 100% on mobile */
  select[style*="max-width"], select[style*="width"] { max-width: 100% !important; width: 100% !important; }
  input[style*="width:"] { max-width: 100% !important; }

  /* Chat messages: more space on small screens */
  .chat-messages { max-height: calc(100vh - var(--header-h) - var(--footer-auth-h) - 200px); }
  .chat-msg { max-width: 95%; font-size: 11px; }

  /* KPI strip: compact font on phones */
  .mf-kpi-value { font-size: 1.1rem; }
  .mf-kpi-label { font-size: 0.6rem; }
  .mf-kai-number { font-size: 1.1rem; }

  /* AI Coach widget: full width on phone */
  .bp-ai-coach__panel { width: calc(100vw - 24px); max-width: 340px; }
  .bp-ai-coach { left: 12px; }

  /* 4-column grid: 2 columns on mobile */
  .mf-grid-2[style*="repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }

  /* Lavori in corso e header: override nel blocco dark-theme-responsive sotto */
  .news-ticker { display: none; }
  .header-logout { min-width: 44px; min-height: 44px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; }
}


/* ── Pages responsive ── */

@media (max-width: 991.98px) {
  .mdt-header { flex-direction: column; gap: 12px; }
  .mdt-sidebar { position: static; }
}

@media (max-width: 576px) {
  .mdt-doc-row, .mdt-scad-row { padding: 6px 14px; font-size: 0.8rem; }
  .mdt-card-head { padding: 12px 14px; }
  .mdt-card-footer { padding: 10px 14px; }
}

@media (max-width: 768px) {
  .page-hero { padding: 32px 16px; }
  .page-hero h1 { font-size: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  /* news-ticker: animazione rAF gestita da JS, non sovrascrive prefers-reduced-motion */
}

@media (max-width: 768px) {
  .bo-nav .dropdown-toggle { padding: 6px 10px; font-size: 0.75rem; }
}

@media (max-width: 768px) {
  .demo-banner-inner { margin-left: 0 !important; flex-direction: column; gap: 4px; font-size: 0.78rem; }
}

@media (max-width: 576px) {
  .dash-onboard-header { padding: 20px; }
  .dash-onboard-body { padding: 20px; }
}

@media (max-width: 768px) {
  body.public-area .lp-features-grid { grid-template-columns: 1fr; }
  body.public-area .lp-come-cta .btn { display: block; margin: 8px auto; width: 100%; max-width: 320px; }
  body.public-area .lp-come-cta .ms-3 { margin-left: 0 !important; }
}

/* ── Dark theme responsive + mf-* responsive ── */

@media (max-width: 768px) {
  .mf-kpi-strip--4, .mf-kpi-strip--5 { grid-template-columns: repeat(2, 1fr); }
  .mf-grid-2, .mf-grid-3 { grid-template-columns: 1fr; }
  .mf-page-header { flex-direction: column; gap: 10px; }
  .mf-table-container { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .mf-table { min-width: 600px; }
  .mf-page-subtitle { flex-direction: column; align-items: flex-start; gap: 4px; }
}

@media (max-width: 576px) {
  /* Tabella BP: min-width ridotto per phone (override del 600px sopra) */
  .mf-table { min-width: 480px; font-size: 0.75rem; }
  .mf-table th, .mf-table td { padding: 6px 8px; }

  /* Filtri tabella: stack verticale */
  .mf-table-filter-bar { flex-direction: column; gap: 6px; }
  .mf-table-search, .mf-table-filter { width: 100%; }

  /* Lavori in corso (mf-doc-row): stack verticale */
  .mf-doc-row { flex-wrap: wrap; padding: 10px 12px; gap: 6px; }
  .mf-mandato-info { flex-wrap: wrap; width: 100%; gap: 4px; }
  .mf-mandato-name { width: 100%; }
  .mf-flex-row-wide { width: 100%; flex-shrink: 1; }
  .mf-flex-row-tight { flex-shrink: 1; }
  .mf-doc-row .mf-progress { width: 50px; min-width: 0; }
  .mf-doc-row .mf-bando-badge,
  .mf-doc-row .mf-state-badge { font-size: 10px; padding: 2px 6px; }
}

@media (max-width: 480px) {
  /* Body font scaling */
  body.app-auth { font-size: 13px; }

  /* KPI strip: single column */
  .mf-kpi-strip, .mf-kpi-strip--4, .mf-kpi-strip--5 { grid-template-columns: 1fr; gap: 4px; }
  .mf-kpi-cell { padding: 10px 12px; flex-direction: row; align-items: center; gap: 10px; }

  /* Page header: stack fully */
  .mf-page-title { font-size: 20px; }
  .mf-greeting-name { font-size: 22px; }

  /* Card padding: reduce */
  .mf-card { padding: 12px; }

  /* Normativa tabs: smaller */
  .normativa-tab-btn { font-size: 0.65rem; padding: 4px 8px; }
}

@media (max-width: 768px) {
  body.app-auth .app-sidebar { left: calc(-1 * var(--sidebar-w)); }
  body.app-auth .app-sidebar.open { left: 0; }
  body.app-auth .app-content { margin-left: 0; }
  body.app-auth .footer-auth { left: 0; }
  body.app-auth .app-main { padding: 14px 12px 60px; }
}

/* ── Mobile UX hardening ──
   1. iOS no-zoom su focus input: font-size >= 16px
   2. Touch targets min 44x44 (WCAG 2.5.5)
   3. Backoffice tables: sticky header + scroll touch smooth
*/
@media (max-width: 768px) {
  /* iOS: evita zoom automatico su focus input */
  input[type="text"], input[type="email"], input[type="password"],
  input[type="number"], input[type="tel"], input[type="url"],
  input[type="search"], input[type="date"], textarea, select {
    font-size: 16px;
  }

  /* Touch targets: bottoni inline e icon-button con min altezza 44px */
  .mf-btn-action, .bo-btn-icon, .btn-adm-primary, .btn-adm-danger,
  .mf-btn-primary, .mf-btn-ghost, .btn-fisit, .btn-fisit-outline {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Backoffice: scroll tabelle con sticky header */
  .bo-table { min-width: 640px; }
  .bo-table thead th { position: sticky; top: 0; z-index: 2; background: var(--brand-surface); }

  /* Nav backoffice: scrollable horizontale su schermi stretti */
  .bo-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
  .bo-nav a { display: inline-block; }

  /* Breadcrumb: truncate elementi lunghi, no wrap */
  .mf-breadcrumb-list { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .mf-breadcrumb-item { flex-shrink: 0; }
}

@media (max-width: 576px) {
  /* Breadcrumb phone: hide intermediate, keep first + last */
  .mf-breadcrumb-item:not(:first-child):not(:last-child) {
    display: none;
  }
  .mf-breadcrumb-item:first-child + .mf-breadcrumb-item:last-child::before {
    content: "…";
  }

  /* Bottom-nav safe area (notch) */
  .footer-auth, .bp-ai-coach { padding-bottom: env(safe-area-inset-bottom, 0); }
}

/* ===== css/theme-light.css ===== */
/* MurphFin — theme-light.css */

/* ═══════════════════════════════════════════════════════
   Override specifici per il tema chiaro (body.theme-light).
   Le variabili sono già ribaltate in variables.css: qui
   stanno solo override di componenti che nel dark usano
   valori hardcoded o gradienti/shadow specifici.
   ═══════════════════════════════════════════════════════ */


/* ── Sidebar (light override) ── */
body.theme-light .app-sidebar {
  background: var(--brand-surface);
  border-right: 1px solid var(--brand-border);
}

body.theme-light .sidebar-section {
  border-top-color: var(--brand-border);
}

body.theme-light .sidebar-label {
  color: var(--brand-muted);
}
body.theme-light .sidebar-label:hover { color: var(--brand-text); }
body.theme-light .sidebar-chevron { color: var(--brand-muted); }

body.theme-light .sidebar-link {
  color: var(--brand-muted);
  border-left-color: transparent;
}

body.theme-light .sidebar-link:hover {
  color: var(--brand-text);
  background: var(--brand-surface-alt);
}

body.theme-light .sidebar-link.active {
  color: var(--brand-text);
  border-left: 3px solid var(--brand-accent);
  background: var(--brand-accent-glow);
}

body.theme-light .sidebar-user {
  color: var(--brand-muted);
}
body.theme-light .sidebar-user:hover {
  color: var(--brand-text);
  background: var(--brand-surface-alt);
}
body.theme-light .sidebar-avatar {
  background: var(--brand-surface-alt);
  color: var(--brand-muted);
}
body.theme-light .sidebar-user-name { color: var(--brand-text); }
body.theme-light .sidebar-user-email { color: var(--brand-muted); }

body.theme-light .sidebar-footer {
  border-top-color: var(--brand-border);
}

body.theme-light .sidebar-collapse-btn {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-muted);
}
body.theme-light .sidebar-collapse-btn:hover {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
}


/* ── Header ── */
body.theme-light .app-header {
  background: var(--brand-surface);
  border-bottom: 1px solid var(--brand-border);
}


/* ── Card ── */
body.theme-light .mf-card,
body.theme-light .card,
body.theme-light .bp-card,
body.theme-light .card-fisit {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}


/* ── Tabelle ── */
body.theme-light .mf-table thead,
body.theme-light table thead,
body.theme-light .mf-table-header {
  background: var(--brand-surface-alt);
}

body.theme-light .mf-table tbody tr:hover,
body.theme-light table tbody tr:hover {
  background: var(--brand-surface-alt);
}


/* ── Form ── */
body.theme-light .form-control,
body.theme-light .form-select,
body.theme-light .mf-form-input {
  background: var(--brand-surface);
  color: var(--brand-text);
  border-color: var(--brand-border);
}

body.theme-light .form-control::placeholder,
body.theme-light .form-select::placeholder {
  color: var(--brand-muted);
}

body.theme-light .form-control:focus,
body.theme-light .form-select:focus {
  border-color: var(--brand-accent);
  box-shadow: 0 0 0 3px var(--brand-accent-glow);
}


/* ── Modal ── */
body.theme-light .modal-content {
  background: var(--brand-surface);
  color: var(--brand-text);
  border-color: var(--brand-border);
}

body.theme-light .modal-header,
body.theme-light .modal-footer {
  border-color: var(--brand-border);
}


/* ── Alert / Badge Bootstrap override ── */
body.theme-light .alert {
  border-color: var(--brand-border);
}


/* ── KPI strip ── */
body.theme-light .mf-kpi-cell,
body.theme-light .mf-kpi-strip {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}


/* ── Global body text ── */
body.theme-light,
body.theme-light p,
body.theme-light li,
body.theme-light td,
body.theme-light th,
body.theme-light a,
body.theme-light .lead,
body.theme-light .small,
body.theme-light small {
  color: var(--brand-text);
}

body.theme-light a {
  color: var(--brand-accent);
}
body.theme-light a:hover {
  color: var(--brand-accent-light);
}

body.theme-light label,
body.theme-light .text-muted {
  color: var(--brand-muted) !important;
}


/* ── Footer ── */
body.theme-light .app-footer,
body.theme-light .footer-auth {
  background: var(--brand-surface);
  border-top: 1px solid var(--brand-border);
}

/* ── Scrollbar ── */
body.theme-light ::-webkit-scrollbar-track {
  background: var(--brand-surface-alt);
}
body.theme-light ::-webkit-scrollbar-thumb {
  background: var(--brand-muted);
}


/* ── Public grid texture — nascosta su chiaro ── */
body.theme-light.public-area::after {
  display: none;
}


/* ── Hero landing: background più chiaro su light ── */
body.theme-light.public-area .hero-landing {
  background: var(--brand-surface);
}
body.theme-light.public-area .hero-landing::after {
  background: linear-gradient(105deg, var(--brand-surface) 52%, var(--brand-accent-glow) 70%, var(--brand-cyan-soft-04) 100%);
}
body.theme-light.public-area .hero-landing.has-video::after {
  background: var(--theme-light-hero-gradient);
}
body.theme-light.public-area .hero-landing.has-video h1,
body.theme-light.public-area .hero-landing.has-video .lead { text-shadow: var(--theme-light-hero-text-shadow); }


/* ── Public header nav su light (solo shell anonima: vedi public-theme.css) ── */
body.theme-light.public-shell .app-header-nav a {
  color: var(--brand-muted);
}
body.theme-light.public-shell .app-header-nav a:hover {
  color: var(--brand-text);
}


/* ── Theme toggle button (pubblico) hover su light ── */
body.theme-light .theme-toggle-btn {
  border-color: var(--brand-border);
  color: var(--brand-muted);
}
body.theme-light .theme-toggle-btn:hover {
  color: var(--brand-accent);
  border-color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   HEADER — fix testi bianchi hardcoded
   ═══════════════════════════════════════════════════════ */

/* News ticker */
body.theme-light .news-ticker-item {
  color: var(--brand-muted);
}
body.theme-light a.news-ticker-item:hover {
  color: var(--brand-text);
}
body.theme-light .news-ticker-sep {
  /* --brand-border (#e2e8f0) su bianco = 1.23:1 → invisibile (audit 19/08) */
  color: var(--brand-gray-400);
}

/* Logout */
body.theme-light .header-logout {
  color: var(--brand-muted);
}
body.theme-light .header-logout:hover {
  color: var(--brand-text);
  background: var(--brand-surface-alt);
}

/* Logo */
body.theme-light .app-brand {
  color: var(--brand-text);
}
body.theme-light .app-brand:hover {
  color: var(--brand-text);
}

/* Sidebar toggle (mobile) */
body.theme-light .sidebar-toggle {
  color: var(--brand-muted);
}
body.theme-light .sidebar-toggle:hover {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
}

/* Mobile nav toggle */
body.theme-light .header-mobile-toggle {
  color: var(--brand-muted);
}
body.theme-light .header-mobile-toggle:hover {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
}


/* ═══════════════════════════════════════════════════════
   HERO LANDING — fix testi bianchi su sfondo chiaro
   ═══════════════════════════════════════════════════════ */

body.theme-light.public-area .hero-landing {
  color: var(--brand-text);
}
body.theme-light.public-area .hero-landing h1 {
  color: var(--brand-text);
}
body.theme-light.public-area .hero-landing .lead {
  color: var(--brand-muted);
}
body.theme-light.public-area .hero-landing .hero-badge {
  color: var(--brand-accent);
  background: var(--brand-accent-glow);
  border-color: var(--brand-accent-soft-20);
}
body.theme-light.public-area .hero-landing .btn-hero-outline {
  color: var(--brand-text);
  border-color: var(--brand-border);
}
body.theme-light.public-area .hero-landing .btn-hero-outline:hover {
  border-color: var(--brand-accent);
  background: var(--brand-accent-glow);
  color: var(--brand-accent);
}
body.theme-light.public-area .hero-landing .hero-hint {
  color: var(--brand-muted);
}

/* Hero pill (landing) */
body.theme-light.public-area .hero-pill {
  background: var(--brand-accent-glow);
  color: var(--brand-accent);
}
body.theme-light.public-area .hero-subtitle {
  color: var(--brand-muted);
}


/* ═══════════════════════════════════════════════════════
   BACKOFFICE — KPI card e dashboard
   ═══════════════════════════════════════════════════════ */

body.theme-light .bo-kpi-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
}
body.theme-light .bo-kpi-val {
  color: var(--brand-text);
}

/* Funnel bar — testo bianco OK su sfondo accent, ma wrapper scuro */
body.theme-light .funnel-bar-wrapper {
  background: var(--brand-surface-alt);
}
body.theme-light .funnel-value {
  color: var(--brand-accent);
}

/* Popover backoffice */
body.theme-light .bo-cell-popover {
  background: var(--brand-surface);
  box-shadow: 0 4px 16px var(--overlay-dark-10);
}


/* ═══════════════════════════════════════════════════════
   DROPDOWN MENU — fix sfondo/contrasto
   ═══════════════════════════════════════════════════════ */

body.theme-light .dropdown-menu {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}
body.theme-light .dropdown-item {
  color: var(--brand-text);
}
body.theme-light .dropdown-item:hover,
body.theme-light .dropdown-item:focus {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
}


/* ═══════════════════════════════════════════════════════
   PAGINATION — active page
   ═══════════════════════════════════════════════════════ */

body.theme-light .pagination-bar .page-link:hover {
  color: var(--brand-text);
}
body.theme-light .pagination-bar .page-item.active .page-link {
  background: var(--brand-accent);
  color: #fff;
}


/* ═══════════════════════════════════════════════════════
   TICKET FILTERS — active state
   ═══════════════════════════════════════════════════════ */

body.theme-light .ticket-filter-btn {
  background: var(--brand-surface);
}
body.theme-light .ticket-filter-btn:hover {
  border-color: var(--brand-accent);
  color: var(--brand-accent);
}
body.theme-light .ticket-filter-btn.active {
  background: var(--brand-accent);
  color: #fff;
  border-color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   NORMATIVA TABS — active state
   ═══════════════════════════════════════════════════════ */

body.theme-light .normativa-tab-btn.active {
  background: var(--brand-accent);
  color: #fff;
  border-color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   WIZARD — download box, AI coach
   ═══════════════════════════════════════════════════════ */

body.theme-light .bp-download-box__btn--primary {
  background: var(--brand-accent);
  color: #fff;
}
body.theme-light .bp-download-box__btn--primary:hover {
  background: var(--brand-accent-light);
  color: #fff;
}

/* AI coach chat: messaggi utente con sfondo scuro */
body.theme-light .bp-ai-coach__msg--user {
  background: var(--brand-accent);
  color: #fff;
}

/* Chat avatar AI */
body.theme-light .chat-msg--ai .chat-avatar {
  background: linear-gradient(135deg, var(--brand-accent), var(--brand-cyan));
}


/* ═══════════════════════════════════════════════════════
   MF-KPI — fix contrasto su sfondo chiaro
   ═══════════════════════════════════════════════════════ */

body.theme-light .mf-kpi-icon {
  background: var(--brand-surface-alt);
}

body.theme-light .mf-table-search {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}


/* ═══════════════════════════════════════════════════════
   BACKOFFICE NAV — hover/active con navy hardcoded
   ═══════════════════════════════════════════════════════ */

body.theme-light .bo-nav a:hover {
  color: var(--brand-accent);
  border-bottom-color: var(--brand-accent);
}
body.theme-light .bo-nav > a.bo-nav-active {
  color: var(--brand-accent);
  border-bottom-color: var(--brand-accent);
}
body.theme-light .bo-nav .dropdown-toggle:hover {
  color: var(--brand-accent);
  border-bottom-color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   PASSWORD TOGGLE — hover
   ═══════════════════════════════════════════════════════ */

body.theme-light .password-toggle:hover {
  color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   PRICING — header e card feat
   ═══════════════════════════════════════════════════════ */

/* Landing pricing header (gradient sfondo chiaro + testo bianco) */
body.theme-light.public-area .pricing-header,
body.theme-light.app-auth .pricing-header {
  color: var(--brand-text);
}

/* Pricing PR cards — featured header: sfondo chiaro, testo bianco → fix */
body.theme-light .pr-head--feat {
  color: var(--brand-text);
}
body.theme-light .pr-head--feat .pr-price-suffix,
body.theme-light .pr-head--feat .pr-equiv,
body.theme-light .pr-head--feat .pr-anchor {
  color: var(--brand-muted);
}
body.theme-light .pr-head--feat .pr-tiers {
  color: var(--brand-muted);
}

/* Pricing: target persona light override */
body.theme-light .pr-head--feat .pr-target {
  color: var(--brand-muted);
}
/* Pricing: divider nella card feat — su light lo sfondo non è scuro */
body.theme-light .pr-card--feat .pr-features-divider {
  color: var(--brand-accent-light);
  border-top-color: var(--brand-border);
}

/* Pricing: toggle light override */
body.theme-light .pr-toggle-btn {
  color: var(--brand-muted);
}

/* Pricing: price detail light override */
body.theme-light .pr-head--feat .pr-price-detail {
  color: var(--brand-muted);
}

/* Advisor card: sfondo scuro hardcoded è intenzionale, OK su light.
   Il gradient #0d1a36→#1a2f5e resta scuro, quindi testi bianchi OK. */


/* ═══════════════════════════════════════════════════════
   PRICING PAGE — fix testi bianchi su sfondo chiaro
   ═══════════════════════════════════════════════════════ */

/* Hero pricing */
body.theme-light.public-area .pr-hero h1,
body.theme-light.app-auth .pr-hero h1 {
  color: var(--brand-text);
}
body.theme-light.public-area .pr-hero .pr-sub,
body.theme-light.app-auth .pr-hero .pr-sub {
  color: var(--brand-muted);
}
body.theme-light.public-area .pr-hero .pr-proof,
body.theme-light.app-auth .pr-hero .pr-proof {
  color: var(--brand-muted);
}

/* Titoli sezioni pricing (confronto, FAQ) */
body.theme-light.public-area .pr-compare h3,
body.theme-light.public-area .pr-faq h3,
body.theme-light.app-auth .pr-compare h3,
body.theme-light.app-auth .pr-faq h3 {
  color: var(--brand-text);
}

/* CTA hint advisor (testo chiaro sotto bottone) */
body.theme-light .pr-cta-hint--advisor {
  color: var(--brand-muted);
}

/* Pricing header landing (vecchio layout) */
body.theme-light.public-area .pricing-header,
body.theme-light.app-auth .pricing-header {
  color: var(--brand-text);
}
body.theme-light.public-area .pricing-subtitle,
body.theme-light.app-auth .pricing-subtitle {
  color: var(--brand-muted);
}


/* ═══════════════════════════════════════════════════════
   LANDING — CTA navy, NVIDIA banner
   ═══════════════════════════════════════════════════════ */

/* CTA navy section — gradient diventa chiaro in light */
body.theme-light.public-area .cta-navy {
  color: var(--brand-text);
}
body.theme-light.public-area .cta-navy h2 {
  color: var(--brand-text);
}
body.theme-light.public-area .cta-navy p {
  color: var(--brand-muted);
}

/* NVIDIA banner — sfondo scuro intenzionale, preservato in light */
body.theme-light.public-area .lp-nvidia-banner {
  background: var(--gradient-dark-hero);
}
body.theme-light.public-area .lp-nvidia-banner .nv-text {
  color: var(--brand-on-accent-soft);
}
body.theme-light.public-area .lp-nvidia-banner .nv-badge {
  color: var(--brand-text-dark);
}


/* ═══════════════════════════════════════════════════════
   BANDI PAGE — hero testi bianchi
   ═══════════════════════════════════════════════════════ */

body.theme-light.public-area .bandi-hero {
  color: var(--brand-text);
}
body.theme-light.public-area .bandi-hero h1 {
  color: var(--brand-text);
}
body.theme-light.public-area .bandi-hero p {
  color: var(--brand-muted);
}

/* Bando CTA section — NIENTE override di colore: il blocco e il bottone
   hanno fondo ACCENT pieno (viola) anche in tema chiaro. Ridipingere il
   testo con brand-text/brand-muted dava slate su viola (1.20:1 sul
   paragrafo, 2.57:1 sul bottone) — audit contrasto 19/08. Il bianco
   arriva da public-landing.css. */


/* ═══════════════════════════════════════════════════════
   PRESS PAGE — hero testi bianchi
   ═══════════════════════════════════════════════════════ */

body.theme-light.public-area .press-hero {
  color: var(--brand-text);
}
body.theme-light.public-area .press-hero h1 {
  color: var(--brand-text);
}
body.theme-light.public-area .press-hero-sub {
  color: var(--brand-muted);
}


/* ═══════════════════════════════════════════════════════
   PARTNER PAGE — hero, nvidia, CTA testi bianchi
   ═══════════════════════════════════════════════════════ */

body.theme-light.public-area .partner-hero {
  color: var(--brand-text);
}
body.theme-light.public-area .partner-hero h1 {
  color: var(--brand-text);
}
body.theme-light.public-area .partner-hero-sub {
  color: var(--brand-muted);
}

/* NVIDIA section partner — gradient diventa chiaro */
body.theme-light.public-area .partner-nvidia-section {
  color: var(--brand-text);
}
body.theme-light.public-area .partner-nvidia-section h3 {
  color: var(--brand-text);
}
body.theme-light.public-area .partner-nvidia-section p {
  color: var(--brand-muted);
}

/* CTA finale partner — gradient diventa chiaro */
body.theme-light.public-area .partner-cta-section {
  color: var(--brand-text);
}
body.theme-light.public-area .partner-cta-section h3 {
  color: var(--brand-text);
}
body.theme-light.public-area .partner-cta-section p {
  color: var(--brand-muted);
}
body.theme-light.public-area .partner-cta-sla {
  color: var(--brand-muted);
}
body.theme-light.public-area .partner-cta-email {
  color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   PUBLIC SECTIONS — testi semi-trasparenti bianchi
   ═══════════════════════════════════════════════════════ */

/* Footer auth (mini footer) — l'SVG del badge NVIDIA è bianco by design:
   su light va portato a scuro, non lasciato senza filtro */
body.theme-light .footer-auth-nvidia-icon {
  filter: none;
  opacity: 0.55;
}


/* ═══════════════════════════════════════════════════════
   PUBLIC — promo card, platform CTA
   ═══════════════════════════════════════════════════════ */

body.theme-light.public-area .lp-promo-title {
  color: var(--brand-text);
}


/* ═══════════════════════════════════════════════════════
   ALERT — Bootstrap override per tema chiaro
   ═══════════════════════════════════════════════════════ */

body.theme-light .alert-info {
  background: var(--brand-accent-soft-06);
  color: var(--brand-accent-light);
  border-color: var(--brand-accent-soft-15);
}
body.theme-light .alert-warning {
  background: var(--brand-warning-bg);
  color: var(--brand-warning-text-dark);
  border-color: var(--brand-warning-soft-20);
}
body.theme-light .alert-danger {
  background: var(--brand-danger-bg);
  color: var(--brand-danger-dark);
  border-color: var(--brand-danger-soft-15);
}
body.theme-light .alert-success {
  background: var(--brand-success-bg);
  color: var(--brand-success-dark);
  border-color: var(--brand-success-soft-15);
}


/* ═══════════════════════════════════════════════════════
   ACCORDION (FAQ)
   ═══════════════════════════════════════════════════════ */

body.theme-light .accordion-item {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body.theme-light .accordion-button {
  background: var(--brand-surface);
  color: var(--brand-text);
}
body.theme-light .accordion-button:not(.collapsed) {
  background: var(--brand-surface-alt);
  color: var(--brand-accent);
}
body.theme-light .accordion-body {
  color: var(--brand-muted);
}


/* ═══════════════════════════════════════════════════════
   NAV TABS (analisi, wizard, generico)
   ═══════════════════════════════════════════════════════ */

body.theme-light .nav-tabs {
  border-bottom-color: var(--brand-border);
}
body.theme-light .nav-tabs .nav-link {
  color: var(--brand-muted);
}
body.theme-light .nav-tabs .nav-link:hover {
  color: var(--brand-text);
}
body.theme-light .nav-tabs .nav-link.active {
  color: var(--brand-accent);
  border-bottom-color: var(--brand-accent);
  background: transparent;
}

body.theme-light .mf-tabs .nav-link {
  color: var(--brand-muted);
}
body.theme-light .mf-tabs .nav-link.active {
  color: var(--brand-accent);
  border-bottom-color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   SIDEBAR — elementi extra
   ═══════════════════════════════════════════════════════ */

body.theme-light .sidebar-section-title {
  color: var(--brand-gray-400);
}
body.theme-light .sidebar-user-info {
  color: var(--brand-muted);
  border-top: 1px solid var(--brand-border);
}
body.theme-light .sidebar-user-info strong {
  color: var(--brand-text);
}
body.theme-light .header-search-input {
  background: var(--overlay-dark-06);
  border-color: var(--overlay-dark-10);
}
body.theme-light .header-search-input:focus-within {
  background: var(--overlay-dark-08);
  border-color: var(--brand-accent);
}
body.theme-light .header-search-input i {
  color: var(--overlay-dark-35);
}
body.theme-light .header-search-input input {
  color: var(--brand-text);
}
body.theme-light .header-search-input input::placeholder {
  color: var(--overlay-dark-30);
}
body.theme-light .header-search-results {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body.theme-light .sidebar-badge {
  background: var(--brand-accent-glow);
  color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   WIZARD — progress, info box, autosave
   ═══════════════════════════════════════════════════════ */

body.theme-light .wizard-progress .step.active {
  color: var(--brand-accent);
}
body.theme-light .wizard-progress .step.completed {
  color: var(--brand-success);
}
body.theme-light .bp-info-box {
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
  color: var(--brand-muted);
}
body.theme-light .wizard-autosave {
  color: var(--brand-muted);
}


/* ═══════════════════════════════════════════════════════
   PAYWALL
   ═══════════════════════════════════════════════════════ */

body.theme-light .paywall-overlay {
  background: var(--brand-surface-translucent);
}
body.theme-light .paywall-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  color: var(--brand-text);
}


/* ═══════════════════════════════════════════════════════
   PROGRESS BAR
   ═══════════════════════════════════════════════════════ */

body.theme-light .sparkline-bar,
body.theme-light .progress-bar-inline,
body.theme-light .progress-bar {
  background: var(--brand-accent);
}
body.theme-light .progress {
  background: var(--brand-border);
}


/* ═══════════════════════════════════════════════════════
   TOOLTIP
   ═══════════════════════════════════════════════════════ */

body.theme-light .tooltip-inner {
  background: var(--brand-text);
  color: var(--brand-surface);
}


/* ═══════════════════════════════════════════════════════
   DEMO BANNER
   ═══════════════════════════════════════════════════════ */

body.theme-light .demo-banner {
  background: var(--brand-warning-bg);
  color: var(--brand-warning-text-mid);
  border-bottom: 1px solid var(--brand-warning-soft-30);
}
body.theme-light .demo-banner a {
  color: var(--brand-danger);
}


/* ═══════════════════════════════════════════════════════
   LANDING — sezioni pubbliche generico
   ═══════════════════════════════════════════════════════ */

body.theme-light.public-area section h2,
body.theme-light.public-area section h3 {
  color: var(--brand-text);
}
body.theme-light.public-area section p {
  color: var(--brand-muted);
}

/* Feature cards landing */
body.theme-light.public-area .co-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}

/* NVIDIA section — sfondo scuro intenzionale, preservato anche in light.
   Il gradient #0a0a0a→#0d1f3c è un blocco visivo a sé: testi bianchi OK. */
body.theme-light .lp-nvidia-section {
  background: var(--gradient-dark-hero);
  border: 1px solid var(--brand-nvidia-soft-15);
  color: #fff;
}


/* ═══════════════════════════════════════════════════════
   MANDATO DETAIL
   ═══════════════════════════════════════════════════════ */

body.theme-light .mdt-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}


/* ═══════════════════════════════════════════════════════
   BANCABILITÀ SCORE
   ═══════════════════════════════════════════════════════ */

body.theme-light .bpd-score-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
}


/* ═══════════════════════════════════════════════════════
   CARD HEADER
   ═══════════════════════════════════════════════════════ */

body.theme-light .card-header,
body.theme-light .mf-card-header,
body.theme-light .adm-card-header {
  background: var(--brand-surface-alt);
  border-bottom-color: var(--brand-border);
  color: var(--brand-text);
}


/* ═══════════════════════════════════════════════════════
   TOAST / FLASH
   ═══════════════════════════════════════════════════════ */

body.theme-light .flash-toast {
  background: var(--brand-surface);
  color: var(--brand-text);
  border: 1px solid var(--brand-border);
  box-shadow: 0 4px 12px var(--overlay-dark-08);
}


/* ═══════════════════════════════════════════════════════
   PAGE-LINK (pagination Bootstrap)
   ═══════════════════════════════════════════════════════ */

body.theme-light .page-link {
  color: var(--brand-accent);
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body.theme-light .page-item.active .page-link {
  background: var(--brand-accent);
  border-color: var(--brand-accent);
  color: #fff;
}

/* Cookie modal — light theme */
body.theme-light .cookie-modal-card {
  background: #ffffff;
  border-color: var(--brand-border);
}
body.theme-light .cookie-modal-text {
  color: var(--brand-muted);
}
body.theme-light .cookie-btn-secondary {
  border-color: var(--brand-border);
  color: var(--brand-text);
}
body.theme-light .cookie-btn-secondary:hover {
  border-color: var(--brand-accent);
  color: var(--brand-accent);
}
body.theme-light .cookie-pref-label {
  color: var(--brand-text);
}
body.theme-light .cookie-pref-label small {
  color: var(--brand-muted);
}
body.theme-light .cookie-toggle-track {
  background: var(--brand-border);
  border-color: var(--brand-border);
}

/* ── Fix tema chiaro 19/08/2026 ──────────────────────────────
   1) Bottoni-anchor con sfondo pieno: la regola generica
      `body.theme-light a { color: var(--brand-accent) }` vinceva per
      specificità sul bianco dei bottoni → etichetta invisibile
      (es. "+ Business Plan" in dashboard). */
body.theme-light a.mf-btn-primary,
body.theme-light a.mf-btn-primary:hover,
body.theme-light a.btn-adm-primary,
body.theme-light a.btn-adm-primary:hover,
body.theme-light a.btn-adm-success,
body.theme-light a.btn-adm-success:hover,
body.theme-light a.btn-adm-danger,
body.theme-light a.btn-adm-danger:hover {
  color: #fff;
}

/* 2) Badge neutri (bg-secondary): l'utility Bootstrap (!important)
      imponeva #6c757d di sfondo mentre il testo finiva quasi dello
      stesso grigio → chip illeggibili (STATO/RUOLO nel backoffice).
      In chiaro: chip tenue con testo scuro. */
body.theme-light .badge.bg-secondary {
  background: var(--brand-surface-alt) !important;
  color: var(--brand-muted) !important;
  border: 1px solid var(--brand-border);
}

/* Guardia anti-flash col default chiaro: prima che lo script a inizio
   <body> applichi body.theme-light, l'html porta .theme-light-pre. */
/* Letterali voluti: qui body.theme-light non e' ancora applicata, quindi
   --brand-bg risolverebbe al valore DARK di :root (= il flash da evitare). */
html.theme-light-pre body { background: var(--theme-light-bg-antiflash); color: var(--theme-light-text-antiflash); }

/* Badge su superficie neutra: in dark il testo bianco di Bootstrap va bene,
   in chiaro --brand-surface-alt diventa grigio tenue → serve testo scuro. */
body.theme-light .badge.bg-surface-alt { color: var(--brand-text); }

/* Hero landing: variante chiara dell'illustrazione (l'SVG scuro ha fondo
   #0f0f1a hardcoded e stonava sul tema chiaro). */
body.theme-light.public-area .hero-landing::before {
  background-image: url('/static/img/hero-charts-light.svg');
}

/* ── Asset invertiti per il dark che restavano bianchi su bianco ──
   (segnalazione utente: logo Revolut in pagina prezzi; sweep completo
   di tutti i filter invert senza contro-regola light, 19/08/2026) */
/* NB specificità: theme-light.css è caricato PRIMA di public-landing.css,
   quindi servono selettori con body.theme-light.public-area/.app-auth
   (0-4-1) per battere le regole dark (0-3-1). */
body.theme-light.public-area .pr-pay .payment-logo-main,
body.theme-light.app-auth .pr-pay .payment-logo-main {
  /* logo nero originale, senza inversione */
  filter: none;
  opacity: 0.9;
}
body.theme-light.public-area .pr-pay .payment-logos img,
body.theme-light.app-auth .pr-pay .payment-logos img {
  /* riga circuiti uniforme monocromatica scura (i sorgenti SVG hanno
     colori misti: brightness(0) li porta tutti a nero) */
  filter: brightness(0);
  opacity: 0.7;
}

/* Badge ufficiale NVIDIA Inception Program: MAI filtri o ricolorazioni. */
body.theme-light img[src*="nvidia-inception-badge"] {
  filter: none;
  opacity: 1;
}
body.theme-light .lp-nvidia-banner img[src*="nvidia-inception-badge"],
body.theme-light .bo-nvidia-img[src*="nvidia-inception-badge"] {
  filter: none;
  opacity: 1;
}
/* Chevron accordion (Bootstrap: icona scura di default) */
body.theme-light.public-area .accordion-button::after { filter: none; }
body.theme-light .accordion-button::after { filter: none; }
/* Bottone chiudi modali: icona nera di default, niente inversione */
body.theme-light .btn-close { filter: none; opacity: 0.55; }

/* ── Sweep contrasto area loggata 19/08 (segnalazione "testi su lilla") ──
   1) Card di selezione (btn-check checked): la regola generica
      body.theme-light label {!important} tingeva di muted il testo su
      sfondo accent pieno → illeggibile (es. Nuovo Business Plan). */
body.theme-light .btn-check:checked + .btn-fisit-outline,
body.theme-light .btn-check:active + .btn-fisit-outline {
  color: #fff !important;
}
body.theme-light .btn-check:checked + .btn-fisit-outline .text-muted,
body.theme-light .btn-check:active + .btn-fisit-outline .text-muted {
  color: var(--brand-on-accent-soft) !important;
}
/* 2) Bottoni download step 9: la regola anchor generica li tingeva
      d'accent sopra fondo pieno (viola su verde). */
body.theme-light a.bp-download-box__btn,
body.theme-light a.bp-download-box__btn:hover,
body.theme-light button.bp-download-box__btn {
  color: #fff;
}
/* 3) Ambra su fondo chiaro: amber-700 per stare sopra 4.5:1. */
body.theme-light .mf-meta-warning,
body.theme-light .mf-kpi-value--amber {
  color: var(--brand-amber-ink);
}

/* Sweep contrasto 19/08 — round 2 (verificato con composito alpha):
   a) card selezionata: anche <strong> interno (una regola generica lo
      ri-scuriva) — bianco su accent per TUTTI i discendenti; */
body.theme-light .btn-check:checked + .btn-fisit-outline strong,
body.theme-light .btn-check:active + .btn-fisit-outline strong {
  color: #fff !important;
}
/* b) sidebar: il link ATTIVO ereditava span bianco dal dark → bianco su
      glow lilla, di fatto invisibile; */
body.theme-light .sidebar-link.active span {
  color: var(--brand-text);
}
body.theme-light .sidebar-link.active i {
  color: var(--brand-accent);
}
/* c) chip bando ambra (Voucher ACN): amber-700 su chip chiaro. */
body.theme-light .mf-bando-vacn {
  color: var(--brand-amber-ink);
}


/* ═══════════════════════════════════════════════════════
   SWEEP CONTRASTO 19/08 — round 3 (audit stili calcolati)
   Valori misurati in browser sullo sfondo effettivo.
   ═══════════════════════════════════════════════════════ */

/* Chip pubblici su tinta chiara: le varianti "brand" restano sotto 4.5:1
   in tema chiaro (cyan 3.27, gold 2.91) → tonalità 700. */
body.theme-light.public-area .badge.bg-success,
body.theme-light.public-area .badge.bg-info,
body.theme-light.public-area .press-badge--novita { color: var(--brand-cyan-ink); }
body.theme-light.public-area .badge.bg-warning { color: var(--brand-amber-ink); }
/* Chip "Correzione" del changelog: rosso-300 su rosa = 1.60:1. */
body.theme-light.public-area .press-badge--correzione { color: var(--brand-red-ink); }

/* Ambra su fondo chiaro (#f59e0b = 2.15:1 su bianco) → amber-700. */
body.theme-light .bo-kpi-value--warning,
body.theme-light .mf-badge-premium,
body.theme-light .mf-label-phase-amber,
body.theme-light .mf-banner-title { color: var(--brand-amber-ink); }

/* Verde NVIDIA (#76B900 = 2.41:1 su bianco): solo il TESTO scende a una
   tonalità leggibile; il logo e il badge a fondo pieno restano brand. */
body.theme-light .mf-badge-nvidia,
body.theme-light .kai-brand-ai,
body.theme-light .text-nvidia { color: var(--brand-nvidia-ink); }

/* Oro brand (#D97706) su tinta chiara: 2.8-2.9:1 → ambra 700. */
body.theme-light.public-area .kai-brand-ai,
body.theme-light.public-area .pr-nvidia,
body.theme-light.app-auth .pr-nvidia,
body.theme-light.public-area .press-hero-pill--nvidia { color: var(--brand-amber-ink); }
/* Verde NVIDIA come TESTO sul pill dell'hero landing (2.13:1). */
body.theme-light .lp-nvidia-hero-link span { color: var(--brand-nvidia-ink); }

/* .btn-outline-info: in chiaro il cyan brand (#0891B2) sta a 3.3:1 → ink 700. */
body.theme-light .btn-outline-info {
  --bs-btn-color: var(--brand-cyan-ink);
  --bs-btn-border-color: var(--brand-cyan-ink);
  --bs-btn-hover-bg: var(--brand-cyan-ink);
  --bs-btn-hover-border-color: var(--brand-cyan-ink);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--brand-cyan-ink-strong);
  --bs-btn-active-border-color: var(--brand-cyan-ink-strong);
}

/* Hero desktop: poster del video come sfondo (deve stare DOPO la regola hero-charts-light.svg) */
@media (min-width: 992px) {
  body.theme-light.public-area .hero-landing::before { background-image: url('/static/img/hero-poster.webp'); }
  body.theme-light.public-area .hero-landing::after {
    background: var(--theme-light-hero-gradient);
  }
  body.theme-light.public-area .hero-landing h1,
  body.theme-light.public-area .hero-landing .lead { text-shadow: var(--theme-light-hero-text-shadow); }
}

/* Nota societaria CTA partner: in light il fondo e' chiaro */
body.theme-light.public-area .partner-cta-legal { color: var(--brand-muted); }
body.theme-light.public-area .partner-cta-legal a { color: var(--brand-accent); }

/* ===== css/public-theme.css ===== */
/* MurphFin — public-theme.css */

/* ═══════════════════════════════════════════════════════
   UNIFIED: il tema scuro pubblico coincide ora con :root
   (vedi variables.css). Questo file mantiene solo le
   specificità dell'area pubblica: grid texture di sfondo
   e stacking del contenuto sopra la texture.
   ═══════════════════════════════════════════════════════ */


/* Le regole che vestono la SHELL (header, ticker, footer, link globali,
   texture di sfondo) valgono solo per il visitatore anonimo: le pagine
   pubbliche aperte da un utente loggato portano `public-area` sul body
   per ereditare gli stili di CONTENUTO (e i fix del tema chiaro), ma
   devono restare dentro la shell dell'app.
   Percio' la shell e' scopata su `body.public-shell`, classe che riceve
   SOLO il visitatore anonimo (base.html). NON usare `:not(.app-auth)`:
   alza la specificita' e ruba il colore ai bottoni-anchor pieni
   (regressione intercettata dall'audit il 19/08/2026). */

/* ── Grid texture di sfondo viola (solo area pubblica, tema scuro) ── */

body.public-shell::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(var(--brand-accent-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--brand-accent-grid) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
}

/* Tema chiaro — niente grid viola */
body.theme-light.public-area::after {
  display: none;
}

/* Contenuto sopra la texture */
body.public-shell .app-content {
  position: relative;
  z-index: 1;
}


/* ── Tipografia public-area (heading più grandi) ── */

body.public-area h1,
body.public-area h2 {
  font-family: var(--font-head);
  font-weight: 800;
  color: var(--brand-text);
  letter-spacing: -0.03em;
}

body.public-area h3,
body.public-area h4,
body.public-area h5,
body.public-area h6 {
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--brand-text);
}

body.public-shell a {
  color: var(--brand-accent-light);
}
body.public-shell a:hover {
  color: var(--brand-cyan);
}

/* ===== css/public-components.css ===== */
/* MurphFin — public-components.css */


/* ── SECTION 3: HEADER ────────────────────────────── */

body.public-shell .app-header {
  background: var(--brand-surface);
  border-bottom: 1px solid var(--brand-border);
}

body.public-shell .app-brand {
  font-family: var(--font-head);
  font-weight: 900;
  font-size: 1.3rem;
  letter-spacing: -0.03em;
}
body.public-shell .app-brand span {
  color: var(--brand-accent);
}

body.public-shell .app-header-nav a {
  font-family: var(--font-body);
  color: var(--brand-muted);
  border-radius: 0;
}
body.public-shell .app-header-nav a:hover {
  color: var(--brand-text);
  background: var(--brand-accent-glow);
}

body.public-shell .app-header-register {
  background: var(--brand-accent);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  border: none;
}
body.public-shell .app-header-register:hover {
  background: var(--brand-accent-light);
}

body.public-shell .news-ticker-item { color: var(--brand-muted); }
body.public-shell .news-ticker-sep  { color: var(--brand-border); }


/* ── SECTION 4: BUTTONS ───────────────────────────── */

body.public-area .btn-fisit {
  background: var(--brand-accent);
  color: #fff;
  border: none;
  border-radius: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 10px 24px;
}
body.public-area .btn-fisit:hover {
  background: var(--brand-accent-light);
  color: #fff;
}

body.public-area .btn-fisit-outline {
  background: transparent;
  border: 1px solid var(--mp-border-hi);
  color: var(--brand-muted);
  border-radius: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 9px 22px;
}
body.public-area .btn-fisit-outline:hover {
  background: var(--brand-accent-glow);
  color: var(--brand-text);
}


/* ── SECTION 5: CARDS ─────────────────────────────── */

body.public-area .card,
body.public-area .card-fisit,
body.public-area .plat-card,
body.public-area .plat-feat-card,
body.public-area .plat-bando-card,
body.public-area .kai-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}

body.public-area .card-fisit:hover,
body.public-area .plat-feat-card:hover {
  border-color: var(--mp-border-hi);
}

body.public-area .card-fisit .card-header,
body.public-area .card-header {
  background: var(--brand-surface-alt);
  border-bottom-color: var(--brand-border);
  color: var(--brand-text);
}

body.public-area .plat-card {
  border-top-color: var(--brand-accent);
}
body.public-area .plat-icon-box {
  background: var(--brand-accent-glow);
}
body.public-area .plat-icon-box i    { color: var(--brand-accent-light); }
body.public-area .plat-card-title    { color: var(--brand-text); }
body.public-area .plat-check-item i  { color: var(--brand-accent-light); }

body.public-area .plat-feat-icon  { color: var(--brand-cyan); }
body.public-area .plat-feat-title { color: var(--brand-text); }
body.public-area .plat-feat-desc  { color: var(--brand-muted); }

body.public-area .plat-bando-card {
  border-left-color: var(--brand-accent);
}
body.public-area .plat-bando-card:hover {
  box-shadow: 0 4px 16px var(--brand-accent-shadow-12);
}

body.public-area .kai-card--ai  { border-top-color: var(--brand-cyan); }
body.public-area .kai-brand     { font-family: var(--font-head); color: var(--brand-accent-light); }
body.public-area .kai-brand-fin { color: var(--brand-text); }
body.public-area .kai-brand-ai  { color: var(--brand-gold); }
body.public-area .kai-status    { color: var(--brand-gold); font-family: var(--font-mono); }


/* ── SECTION 6: BADGES ────────────────────────────── */

body.public-area .badge {
  border-radius: 0;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
/* !important necessario: le utility .bg-* di Bootstrap sono !important e
   vincevano sul background del chip, lasciando però il NOSTRO colore testo
   → cyan su verde Bootstrap = 1.23:1 (audit contrasto 19/08). */
body.public-area .badge.bg-primary   { background: var(--brand-accent-glow) !important; color: var(--brand-accent-light); }
body.public-area .badge.bg-success   { background: var(--mp-cyan-dim) !important; color: var(--brand-cyan); }
body.public-area .badge.bg-warning   { background: var(--brand-gold-soft-12) !important; color: var(--brand-gold); }
body.public-area .badge.bg-secondary { background: var(--brand-surface-alt) !important; color: var(--brand-muted); }
body.public-area .badge.bg-info      { background: var(--mp-cyan-dim) !important; color: var(--brand-cyan); }

/* Inchiostro dei chip pubblici — serve !important, e serve per tema.
   `dark-components.css` forza `.badge.bg-warning.text-dark { color:
   var(--brand-chip-ink) !important }`: regola giusta quando il chip e' il
   GIALLO PIENO di Bootstrap, ma qui sopra il fondo e' stato ridipinto come
   ambra al 12%. In tema scuro quel 12% su #111111 compone un marrone quasi
   nero (~rgb(45,38,19)) e l'inchiostro scuro ci finisce sopra a 1.1:1: il
   badge "Chiuso" di /bandi era di fatto invisibile. Il `!important` di la'
   batte la specificita', quindi va ribattuto con un `!important` di qua.
   In tema chiaro lo stesso 12% compone crema (~rgb(255,247,229)) e l'ambra
   piena scenderebbe a 2,99:1: li' serve la tonalita' 700 (--brand-amber-ink,
   4,74:1). La regola light e' seconda e piu' specifica, quindi vince dove
   deve. Misurato sul fondo EFFETTIVO, non su quello dichiarato. */
body.public-area .badge.bg-warning { color: var(--brand-gold) !important; }
body.theme-light.public-area .badge.bg-warning { color: var(--brand-amber-ink) !important; }


/* ── SECTION 7: TABLES ────────────────────────────── */

body.public-area .table thead th {
  background: var(--brand-surface-alt);
  color: var(--brand-muted);
  border-bottom-color: var(--brand-border);
}
body.public-area .table tbody td {
  border-bottom-color: var(--brand-border);
  color: var(--brand-text);
}
body.public-area .table tbody tr:hover {
  background: var(--brand-surface-alt);
}

body.public-area thead.table-light th {
  background: var(--brand-surface-alt);
  color: var(--brand-muted);
}

body.public-area .plat-compare-table {
  border-color: var(--brand-border);
}
body.public-area .plat-compare-table thead th {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
  border-bottom-color: var(--brand-accent);
}
body.public-area .plat-compare-table thead th:first-child {
  background: var(--brand-surface);
}
body.public-area .plat-compare-table thead th.plat-compare-hl {
  background: var(--brand-accent);
}
body.public-area .plat-compare-table tbody td {
  border-bottom-color: var(--brand-border);
  color: var(--brand-text);
}
body.public-area .plat-compare-table tbody td:first-child {
  color: var(--brand-text);
}
body.public-area .plat-compare-table tbody tr:nth-child(even) {
  background: var(--brand-surface);
}
body.public-area .plat-compare-table tbody tr:hover {
  background: var(--brand-surface-alt);
}
body.public-area .plat-compare-yes { color: var(--brand-accent-light); }
body.public-area .plat-compare-no  { color: var(--brand-muted); }


/* ── SECTION 8: FORMS ─────────────────────────────── */

body.public-area .form-control,
body.public-area .form-select {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}
body.public-area .form-control:focus,
body.public-area .form-select:focus {
  border-color: var(--brand-accent);
  box-shadow: 0 0 0 3px var(--brand-accent-glow);
}
body.public-area .form-control::placeholder {
  color: var(--brand-muted);
}
body.public-area .form-label {
  color: var(--brand-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

body.public-area .form-check-input {
  background-color: var(--brand-surface-alt);
  border-color: var(--mp-border-hi);
  border-width: 2px;
}
body.public-area .form-check-input:checked {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
}
body.public-area .form-check-input:focus {
  box-shadow: 0 0 0 3px var(--brand-accent-glow);
  border-color: var(--brand-accent);
}
body.public-area .form-switch .form-check-input {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2364748B'/%3e%3c/svg%3e");
}
body.public-area .form-switch .form-check-input:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}


/* ── SECTION 9: PAGE HERO, PAGE INTRO, SECTION TITLES */

body.public-area .page-hero {
  background: linear-gradient(135deg, var(--brand-surface) 0%, var(--brand-surface-alt) 100%);
  border-bottom: 1px solid var(--brand-border);
}
body.public-area .page-hero h1 {
  font-family: var(--font-head);
  font-weight: 900;
}
body.public-area .page-hero p { color: var(--brand-muted); }

body.public-area .page-intro h1,
body.public-area .page-intro h2 { color: var(--brand-text); }
body.public-area .page-intro p   { color: var(--brand-muted); }

body.public-area .red-bar {
  background: var(--brand-gradient);
  height: 2px;
  width: 60px;
}

body.public-area .section-title {
  font-family: var(--font-head);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 8px;
}
body.public-area .section-sub {
  color: var(--brand-muted);
  max-width: 580px;
  font-size: 0.92rem;
  margin: 10px auto 26px;
}

body.public-area .feat-hero {
  background: linear-gradient(135deg, var(--brand-surface) 0%, var(--brand-surface-alt) 100%);
  border-bottom: 1px solid var(--brand-border);
}
body.public-area .feat-hero h1    { font-family: var(--font-head); font-weight: 900; }
body.public-area .feat-hero p     { color: var(--brand-muted); }
body.public-area .feat-section h2 { color: var(--brand-text); }
body.public-area .feat-section h2 i { color: var(--brand-accent-light); }
body.public-area .feat-item       { color: var(--brand-text); }
body.public-area .feat-item i     { color: var(--brand-cyan); }
body.public-area .feat-divider    { border-top-color: var(--brand-border); }
body.public-area .feat-more       { background: var(--brand-surface); border-color: var(--brand-border); }
body.public-area .feat-more h3    { color: var(--brand-text); }
body.public-area .feat-more p     { color: var(--brand-muted); }
body.public-area .feat-cta        { background: var(--brand-surface-alt); }


/* ── SECTION 10: LANDING PAGE (lp-*) ─────────────── */

body.public-area .lp-perchi-bar { background: var(--brand-surface); border-color: var(--brand-border); }
body.public-area .lp-perchi-icon  { color: var(--brand-accent-light); }
body.public-area .lp-perchi-title { color: var(--brand-text); }
body.public-area .lp-perchi-desc  { color: var(--brand-muted); }

body.public-area .lp-step-num   { background: var(--brand-accent); color: #fff; }
body.public-area .lp-step-title { color: var(--brand-text); }
body.public-area .lp-step-desc  { color: var(--brand-muted); }
body.public-area .lp-steps-connector { background: var(--brand-border); }

body.public-area .lp-btn-navy,
body.public-area .lp-btn-white-cta {
  background: var(--brand-accent);
  color: #fff;
  border-radius: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}
body.public-area .lp-btn-navy:hover,
body.public-area .lp-btn-white-cta:hover {
  background: var(--brand-accent-light);
  color: #fff;
}

body.public-area .lp-btn-outline-navy {
  border-color: var(--mp-border-hi);
  color: var(--brand-muted);
  background: transparent;
  border-radius: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}
body.public-area .lp-btn-outline-navy:hover {
  background: var(--brand-accent-glow);
  color: var(--brand-text);
}

body.public-area .lp-come-cta-btns { width: 340px; max-width: 100%; }

body.public-area .lp-chat-mockup {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body.public-area .lp-chat-bubble-ai   { background: var(--brand-surface-alt); color: var(--brand-text); }
body.public-area .lp-chat-bubble-user { background: var(--brand-accent-glow); color: var(--brand-text); }
body.public-area .lp-ai-text h4           { color: var(--brand-text); }
body.public-area .lp-ai-feature-title     { color: var(--brand-text); }
body.public-area .lp-ai-feature-icon      { background: var(--brand-accent-glow); }
body.public-area .lp-ai-feature-icon i    { color: var(--brand-accent-light); }
body.public-area .lp-ai-feature-icon--green   { background: var(--mp-cyan-dim); }
body.public-area .lp-ai-feature-icon--green i { color: var(--brand-cyan); }
body.public-area .lp-ai-feature-icon--blue    { background: var(--brand-accent-glow); }
body.public-area .lp-ai-feature-icon--blue i  { color: var(--brand-accent-light); }
body.public-area .lp-ai-feature-icon--navy    { background: var(--brand-accent-glow); }
body.public-area .lp-ai-feature-icon--navy i  { color: var(--brand-accent-light); }

/* ── NVIDIA flow icon — dynamic color via CSS var ── */
body.public-area .lp-nvidia-flow-icon {
  background: color-mix(in srgb, var(--icon-color, var(--brand-accent)) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--icon-color, var(--brand-accent)) 25%, transparent);
}
body.public-area .lp-nvidia-flow-icon i {
  color: var(--icon-color, var(--brand-accent-light));
  font-size: 0.9rem;
}
body.public-area .lp-nvidia-flow-icon--1 { --icon-color: var(--brand-blue); }
body.public-area .lp-nvidia-flow-icon--2 { --icon-color: var(--brand-accent); }
body.public-area .lp-nvidia-flow-icon--3 { --icon-color: var(--brand-nvidia); }
body.public-area .lp-nvidia-flow-icon--4 { --icon-color: var(--brand-warning); }
body.public-area .lp-nvidia-flow-icon--5 { --icon-color: var(--brand-danger); }

body.public-area .lp-nvidia-wrap {
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 50%, var(--brand-surface) 100%);
  border: 1px solid var(--mp-border-cyan);
}
body.public-area .lp-nvidia-metric-val { font-family: var(--font-mono); color: var(--brand-gold); }

body.public-area .lp-feature-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body.public-area .lp-feature-card:hover  { border-color: var(--mp-border-hi); }
body.public-area .lp-feature-icon        { color: var(--brand-accent-light); }
body.public-area .lp-feature-title       { color: var(--brand-text); }
body.public-area .lp-feature-list li     { color: var(--brand-muted); }
body.public-area .lp-feature-list li::before { color: var(--brand-cyan); }
body.public-area .lp-feature-more        { color: var(--brand-accent-light); }

body.public-area .lp-hero-stats       { color: var(--brand-muted); }
body.public-area .lp-hero-stats strong { color: var(--brand-gold); font-family: var(--font-mono); }

body.public-area .lp-promo-card   { background: var(--brand-surface); border-color: var(--brand-border); }
body.public-area .lp-promo-header { background: var(--brand-surface-alt); }
body.public-area .lp-promo-title  { color: #fff; }
body.public-area .lp-promo-text   { color: var(--brand-text); }
body.public-area .lp-promo-code-box   { background: var(--brand-surface-alt); border-color: var(--mp-border-hi); }
body.public-area .lp-promo-code-value { color: var(--brand-gold); font-family: var(--font-mono); }
body.public-area .lp-promo-cta {
  background: var(--brand-accent);
  border-radius: 0;
  font-family: var(--font-mono);
  letter-spacing: 0.8px;
  text-transform: uppercase;
}


/* ── SECTION 11: PLATFORM CTA, ICON BOXES, CTA BOX ─ */

body.public-area .plat-cta {
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
}
body.public-area .plat-cta-title { font-family: var(--font-head); color: #fff; }
body.public-area .plat-cta-sub   { color: var(--brand-muted); }

body.public-area .plat-btn-white,
body.public-area .plat-btn-red {
  background: var(--brand-accent);
  color: #fff;
  border-radius: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}
body.public-area .plat-btn-white {
  background: transparent;
  border: 1px solid var(--mp-border-hi);
  color: var(--brand-text);
}

body.public-area .plat-step-title { color: var(--brand-text); }
body.public-area .plat-step-desc  { color: var(--brand-muted); }

body.public-area .cta-box {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  border-left-color: var(--brand-accent);
}

body.public-area .icon-box--navy  { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .icon-box--blue  { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .icon-box--green { background: var(--mp-cyan-dim); color: var(--brand-cyan); }
body.public-area .icon-box--red   { background: var(--brand-accent-glow); color: var(--brand-accent-light); }


/* ── SECTION 12: FOOTER ───────────────────────────── */

body.public-shell .fisit-footer {
  background: var(--brand-surface);
  border-top: 1px solid var(--brand-border);
}
body.public-shell .fisit-footer-bar-top {
  height: 1px;
  background: var(--brand-gradient);
}

/* ── Local Partner ── */
.cons-card { display: flex; flex-direction: column; }
.cons-logo-wrap { height: 60px; display: flex; align-items: center; }
.cons-logo { max-height: 60px; max-width: 180px; object-fit: contain; }
.cons-logo-placeholder { width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; color: var(--brand-muted); background: var(--brand-surface-alt); }
.cons-contacts { font-size: 0.85rem; }
.cons-contact-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px; color: var(--brand-text); }
.cons-contact-row a { color: var(--brand-accent-light); text-decoration: none; }
.cons-contact-row a:hover { text-decoration: underline; }
.cons-contact-icon { width: 14px; text-align: center; color: var(--brand-muted); font-size: 0.8rem; flex-shrink: 0; }
.cons-badge { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.5px; text-transform: uppercase; color: var(--brand-accent-light); border: 1px solid var(--brand-border); padding: 3px 10px; }
.cons-hero-sub { max-width: 640px; }
.cons-benefit-icon { color: var(--brand-accent-light); }
.cons-filter-select { max-width: 300px; }
.cons-city-label { color: var(--brand-accent-light); }


/* ── SECTION 12b: FOOTER v2 (27/08/2026) — pannello petrolio, riga istituzionale ── */
body.public-shell .fisit-footer.mf-footer {
  background: var(--footer-bg);
  color: var(--footer-text);
  border-top: 0;
}
body.public-shell .mf-footer .fisit-footer-bar-top { height: 3px; background: linear-gradient(90deg, var(--footer-accent) 0%, var(--footer-accent-deep) 100%); }
body .fisit-footer.mf-footer .container { max-width: none; padding: 0 var(--page-gutter, 24px); }
body .fisit-footer.mf-footer a { transition: color 0.2s; }
body .fisit-footer.mf-footer a.brand-link { color: var(--footer-ink); text-decoration-color: var(--footer-link-underline); }
body .fisit-footer.mf-footer a.brand-link:hover { color: var(--footer-accent); }

body .mf-footer .mf-footer__cta { border-bottom: 1px solid var(--footer-border); padding: 26px 0; }
body .mf-footer .mf-footer__cta .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
body .mf-footer .mf-footer__cta-title { font-family: var(--font-logo); font-size: 1.25rem; font-weight: 800; color: var(--footer-ink); letter-spacing: -0.02em; margin-bottom: 2px; }
body .mf-footer .mf-footer__cta p { margin: 0; font-size: 0.86rem; color: var(--footer-secondary); }
body .mf-footer .mf-footer__cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
body .mf-footer .mf-footer__btn { font-size: 0.82rem; font-weight: 700; padding: 10px 22px; border-radius: 0; letter-spacing: 0.02em; }
body .mf-footer .mf-footer__btn--solid, body.public-shell .mf-footer .mf-footer__btn--solid { background: var(--footer-ink); color: var(--footer-bg); border: 1px solid var(--footer-ink); }
body .mf-footer .mf-footer__btn--solid:hover, body.public-shell .mf-footer .mf-footer__btn--solid:hover { background: var(--footer-accent); border-color: var(--footer-accent); color: var(--footer-bg); }
body .mf-footer .mf-footer__btn--outline, body.public-shell .mf-footer .mf-footer__btn--outline { background: transparent; color: var(--footer-ink); border: 1px solid var(--footer-meta); }
body .mf-footer .mf-footer__btn--outline:hover, body.public-shell .mf-footer .mf-footer__btn--outline:hover { border-color: var(--footer-ink); color: var(--footer-ink); background: var(--footer-hover); }

body .mf-footer .mf-footer__grid { display: grid; grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding: 48px 0 40px; }
body .mf-footer .mf-footer__logo { font-family: var(--font-logo); font-size: 26px; font-weight: 800; color: var(--footer-ink); letter-spacing: -0.5px; }
body .mf-footer .mf-footer__logo span { color: var(--footer-accent); }
body .mf-footer .mf-footer__desc { font-size: 0.94rem; line-height: 1.6; color: var(--footer-text); max-width: 440px; margin: 12px 0 20px; }
body .mf-footer .mf-footer__legal-id { font-size: 0.8rem; line-height: 1.8; color: var(--footer-secondary); }
body .mf-footer .mf-footer__legal-label { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--footer-legal); }
body .mf-footer .mf-footer__legal-id strong { color: var(--footer-ink); font-weight: 600; }
body .mf-footer .mf-footer__legal-id a { color: var(--footer-link); text-decoration: none; }
body .mf-footer .mf-footer__legal-id a:hover { color: var(--footer-ink); }
body .mf-footer .mf-footer__social { display: flex; gap: 10px; margin-top: 18px; }
body .mf-footer .mf-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--footer-icon-border); color: var(--footer-icon); font-size: 13px; text-decoration: none; }
body .mf-footer .mf-footer__social a:hover { color: var(--footer-bg); background: var(--footer-accent); border-color: var(--footer-accent); }
body .mf-footer .mf-footer__heading { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--footer-accent); margin: 6px 0 16px; }
body .mf-footer .mf-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
body .mf-footer .mf-footer__links a, body .mf-footer .mf-footer__links button { font-size: 0.86rem; color: var(--footer-links-secondary); text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; }
body .mf-footer .mf-footer__links a:hover, body .mf-footer .mf-footer__links button:hover { color: var(--footer-ink); }
body .mf-footer .mf-footer__version { margin-top: 18px; font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--footer-meta); }

body .mf-footer .mf-footer__inst { border-top: 1px solid var(--footer-border); padding: 16px 0; }
body .mf-footer .mf-footer__inst-inner { display: flex; align-items: center; justify-content: center; gap: 12px 36px; flex-wrap: wrap; }
body .mf-footer .mf-footer__inst-item { display: inline-flex; align-items: center; gap: 9px; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--footer-inst); text-decoration: none; }
body .mf-footer .mf-footer__inst-item i { color: var(--footer-accent); font-size: 0.85rem; }
body .mf-footer .mf-footer__inst-item .nv-inception-badge { height: 36px; width: auto; }

body .mf-footer .mf-footer__bottom { border-top: 1px solid var(--footer-border); padding: 16px 0; font-size: 0.74rem; color: var(--footer-bottom); }
body .mf-footer .mf-footer__bottom .container { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; }
body .mf-footer .mf-footer__langs { display: flex; align-items: center; gap: 14px; }
body .mf-footer .mf-footer__langs a { color: var(--footer-secondary); text-decoration: none; letter-spacing: 0.08em; font-weight: 600; }
body .mf-footer .mf-footer__langs a:hover { color: var(--footer-ink); }
body .mf-footer .mf-footer__langs .mf-footer__reviews { margin-left: 14px; padding-left: 18px; border-left: 1px solid var(--footer-border-light); letter-spacing: 0; font-weight: 500; }
body .mf-footer .mf-footer__langs .mf-footer__reviews i { font-size: 0.65rem; margin-left: 3px; }

@media (max-width: 991px) {
  body .mf-footer .mf-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding: 40px 0 32px; }
  body .mf-footer .mf-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 576px) {
  body .mf-footer .mf-footer__grid { grid-template-columns: 1fr; }
  body .mf-footer .mf-footer__cta .container, body .mf-footer .mf-footer__bottom .container { flex-direction: column; align-items: flex-start; }
  body .mf-footer .mf-footer__inst-inner { justify-content: flex-start; gap: 12px 22px; }
}

/* ===== css/public-landing.css ===== */
/* MurphFin — public-landing.css */


/* ═══════════════════════════════════════════════════════
   SECTION 13: TEMPLATE INLINE STYLES — MOVED HERE
   All classes previously in <style> blocks inside
   the 7 public Jinja2 templates.
   ═══════════════════════════════════════════════════════ */


/* ── LANDING: hero-landing ────────────────────────── */

body.public-area .hero-landing {
  position: relative;
  color: #fff;
  padding: 80px var(--page-gutter, 42px);
  /* full-bleed: annulla padding del main (2rem sopra, gutter ai lati) */
  margin: -2rem calc(-1 * var(--page-gutter, 12px)) 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--brand-bg);
}
body.public-area .hero-landing::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 45%;
  background: url('/static/img/hero-charts.svg') center/cover no-repeat;
  z-index: 0;
}
body.public-area .hero-landing::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(105deg, var(--brand-bg) 52%, rgba(11, 85, 99, 0.12) 70%, rgba(6, 182, 212, 0.08) 100%);
  z-index: 1;
}
/* Video di sfondo (vedi landing/_hero_video.html): stesso livello del ::before (SVG),
   ma dipinto sopra perche' figlio; l'overlay ::after (z-index 1) garantisce il contrasto del testo. */
body.public-area .hero-landing .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.9s ease;
  pointer-events: none;
}
body.public-area .hero-landing .hero-video.is-ready { opacity: 1; }
/* Desktop: il poster (primo fotogramma del video) e' lo sfondo fin dal primo paint,
   cosi' il video parte sopra un'immagine identica, senza salto dal grafico SVG. */
@media (min-width: 992px) {
  body.public-area .hero-landing::before {
    width: 100%;
    background: url('/static/img/hero-poster.webp') center/cover no-repeat;
  }
  body.public-area .hero-landing::after {
    background: linear-gradient(100deg, rgba(10, 10, 10, 0.86) 0%, rgba(10, 10, 10, 0.72) 38%, rgba(10, 10, 10, 0.38) 62%, rgba(11, 85, 99, 0.22) 100%);
  }
  body.public-area .hero-landing h1,
  body.public-area .hero-landing .lead { text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35); }
}
/* Con il video attivo l'overlay resta opaco sotto il testo (col-lg-7 ≈ 58%) e
   scherma comunque il lato destro: il filmato e' chiaro e affollato. */
body.public-area .hero-landing.has-video::after {
  /* velatura continua: densa sotto il testo, quasi nulla a destra, cosi' il video si legge */
  background: linear-gradient(100deg, rgba(10, 10, 10, 0.86) 0%, rgba(10, 10, 10, 0.72) 38%, rgba(10, 10, 10, 0.38) 62%, rgba(11, 85, 99, 0.22) 100%);
}
body.public-area .hero-landing.has-video h1,
body.public-area .hero-landing.has-video .lead { text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35); }
@media (prefers-reduced-motion: reduce) {
  body.public-area .hero-landing .hero-video { display: none; }
}
body.public-area .hero-landing .container {
  position: relative;
  z-index: 2;
}
body.public-area .hero-landing h1 {
  font-size: 2.4rem;
  line-height: 1.18;
  color: #fff;
  font-weight: 800;
  margin-bottom: 26px;
}
body.public-area .hero-landing .lead {
  color: rgba(255, 255, 255, 0.72);
  font-size: 1.02rem;
  line-height: 1.618;
  margin-bottom: 42px;
}
body.public-area .hero-landing .hero-badge {
  display: inline-block;
  background: rgba(11, 85, 99, 0.15);
  border: 1px solid rgba(11, 85, 99, 0.25);
  color: rgba(255, 255, 255, 0.9);
  padding: 6px 16px;
  border-radius: 0;
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 26px;
}
body.public-area .hero-landing .btn-hero {
  background: var(--brand-accent);
  color: #fff;
  font-weight: 700;
  border-radius: 0;
  padding: 14px 32px;
  font-size: 1rem;
  border: 2px solid var(--brand-accent);
  line-height: 1.5;
}
body.public-area .hero-landing .btn-hero-outline {
  line-height: 1.5;
}
body.public-area .hero-landing .btn-hero:hover {
  background: var(--brand-accent-light);
  color: #fff;
}
body.public-area .hero-landing .btn-hero-outline {
  background: transparent;
  color: #fff;
  font-weight: 600;
  border-radius: 0;
  padding: 14px 32px;
  font-size: 1rem;
  border: 2px solid rgba(255, 255, 255, 0.3);
}
body.public-area .hero-landing .btn-hero-outline:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}
body.public-area .hero-landing .hero-hint {
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.82rem;
  margin-top: 16px;
}

@media (max-width: 991px) {
  body.public-area .hero-landing {
    padding: 42px var(--page-gutter, 26px) 80px;
  }
  body.public-area .hero-landing::before {
    width: 100%;
    opacity: 0.15;
  }
  body.public-area .hero-landing::after {
    background: linear-gradient(180deg, rgba(3, 7, 18, 0.92) 0%, rgba(3, 7, 18, 0.85) 100%);
  }
}


/* ── LANDING: social proof bar ────────────────────── */

body.public-area .social-proof-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--brand-border);
  border-radius: 0;
  overflow: hidden;
  margin-top: -42px;
  position: relative;
  z-index: 2;
}
body.public-area .social-proof-bar .sp-cell {
  background: var(--brand-surface);
  padding: 18px 16px;
  text-align: center;
  transition: background 0.15s;
}
body.public-area .social-proof-bar .sp-cell:hover {
  background: var(--brand-surface-alt);
}
body.public-area .social-proof-bar .sp-value {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--brand-text);
  line-height: 1;
}
body.public-area .social-proof-bar .sp-label {
  font-size: 0.7rem;
  color: var(--brand-muted);
  margin-top: 5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media (max-width: 576px) {
  body.public-area .social-proof-bar {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ── LANDING: sections ────────────────────────────── */

body.public-area .lp-section {
  padding: 42px 0;
}
body.public-area .lp-section-bg {
  /* full-bleed sul gutter dell'area pubblica */
  background: var(--brand-surface-alt);
  margin: 0 calc(-1 * var(--page-gutter, 12px));
  padding: 42px var(--page-gutter, 12px);
  border-radius: 0;
}


/* ── LANDING: step numbers ────────────────────────── */

body.public-area .step-number {
  width: 56px;
  height: 56px;
  background: var(--brand-accent);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}


/* ── LANDING: use case icons ──────────────────────── */

body.public-area .use-case-icon {
  width: 52px;
  height: 52px;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 16px;
}
body.public-area .uc-blue   { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .uc-accent { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .uc-green  { background: var(--mp-cyan-dim);    color: var(--brand-cyan); }
body.public-area .uc-purple { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .uc-red    { background: var(--brand-accent-glow); color: var(--brand-accent-light); }


/* ── LANDING: preview cards ───────────────────────── */

body.public-area .preview-card {
  border-radius: 0;
  overflow: hidden;
  border: 1px solid var(--brand-border);
}
body.public-area .preview-card img {
  width: 100%;
  height: auto;
  display: block;
}
body.public-area .preview-text h4 { color: var(--brand-text); }
body.public-area .preview-text p  { color: var(--brand-muted); margin-bottom: 16px; }
body.public-area .preview-text li { color: var(--brand-muted); margin-bottom: 6px; }


/* ── LANDING: feature grid ────────────────────────── */

body.public-area .feature-grid .feature-item {
  padding: 26px;
  border-radius: 0;
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  height: 100%;
}
body.public-area .feature-grid .feature-item:hover {
  border-color: var(--brand-accent);
}
body.public-area .feature-grid .feature-item i {
  color: var(--brand-accent-light);
  font-size: 1.3rem;
}
body.public-area .feature-grid .feature-item strong {
  color: var(--brand-text);
}
body.public-area .feature-grid .feature-item small {
  color: var(--brand-muted);
}


/* ── LANDING: pricing cards ───────────────────────── */

body.public-area .pricing-card {
  border: 2px solid var(--brand-border);
  border-radius: 0;
  overflow: hidden;
  transition: border-color 0.15s;
  background: var(--brand-surface);
}
body.public-area .pricing-card:hover {
  border-color: var(--brand-accent);
}
body.public-area .pricing-card--premium {
  border-color: var(--brand-accent);
}
body.public-area .pricing-card--premium:hover {
  border-color: var(--brand-accent-light);
}
body.public-area .pricing-header {
  color: #fff;
  padding: 32px 26px;
  text-align: center;
  position: relative;
}
body.public-area .pricing-header--base {
  background: linear-gradient(135deg, var(--brand-surface-alt) 0%, var(--brand-surface) 100%);
}
body.public-area .pricing-header--premium {
  background: linear-gradient(135deg, var(--brand-surface-alt) 0%, var(--brand-surface) 50%, var(--brand-accent) 150%);
}
body.public-area .pricing-price {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
}
body.public-area .pricing-price small {
  font-size: 0.35em;
  font-weight: 400;
  opacity: 0.7;
}
body.public-area .pricing-body {
  padding: 32px 26px;
  color: var(--brand-text);
}
body.public-area .pricing-body li {
  padding: 6px 0;
  color: var(--brand-text);
}
body.public-area .pricing-body li i {
  width: 20px;
  text-align: center;
}
body.public-area .pricing-tier-pill {
  display: inline-block;
  background: rgba(255, 255, 255, 0.15);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 0;
  margin-bottom: 10px;
}
body.public-area .pricing-subtitle {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.85rem;
  margin: 4px 0 0;
}
body.public-area .pricing-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--brand-accent);
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  padding: 5px 14px;
}
body.public-area .pricing-desc {
  color: var(--brand-muted);
  font-size: 0.88rem;
  margin-bottom: 16px;
}
body.public-area .pricing-check { color: var(--brand-cyan); }
body.public-area .pricing-star  { color: var(--brand-accent-light); }
body.public-area .pricing-gift  { color: var(--brand-accent-light); }
body.public-area .btn-pricing-base {
  background: var(--brand-accent);
  color: #fff;
  font-weight: 600;
  border-radius: 0;
}
body.public-area .btn-pricing-base:hover {
  background: var(--brand-accent-light);
  color: #fff;
}
body.public-area .btn-pricing-premium {
  background: var(--brand-accent);
  color: #fff;
  font-weight: 700;
  border-radius: 0;
}
body.public-area .btn-pricing-premium:hover {
  background: var(--brand-accent-light);
  color: #fff;
}


/* ── LANDING: "Cosa Ottieni" grid (co-*) ──────────── */

body.public-area .co-grid {
  display: grid;
  /* 6 celle: colonne che dividono 6 (mai auto-fit → 5+1 sugli schermi larghi) */
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--brand-border);
  border-radius: 0;
  overflow: hidden;
}
body.public-area .co-cell {
  background: var(--brand-surface);
  padding: 16px 18px;
  position: relative;
  transition: background 0.15s;
}
body.public-area .co-cell:hover {
  background: var(--brand-surface-alt);
}
body.public-area .co-icon {
  width: 32px;
  height: 32px;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  margin-bottom: 8px;
}
body.public-area .co-icon--blue   { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .co-icon--green  { background: var(--mp-cyan-dim); color: var(--brand-cyan); }
body.public-area .co-icon--amber  { background: rgba(251, 191, 36, 0.10); color: var(--brand-gold); }
body.public-area .co-icon--purple { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .co-icon--red    { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .co-icon--navy   { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .co-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--brand-text);
  margin-bottom: 3px;
}
body.public-area .co-desc {
  font-size: 0.74rem;
  color: var(--brand-muted);
  line-height: 1.35;
  margin-bottom: 6px;
}
body.public-area .co-checks {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
body.public-area .co-check {
  font-size: 0.7rem;
  color: var(--brand-muted);
  display: flex;
  align-items: center;
  gap: 5px;
}
body.public-area .co-check::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}
body.public-area .co-check--blue::before   { background: var(--brand-accent-light); }
body.public-area .co-check--green::before  { background: var(--brand-cyan); }
body.public-area .co-check--amber::before  { background: var(--brand-gold); }
body.public-area .co-check--purple::before { background: var(--brand-accent-light); }
body.public-area .co-check--red::before    { background: var(--brand-accent-light); }
body.public-area .co-check--navy::before   { background: var(--brand-accent-light); }
body.public-area .co-badge-ai {
  position: absolute;
  top: 8px;
  right: 8px;
  background: var(--brand-accent);
  color: #fff;
  font-size: 0.58rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 0;
  letter-spacing: 0.04em;
}

@media (max-width: 768px) {
  body.public-area .co-grid {
    grid-template-columns: 1fr;
  }
}


/* ── LANDING: bandi grid (bn-*) ───────────────────── */

body.public-area .bn-grid {
  display: grid;
  /* 12 card: 2 / 3 / 4 colonne, mai 5 */
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
body.public-area .bn-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-left: 3px solid var(--brand-accent);
  border-radius: 0;
  padding: 14px 16px;
  text-decoration: none;
  color: var(--brand-text);
  transition: border-color 0.15s;
}
body.public-area .bn-card:hover {
  border-left-color: var(--brand-accent-light);
  color: var(--brand-text);
}
body.public-area .bn-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
body.public-area .bn-dot--green { background: var(--brand-cyan); }
body.public-area .bn-badge {
  font-size: 0.64rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 0;
  flex-shrink: 0;
  letter-spacing: 0.03em;
}
body.public-area .bn-badge--blue   { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .bn-badge--purple { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .bn-badge--orange { background: rgba(251, 191, 36, 0.10); color: var(--brand-gold); }
body.public-area .bn-body {
  flex: 1;
  min-width: 0;
}
body.public-area .bn-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--brand-text);
}
body.public-area .bn-desc {
  font-size: 0.72rem;
  color: var(--brand-muted);
  line-height: 1.3;
  margin-top: 1px;
}
body.public-area .bn-tags {
  display: flex;
  gap: 4px;
  margin-top: 5px;
  flex-wrap: wrap;
}
body.public-area .bn-tag {
  font-size: 0.62rem;
  border: 1px solid var(--brand-border);
  padding: 1px 6px;
  border-radius: 0;
  color: var(--brand-muted);
}
body.public-area .bn-amount {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--brand-gold);
  font-family: var(--font-mono);
  white-space: nowrap;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  body.public-area .bn-grid {
    grid-template-columns: 1fr;
  }
}


/* ── LANDING: LP pricing (lp-price-*) ─────────────── */

body.public-area .lp-pricing-wrap {
  display: flex;
  gap: 12px;
  justify-content: center;
  max-width: 640px;
  margin: 0 auto;
}
body.public-area .lp-pricing-wrap--3 {
  max-width: 1200px;
}
body.public-area .lp-price-card {
  flex: 1;
  border: 1px solid var(--brand-border);
  border-radius: 0;
  padding: 20px 16px;
  background: var(--brand-surface);
}
body.public-area .lp-price-card--featured {
  border: 2px solid var(--brand-accent);
}
body.public-area .lp-price-pill {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 0;
  margin-bottom: 8px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
body.public-area .lp-price-pill--gray {
  background: var(--brand-surface-alt);
  color: var(--brand-muted);
}
body.public-area .lp-price-pill--blue {
  background: var(--brand-accent);
  color: #fff;
}
body.public-area .lp-price-pill--navy {
  background: var(--brand-accent);
  color: #fff;
}
body.public-area .lp-price-amount {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--brand-text);
  line-height: 1;
  margin-bottom: 12px;
}
body.public-area .lp-price-amount span {
  font-size: 0.38em;
  font-weight: 400;
  color: var(--brand-muted);
}
body.public-area .lp-price-list {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
}
body.public-area .lp-price-list li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 0.78rem;
  color: var(--brand-text);
  padding: 3px 0;
}
body.public-area .lp-price-chk {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-top: 1px;
}
body.public-area .lp-price-chk--blue circle  { fill: var(--brand-accent); }
body.public-area .lp-price-chk--slate circle { fill: var(--brand-muted); }
body.public-area .lp-price-chk--navy circle  { fill: var(--brand-accent); }
body.public-area .lp-price-cta {
  font-weight: 600;
  border-radius: 0;
  padding: 9px 14px;
  font-size: 0.84rem;
}
body.public-area .lp-price-cta--secondary {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
  border: 1px solid var(--brand-border);
}
body.public-area .lp-price-cta--secondary:hover {
  background: var(--brand-accent-glow);
  color: var(--brand-text);
}
body.public-area .lp-price-cta--primary {
  background: var(--brand-accent);
  color: #fff;
  border: none;
}
body.public-area .lp-price-cta--primary:hover {
  background: var(--brand-accent-light);
  color: #fff;
}

@media (max-width: 640px) {
  body.public-area .lp-pricing-wrap {
    flex-direction: column;
  }
}


/* ── LANDING: bando card links ────────────────────── */

body.public-area .bando-card-link {
  text-decoration: none;
}
body.public-area .bando-card-link:hover .card-fisit {
  border-color: var(--brand-accent);
}
body.public-area .bando-card-link .card-fisit {
  transition: border-color 0.15s;
}


/* ── LANDING: NVIDIA banner ───────────────────────── */

body.public-area .lp-nvidia-banner {
  margin: 26px calc(-1 * var(--page-gutter, 12px)) 0;
  padding: 18px 28px;
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 60%, var(--brand-surface) 100%);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
body.public-area .lp-nvidia-banner img {
  height: 36px;
  width: auto;
}
body.public-area .lp-nvidia-banner .nv-text {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.4;
}
body.public-area .lp-nvidia-banner .nv-text strong {
  color: var(--brand-gold);
}
body.public-area .lp-nvidia-banner .nv-badge {
  display: inline-block;
  background: var(--brand-gold);
  /* bianco su oro = 1.67:1 in tema scuro (audit 19/08): testo scuro */
  color: var(--brand-text-dark);
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  padding: 4px 12px;
  border-radius: 0;
}

@media (max-width: 576px) {
  body.public-area .lp-nvidia-banner {
    padding: 14px 18px;
    gap: 12px;
    text-align: center;
    flex-direction: column;
  }
  body.public-area .lp-nvidia-banner .nv-text {
    font-size: 0.8rem;
  }
}


/* ── LANDING: CTA navy ────────────────────────────── */

body.public-area .cta-navy {
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
  margin: 0 calc(-1 * var(--page-gutter, 12px));
  padding: 68px var(--page-gutter, 12px);
  border-radius: 0;
  color: #fff;
}
body.public-area .cta-navy h2 {
  color: #fff;
  margin-bottom: 16px;
}
body.public-area .cta-navy .cta-sub {
  color: var(--brand-muted);
  max-width: 540px;
  margin: 0 auto 42px;
}


/* ── LANDING: dev-by ──────────────────────────────── */

body.public-area .dev-by {
  padding: 42px 0 26px;
}


/* ── LANDING: responsive ──────────────────────────── */

@media (max-width: 768px) {
  body.public-area .lp-perchi {
    flex-wrap: wrap;
  }
}

@media (max-width: 576px) {
  body.public-area .lp-steps {
    flex-direction: column;
    gap: 20px;
  }
  body.public-area .lp-steps-line {
    display: none;
  }
  body.public-area .lp-section-bg,
  body.public-area .cta-navy {
    padding: 32px 20px;
  }
}

@media (max-width: 768px) {
  body.public-area .lp-nvidia-flow {
    flex-wrap: wrap;
    justify-content: center;
  }
  body.public-area .lp-nvidia-metrics {
    flex-wrap: wrap;
  }
}


/* ═══════════════════════════════════════════════════════
   PRICING PAGE (pages/pricing.html)
   ═══════════════════════════════════════════════════════ */

body.public-area .pr-hero, body.app-auth .pr-hero {
  padding: 56px 0 32px;
  text-align: center;
}
body.public-area .pr-hero h1, body.app-auth .pr-hero h1 {
  font-size: 2.25rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
}
body.public-area .pr-hero .pr-sub, body.app-auth .pr-hero .pr-sub {
  max-width: 600px;
  margin: 16px auto 0;
  color: var(--brand-muted);
  font-size: 1.05rem;
  line-height: 1.6;
}
body.public-area .pr-hero .pr-proof, body.app-auth .pr-hero .pr-proof {
  margin-top: 20px;
  font-size: 0.9rem;
  color: var(--brand-muted);
}
body.public-area .pr-hero .pr-proof .pr-stars, body.app-auth .pr-hero .pr-proof .pr-stars {
  color: var(--brand-gold);
  letter-spacing: 2px;
}

/* Pricing: add-on bar */
body.public-area .pr-addon-bar, body.app-auth .pr-addon-bar {
  max-width: 580px;
  margin: 0 auto 28px;
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.08) 0%, rgba(251, 191, 36, 0.04) 100%);
  border: 2px solid rgba(251, 191, 36, 0.35);
  border-radius: 0;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}
body.public-area .pr-addon-bar:hover, body.app-auth .pr-addon-bar:hover {
  border-color: var(--brand-gold);
}
body.public-area .pr-addon-bar-icon, body.app-auth .pr-addon-bar-icon {
  font-size: 1.3rem;
  color: var(--brand-gold);
  flex-shrink: 0;
}
body.public-area .pr-addon-bar-body, body.app-auth .pr-addon-bar-body {
  flex: 1;
  min-width: 0;
}
body.public-area .pr-addon-bar-title, body.app-auth .pr-addon-bar-title {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--brand-text);
}
body.public-area .pr-addon-bar-desc, body.app-auth .pr-addon-bar-desc {
  font-size: 0.8rem;
  color: var(--brand-muted);
  margin-top: 1px;
}
body.public-area .pr-addon-bar .form-check-input, body.app-auth .pr-addon-bar .form-check-input {
  width: 3em;
  height: 1.6em;
  cursor: pointer;
  flex-shrink: 0;
}
body.public-area .pr-addon-bar .form-check-input:checked, body.app-auth .pr-addon-bar .form-check-input:checked {
  background-color: var(--brand-gold);
  border-color: var(--brand-gold);
}

/* Pricing: toggle mensile/annuale */
body.public-area .pr-toggle-wrap, body.app-auth .pr-toggle-wrap {
  display: flex;
  justify-content: center;
  gap: 0;
  margin: 0 auto 32px;
  max-width: 420px;
  border: 2px solid var(--brand-border);
  overflow: hidden;
}
body.public-area .pr-toggle-btn, body.app-auth .pr-toggle-btn {
  flex: 1;
  padding: 12px 20px;
  font-size: 0.92rem;
  font-weight: 600;
  border: none;
  background: transparent;
  color: var(--brand-muted);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  position: relative;
}
body.public-area .pr-toggle-btn--active, body.app-auth .pr-toggle-btn--active {
  background: var(--brand-accent);
  color: #fff;
}
body.public-area .pr-toggle-save, body.app-auth .pr-toggle-save {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  background: var(--brand-gold);
  color: #1a1a1a;
  padding: 2px 8px;
  margin-left: 6px;
  letter-spacing: 0.02em;
  vertical-align: middle;
}

/* Pricing: price detail (yearly/semester note) */
body.public-area .pr-price-detail, body.app-auth .pr-price-detail {
  font-size: 0.82rem;
  color: var(--brand-muted);
  margin-top: 6px;
}
body.public-area .pr-price-detail--yearly, body.app-auth .pr-price-detail--yearly { display: none; }
body.public-area .pr-price-detail--semester, body.app-auth .pr-price-detail--semester { display: block; }
body.public-area .pr-grid.pr-period-yearly .pr-price-detail--yearly, body.app-auth .pr-grid.pr-period-yearly .pr-price-detail--yearly { display: block; }
body.public-area .pr-grid.pr-period-yearly .pr-price-detail--semester, body.app-auth .pr-grid.pr-period-yearly .pr-price-detail--semester { display: none; }

/* Pricing: target persona */
body.public-area .pr-target, body.app-auth .pr-target {
  font-size: 0.85rem;
  color: var(--brand-muted);
  margin: 0 0 12px;
  font-weight: 400;
}
body.public-area .pr-head--feat .pr-target, body.app-auth .pr-head--feat .pr-target {
  color: var(--brand-muted);
}
body.public-area .pr-target--advisor, body.app-auth .pr-target--advisor {
  color: rgba(255, 255, 255, 0.72);
}

/* Pricing: card grid */
body.public-area .pr-grid, body.app-auth .pr-grid {
  display: flex;
  align-items: stretch;
  gap: 24px;
  max-width: 1400px;
  margin: 0 auto 48px;
}
body.public-area .pr-grid > .pr-card-wrap, body.app-auth .pr-grid > .pr-card-wrap {
  flex: 1 1 0%;
  min-width: 0;
  display: flex;
}

/* Pricing: card base */
body.public-area .pr-card, body.app-auth .pr-card {
  border: 2px solid var(--brand-border);
  border-radius: 0;
  overflow: hidden;
  background: var(--brand-surface);
  transition: border-color 0.15s;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--brand-text);
}
body.public-area .pr-card:hover, body.app-auth .pr-card:hover {
  border-color: var(--brand-accent);
}
body.public-area .pr-card--feat, body.app-auth .pr-card--feat {
  border: 3px solid var(--brand-accent);
  transform: scale(1.04);
  box-shadow: 0 8px 32px rgba(11, 85, 99, 0.18);
  z-index: 1;
}
body.public-area .pr-card--feat:hover, body.app-auth .pr-card--feat:hover {
  border-color: var(--brand-accent-light);
  box-shadow: 0 12px 40px rgba(11, 85, 99, 0.25);
}
body.public-area .pr-card.pr-addon-active, body.app-auth .pr-card.pr-addon-active {
  border-color: var(--brand-gold);
}

/* Pricing: card header */
body.public-area .pr-head, body.app-auth .pr-head {
  padding: 44px 24px 24px;
  text-align: center;
  position: relative;
  height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
}
body.public-area .pr-head--std, body.app-auth .pr-head--std {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
  border-bottom: 1px solid var(--brand-border);
}
body.public-area .pr-head--feat, body.app-auth .pr-head--feat {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
}
body.public-area .pr-label, body.app-auth .pr-label {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 16px;
  border-radius: 0;
  margin-bottom: 10px;
}
body.public-area .pr-head--std .pr-label, body.app-auth .pr-head--std .pr-label {
  background: var(--brand-accent-glow);
  color: var(--brand-accent-light);
}
body.public-area .pr-head--feat .pr-label, body.app-auth .pr-head--feat .pr-label {
  background: var(--brand-accent-glow);
  color: var(--brand-accent-light);
}
body.public-area .pr-head--std .pr-price-suffix, body.app-auth .pr-head--std .pr-price-suffix,
body.public-area .pr-head--std .pr-equiv, body.app-auth .pr-head--std .pr-equiv,
body.public-area .pr-head--std .pr-anchor, body.app-auth .pr-head--std .pr-anchor {
  color: var(--brand-muted);
}
body.public-area .pr-head--feat .pr-price-suffix, body.app-auth .pr-head--feat .pr-price-suffix,
body.public-area .pr-head--feat .pr-equiv, body.app-auth .pr-head--feat .pr-equiv,
body.public-area .pr-head--feat .pr-anchor, body.app-auth .pr-head--feat .pr-anchor {
  color: var(--brand-muted);
}
body.public-area .pr-head--feat .pr-price-detail, body.app-auth .pr-head--feat .pr-price-detail {
  color: var(--brand-muted);
}
body.public-area .pr-head--advisor .pr-price-detail, body.app-auth .pr-head--advisor .pr-price-detail {
  color: rgba(255, 255, 255, 0.55);
}
body.public-area .pr-badge-top, body.app-auth .pr-badge-top {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: var(--brand-accent);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 6px 18px;
  border-radius: 0;
  letter-spacing: 0.03em;
  white-space: nowrap;
  max-width: calc(100% - 24px);
  line-height: 1.2;
}

/* Advisor pricing card — stili dedicati */
body.public-area .pr-card-wrap--advisor, body.app-auth .pr-card-wrap--advisor {
  flex: 1 1 0%;
  display: flex;
}
body.public-area .pr-card--advisor, body.app-auth .pr-card--advisor {
  border: 2px solid var(--brand-navy-dark);
  background: linear-gradient(180deg, #0d1a36 0%, var(--brand-navy-dark) 100%);
  color: #fff;
}
body.public-area .pr-card--advisor:hover, body.app-auth .pr-card--advisor:hover { border-color: #2a6dd9; }
body.public-area .pr-head--advisor, body.app-auth .pr-head--advisor {
  background: transparent;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 52px;
}
body.public-area .pr-head--advisor .pr-label, body.app-auth .pr-head--advisor .pr-label {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
body.public-area .pr-head--advisor .pr-price, body.app-auth .pr-head--advisor .pr-price,
body.public-area .pr-head--advisor .pr-price-mo, body.app-auth .pr-head--advisor .pr-price-mo,
body.public-area .pr-head--advisor .pr-tiers, body.app-auth .pr-head--advisor .pr-tiers,
body.public-area .pr-head--advisor .pr-tiers strong, body.app-auth .pr-head--advisor .pr-tiers strong {
  color: #fff;
}
body.public-area .pr-head--advisor .pr-price-suffix, body.app-auth .pr-head--advisor .pr-price-suffix,
body.public-area .pr-head--advisor .pr-tiers > span, body.app-auth .pr-head--advisor .pr-tiers > span {
  color: rgba(255, 255, 255, 0.72);
}
body.public-area .pr-badge-top--advisor, body.app-auth .pr-badge-top--advisor {
  background: var(--brand-gold);
  color: #1a1a1a;
}
body.public-area .pr-card--advisor .pr-body, body.app-auth .pr-card--advisor .pr-body {
  background: transparent;
  color: #e5e7eb;
}
body.public-area .pr-card--advisor .pr-features li, body.app-auth .pr-card--advisor .pr-features li { color: #e5e7eb; }
body.public-area .pr-card--advisor .pr-features li strong, body.app-auth .pr-card--advisor .pr-features li strong { color: #fff; }
body.public-area .pr-card--advisor .pr-features-divider, body.app-auth .pr-card--advisor .pr-features-divider {
  color: var(--brand-gold);
  border-top-color: rgba(212, 164, 55, 0.4);
}
body.public-area .pr-card--feat .pr-features-divider, body.app-auth .pr-card--feat .pr-features-divider {
  color: var(--brand-accent-light);
  border-top-color: var(--brand-border);
}
body.public-area .pr-btn-advisor, body.app-auth .pr-btn-advisor {
  background: var(--brand-gold);
  color: #1a1a1a;
  border: 2px solid var(--brand-gold);
  font-weight: 700;
}
body.public-area .pr-btn-advisor:hover, body.app-auth .pr-btn-advisor:hover {
  background: #e6b844;
  border-color: #e6b844;
  color: #1a1a1a;
}

/* Tabella comparativa — colonna e gruppo Advisor */
body.public-area .pr-tbl-advisor, body.app-auth .pr-tbl-advisor {
  color: var(--brand-gold);
  font-weight: 700;
}
body.public-area .pr-group-hd--advisor td, body.app-auth .pr-group-hd--advisor td {
  background: var(--brand-navy-dark) !important;
  color: var(--brand-gold) !important;
}
body.public-area .pr-price, body.app-auth .pr-price {
  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1;
  margin: 4px 0;
}
body.public-area .pr-price-mo, body.app-auth .pr-price-mo {
  font-size: 1.2rem;
  font-weight: 400;
}
body.public-area .pr-price-suffix, body.app-auth .pr-price-suffix {
  font-size: 0.85rem;
  font-weight: 400;
  margin-bottom: 8px;
}
body.public-area .pr-tiers, body.app-auth .pr-tiers {
  display: flex;
  justify-content: center;
  gap: 16px;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  padding-top: 8px;
  border-top: 1px solid var(--brand-border);
  margin-top: 4px;
}
body.public-area .pr-head--std .pr-tiers, body.app-auth .pr-head--std .pr-tiers {
  color: var(--brand-muted);
}
body.public-area .pr-head--feat .pr-tiers, body.app-auth .pr-head--feat .pr-tiers {
  color: var(--brand-muted);
}
body.public-area .pr-equiv, body.app-auth .pr-equiv {
  font-size: 0.82rem;
  margin-top: 4px;
}
body.public-area .pr-anchor, body.app-auth .pr-anchor {
  font-size: 0.78rem;
  margin-top: 6px;
  font-style: italic;
}

/* Pricing: addon tag */
body.public-area .pr-addon-tag, body.app-auth .pr-addon-tag {
  display: none;
  margin-top: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--brand-cyan);
}
body.public-area .pr-head--feat .pr-addon-tag, body.app-auth .pr-head--feat .pr-addon-tag {
  color: var(--brand-cyan);
}
body.public-area .pr-addon-tag.is-visible, body.app-auth .pr-addon-tag.is-visible {
  display: block;
}

/* Pricing: card body */
body.public-area .pr-body, body.app-auth .pr-body {
  padding: 28px 24px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
body.public-area .pr-features, body.app-auth .pr-features {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1 1 auto;
  min-height: 0;
}
body.public-area .pr-features li, body.app-auth .pr-features li {
  padding: 8px 0;
  border-bottom: 1px solid var(--brand-border);
  font-size: 0.82rem;
  line-height: 1.3;
  color: var(--brand-text);
  display: flex;
  align-items: center;
  gap: 10px;
}
body.public-area .pr-features li:last-child, body.app-auth .pr-features li:last-child {
  border-bottom: none;
}
body.public-area .pr-features li.pr-features-divider, body.app-auth .pr-features li.pr-features-divider {
  border-bottom: none;
  border-top: 2px solid var(--brand-border);
  margin-top: 8px;
  padding-top: 12px;
  padding-bottom: 4px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand-accent-light);
  gap: 0;
}
body.public-area .pr-features .pr-ico, body.app-auth .pr-features .pr-ico {
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}
body.public-area .pr-ico--ok, body.app-auth .pr-ico--ok { color: var(--brand-cyan); }
body.public-area .pr-ico--ai, body.app-auth .pr-ico--ai { color: var(--brand-accent-light); }
body.public-area .pr-ico--gold, body.app-auth .pr-ico--gold { color: var(--brand-gold); }
body.public-area .pr-features li.pr-premium-only, body.app-auth .pr-features li.pr-premium-only { display: none; border-bottom-color: rgba(251,191,36,0.18); }
body.public-area .pr-features li.pr-base-only, body.app-auth .pr-features li.pr-base-only { color: var(--brand-muted); }

body.public-area .pr-cta, body.app-auth .pr-cta {
  margin-top: auto;
  padding-top: 20px;
  flex-shrink: 0;
}
body.public-area .pr-cta .btn, body.app-auth .pr-cta .btn {
  font-size: 1rem;
  padding: 12px 0;
  border-radius: 0;
  width: 100%;
  font-weight: 700;
}
body.public-area .pr-btn-outline, body.app-auth .pr-btn-outline {
  border: 2px solid var(--brand-accent);
  color: var(--brand-accent-light);
  background: transparent;
}
body.public-area .pr-btn-outline:hover, body.app-auth .pr-btn-outline:hover {
  background: var(--brand-accent);
  color: #fff;
}
body.public-area .pr-btn-red, body.app-auth .pr-btn-red {
  background: var(--brand-accent);
  color: #fff;
  border: none;
  font-size: 1.05rem;
  padding: 14px 24px;
}
body.public-area .pr-btn-red:hover, body.app-auth .pr-btn-red:hover {
  background: var(--brand-accent-light);
  color: #fff;
}
body.public-area .pr-btn-navy, body.app-auth .pr-btn-navy {
  background: var(--brand-accent);
  color: #fff;
  border: none;
}
body.public-area .pr-btn-navy:hover, body.app-auth .pr-btn-navy:hover {
  background: var(--brand-accent-light);
  color: #fff;
}
body.public-area .pr-cta-hint, body.app-auth .pr-cta-hint {
  text-align: center;
  color: var(--brand-muted);
  font-size: 0.82rem;
  margin-top: 10px;
}
body.public-area .pr-cta-hint--advisor, body.app-auth .pr-cta-hint--advisor {
  color: rgba(255, 255, 255, 0.55);
}
/* Click-wrap sotto "Attiva Advisor": la card e' scura in entrambi i temi,
   il grigio --brand-muted non regge (audit contrasto 26/08). */
body.public-area .pr-card--advisor .checkout-legal-hint,
body.app-auth .pr-card--advisor .checkout-legal-hint {
  color: rgba(255, 255, 255, 0.78);
}
body.public-area .pr-card--advisor .checkout-legal-hint a,
body.app-auth .pr-card--advisor .checkout-legal-hint a { color: #fff; }

/* ── Pricing: inline style replacements ── */
body.public-area .pr-stars-trust, body.app-auth .pr-stars-trust {
  color: var(--brand-gold);
  letter-spacing: 1px;
}

body.public-area .pr-compare-card, body.app-auth .pr-compare-card {
  overflow: hidden;
}

body.public-area .pr-pay-title, body.app-auth .pr-pay-title {
  color: var(--brand-navy);
}

/* Pricing: trust strip */
body.public-area .pr-trust, body.app-auth .pr-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px;
  padding: 16px 0;
  margin-bottom: 40px;
  color: var(--brand-muted);
  font-size: 0.92rem;
}
body.public-area .pr-trust-item, body.app-auth .pr-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
body.public-area .pr-trust-sep, body.app-auth .pr-trust-sep {
  width: 1px;
  height: 20px;
  background: var(--brand-border);
}
body.public-area .pr-nvidia, body.app-auth .pr-nvidia {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: transparent;
  color: var(--brand-gold);
  padding: 0;
  border-radius: 0;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
}
body.public-area .pr-nvidia img, body.app-auth .pr-nvidia img {
  height: 26px;
  width: auto;
}

/* Pricing: add-on detail */
body.public-area .pr-addon-detail, body.app-auth .pr-addon-detail {
  max-width: 580px;
  margin: 0 auto 48px;
  text-align: center;
}
body.public-area .pr-addon-detail summary, body.app-auth .pr-addon-detail summary {
  cursor: pointer;
  font-size: 0.88rem;
  color: var(--brand-muted);
  font-weight: 600;
  list-style: none;
}
body.public-area .pr-addon-detail summary::-webkit-details-marker, body.app-auth .pr-addon-detail summary::-webkit-details-marker {
  display: none;
}
body.public-area .pr-addon-detail summary::after, body.app-auth .pr-addon-detail summary::after { content: ' \25BE'; }
body.public-area .pr-addon-detail[open] summary::after, body.app-auth .pr-addon-detail[open] summary::after { content: ' \25B4'; }
body.public-area .pr-addon-detail .pr-addon-list, body.app-auth .pr-addon-detail .pr-addon-list {
  margin-top: 12px;
  text-align: left;
  display: inline-block;
}
body.public-area .pr-addon-detail .pr-addon-list li, body.app-auth .pr-addon-detail .pr-addon-list li {
  padding: 4px 0;
  font-size: 0.85rem;
  color: var(--brand-text);
}

/* Pricing: comparison table */
body.public-area .pr-compare, body.app-auth .pr-compare {
  max-width: 1200px;
  margin: 0 auto 48px;
}
body.public-area .pr-compare h3, body.app-auth .pr-compare h3 {
  text-align: center;
  font-weight: 800;
  color: #fff;
  margin-bottom: 24px;
  font-size: 1.5rem;
}
body.public-area .pr-tbl, body.app-auth .pr-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
body.public-area .pr-tbl thead, body.app-auth .pr-tbl thead {
  position: sticky;
  top: 0;
  z-index: 2;
}
body.public-area .pr-tbl thead th, body.app-auth .pr-tbl thead th {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
  padding: 12px 16px;
  font-weight: 600;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.public-area .pr-tbl thead th:first-child, body.app-auth .pr-tbl thead th:first-child {
  text-align: left;
  border-radius: 0;
}
body.public-area .pr-tbl thead th:last-child, body.app-auth .pr-tbl thead th:last-child {
  border-radius: 0;
}
body.public-area .pr-tbl thead th.pr-col-plan, body.app-auth .pr-tbl thead th.pr-col-plan {
  width: 120px;
  text-align: center;
}
body.public-area .pr-tbl tbody tr, body.app-auth .pr-tbl tbody tr {
  transition: background 0.15s;
}
body.public-area .pr-tbl tbody tr:hover, body.app-auth .pr-tbl tbody tr:hover {
  background: var(--brand-surface-alt);
}
body.public-area .pr-tbl tbody td, body.app-auth .pr-tbl tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--brand-border);
  vertical-align: middle;
  color: var(--brand-text);
}
body.public-area .pr-tbl tbody td:not(:first-child), body.app-auth .pr-tbl tbody td:not(:first-child) {
  text-align: center;
}
body.public-area .pr-tbl .pr-group-hd td, body.app-auth .pr-tbl .pr-group-hd td {
  background: var(--brand-surface-alt);
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand-accent-light);
  padding: 8px 16px;
  border-bottom: 2px solid var(--brand-border);
}
body.public-area .pr-tbl .pr-tbl-ok, body.app-auth .pr-tbl .pr-tbl-ok { color: var(--brand-cyan); }
body.public-area .pr-tbl .pr-tbl-ai, body.app-auth .pr-tbl .pr-tbl-ai { color: var(--brand-accent-light); }
body.public-area .pr-tbl .pr-tbl-no, body.app-auth .pr-tbl .pr-tbl-no { color: var(--brand-muted); }
body.public-area .pr-tbl .pr-tbl-gold, body.app-auth .pr-tbl .pr-tbl-gold { color: var(--brand-gold); }

/* Pricing: Enterprise card */
body.public-area .pr-enterprise, body.app-auth .pr-enterprise {
  max-width: 1400px;
  margin: 0 auto 48px;
}
body.public-area .pr-enterprise-card, body.app-auth .pr-enterprise-card {
  display: flex;
  align-items: center;
  gap: 32px;
  border: 2px solid var(--brand-border);
  background: var(--brand-surface);
  padding: 32px 40px;
  transition: border-color 0.15s;
}
body.public-area .pr-enterprise-card:hover, body.app-auth .pr-enterprise-card:hover {
  border-color: var(--brand-accent);
}
body.public-area .pr-enterprise-icon, body.app-auth .pr-enterprise-icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-surface-alt);
  border: 1px solid var(--brand-border);
  font-size: 28px;
  color: var(--brand-accent);
}
body.public-area .pr-enterprise-body, body.app-auth .pr-enterprise-body {
  flex: 1;
  min-width: 0;
}
body.public-area .pr-enterprise-title, body.app-auth .pr-enterprise-title {
  /* --font-display non e' mai stato definito: la dichiarazione era invalida
     e il titolo ereditava il font del corpo. Il token dei titoli e'
     --font-head (variables.css). */
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 8px;
}
body.public-area .pr-enterprise-desc, body.app-auth .pr-enterprise-desc {
  font-size: 0.92rem;
  color: var(--brand-muted);
  margin-bottom: 12px;
  line-height: 1.5;
}
body.public-area .pr-enterprise-perks, body.app-auth .pr-enterprise-perks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
}
body.public-area .pr-enterprise-perks li, body.app-auth .pr-enterprise-perks li {
  font-size: 0.85rem;
  color: var(--brand-text);
}
body.public-area .pr-enterprise-perks li i, body.app-auth .pr-enterprise-perks li i {
  color: var(--brand-success, #22A05B);
}
body.public-area .pr-enterprise-cta, body.app-auth .pr-enterprise-cta {
  flex-shrink: 0;
  text-align: center;
}
body.public-area .pr-btn-enterprise, body.app-auth .pr-btn-enterprise {
  display: inline-block;
  padding: 12px 28px;
  font-weight: 600;
  font-size: 0.95rem;
  color: #fff;
  background: var(--brand-accent);
  border: none;
  transition: background 0.15s;
  text-decoration: none;
  white-space: nowrap;
}
body.public-area .pr-btn-enterprise:hover, body.app-auth .pr-btn-enterprise:hover {
  background: var(--brand-accent-light);
  color: #fff;
}
body.public-area .pr-enterprise-hint, body.app-auth .pr-enterprise-hint {
  font-size: 0.78rem;
  color: var(--brand-muted);
  margin-top: 8px;
}
body.public-area .pr-enterprise-hint a, body.app-auth .pr-enterprise-hint a {
  color: var(--brand-accent-light);
}
@media (max-width: 768px) {
  body.public-area .pr-enterprise-card, body.app-auth .pr-enterprise-card {
    flex-direction: column;
    text-align: center;
    padding: 24px;
    gap: 20px;
  }
  body.public-area .pr-enterprise-perks, body.app-auth .pr-enterprise-perks {
    justify-content: center;
  }
}

/* Pricing: payment logos */
body.public-area .pr-pay, body.app-auth .pr-pay {
  max-width: 640px;
  margin: 0 auto 40px;
  text-align: center;
}
body.public-area .pr-pay h5, body.app-auth .pr-pay h5 {
  color: var(--brand-text);
}
body.public-area .pr-pay .payment-logo-main, body.app-auth .pr-pay .payment-logo-main {
  height: 56px;
  filter: brightness(0) invert(1);
  opacity: 0.8;
}
body.public-area .pr-pay .payment-logos img, body.app-auth .pr-pay .payment-logos img {
  height: 32px;
  opacity: 0.85;
  filter: brightness(0) invert(1);
  transition: opacity 0.15s;
}
body.public-area .pr-pay .payment-logos img:hover, body.app-auth .pr-pay .payment-logos img:hover {
  opacity: 1;
}

/* Pricing: FAQ */
body.public-area .pr-faq, body.app-auth .pr-faq {
  max-width: 700px;
  margin: 0 auto 48px;
}
body.public-area .pr-faq h3, body.app-auth .pr-faq h3 {
  text-align: center;
  font-weight: 800;
  color: #fff;
  margin-bottom: 24px;
  font-size: 1.5rem;
}
body.public-area .pr-faq .accordion-button, body.app-auth .pr-faq .accordion-button {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--brand-text);
}
body.public-area .pr-faq .accordion-button:not(.collapsed), body.app-auth .pr-faq .accordion-button:not(.collapsed) {
  background: var(--brand-surface-alt);
  color: var(--brand-accent-light);
  box-shadow: none;
}
body.public-area .pr-faq .accordion-body, body.app-auth .pr-faq .accordion-body {
  font-size: 0.88rem;
  color: var(--brand-muted);
  line-height: 1.65;
}

/* Pricing: mobile */
@media (max-width: 767px) {
  body.public-area .pr-hero h1, body.app-auth .pr-hero h1 {
    font-size: 1.6rem;
  }
  body.public-area .pr-grid, body.app-auth .pr-grid {
    flex-direction: column;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  body.public-area .pr-card-wrap--feat, body.app-auth .pr-card-wrap--feat {
    order: -1;
    margin-bottom: 0;
  }
  body.public-area .pr-card--feat, body.app-auth .pr-card--feat {
    transform: none;
    box-shadow: 0 4px 20px rgba(11, 85, 99, 0.18);
  }
  body.public-area .pr-card--feat:hover, body.app-auth .pr-card--feat:hover {
    transform: translateY(-4px);
  }
  body.public-area .pr-toggle-wrap, body.app-auth .pr-toggle-wrap {
    max-width: 100%;
  }
  body.public-area .pr-addon-bar, body.app-auth .pr-addon-bar {
    flex-direction: column;
    text-align: center;
    gap: 10px;
    padding: 14px 20px;
  }
  body.public-area .pr-trust, body.app-auth .pr-trust {
    gap: 12px;
    font-size: 0.78rem;
  }
  body.public-area .pr-trust-sep, body.app-auth .pr-trust-sep {
    display: none;
  }
  body.public-area .pr-tbl thead th.pr-col-plan, body.app-auth .pr-tbl thead th.pr-col-plan {
    width: 80px;
    font-size: 0.72rem;
  }
  body.public-area .pr-tbl, body.app-auth .pr-tbl {
    font-size: 0.82rem;
  }
}


/* ═══════════════════════════════════════════════════════
   BANDI LISTA (pages/bandi_lista.html)
   ═══════════════════════════════════════════════════════ */

body.public-area .bandi-hero {
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 100%);
  color: #fff;
  padding: 42px var(--page-gutter, 12px);
  margin: -2rem calc(-1 * var(--page-gutter, 12px)) 0;
  border-radius: 0;
  text-align: center;
}
body.public-area .bandi-hero h1 {
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 10px;
  color: #fff;
}
body.public-area .bandi-hero p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
  max-width: 560px;
  margin: 0 auto;
}

body.public-area .bando-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: 0;
  padding: 20px 24px;
  transition: transform 0.2s, box-shadow 0.2s;
  border-left: 4px solid var(--brand-accent);
  height: 100%;
  color: var(--brand-text);
}
/* La CTA e' il PIEDE della scheda, non una barra a se' (28/08). Prima aveva
   `mt-2`: 8px di stacco, piu' il bordo inferiore della card, facevano leggere
   i due pezzi come due elementi scollegati. Il rail petrolio da 4px prosegue
   da solo, perche' il bottone e' pieno dello stesso accento e largo quanto la
   card. */
body.public-area .bando-cell--cta .bando-card { border-bottom: 0; }
body.public-area .bando-cta { margin-top: 0; border-radius: 0; }

/* Il sollevamento in hover sta sulla COLONNA, non sulla card: sulla card
   alzava la sola scheda lasciando fermo il bottone — cioe' ricreava a ogni
   passaggio del mouse proprio lo stacco che si voleva togliere. L'ombra e' su
   entrambi i pezzi cosi' il blocco si stacca dal fondo come una cosa sola. */
body.public-area .bando-cell { transition: transform 0.2s; }
body.public-area .bando-cell:hover { transform: translateY(-3px); }
body.public-area .bando-cell:hover .bando-card,
body.public-area .bando-cell:hover .bando-cta {
  box-shadow: 0 8px 28px rgba(11, 85, 99, 0.12);
}
body.public-area .bando-card h4 {
  font-size: 1.05rem;
  color: var(--brand-text);
}

body.public-area .bando-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  color: var(--brand-muted);
  background: var(--brand-surface-alt);
  padding: 3px 10px;
  border-radius: 0;
}

body.public-area .bandi-cta {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-left: 4px solid var(--brand-accent);
  border-radius: 0;
  padding: 26px;
}

@media (max-width: 768px) {
  body.public-area .bandi-hero {
    padding: 32px 16px;
  }
  body.public-area .bandi-hero h1 {
    font-size: 1.5rem;
  }
}


/* ═══════════════════════════════════════════════════════
   BANDO DETAIL (pages/bando_detail.html)
   ═══════════════════════════════════════════════════════ */

body.public-area .bando-hero {
  padding: 40px 0 20px;
}
body.public-area .bando-hero .badge-stato {
  font-size: 0.8rem;
  padding: 6px 16px;
  border-radius: 0;
}

body.public-area .requisito-item {
  padding: 10px 16px;
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: 0;
  margin-bottom: 8px;
  font-size: 0.9rem;
}
body.public-area .requisito-item i {
  color: var(--brand-cyan);
  width: 20px;
}

body.public-area .kpi-bando {
  border-left: 4px solid var(--brand-accent);
  border-radius: 0;
  padding: 16px 20px;
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-left: 4px solid var(--brand-accent);
}
body.public-area .kpi-bando .kpi-label {
  font-size: 0.78rem;
  color: var(--brand-muted);
}
body.public-area .kpi-bando .kpi-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--brand-gold);
  font-family: var(--font-mono);
}

body.public-area .content-section {
  margin-bottom: 2.5rem;
}
body.public-area .content-section h4 {
  color: var(--brand-text);
  border-left: 4px solid var(--brand-accent);
  padding-left: 12px;
}


/* ═══════════════════════════════════════════════════════
   PRESS / COMUNICATI (pages/press.html)
   ═══════════════════════════════════════════════════════ */

body.public-area .press-hero {
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 60%, var(--brand-surface) 100%);
  color: #fff;
  padding: 52px var(--page-gutter, 12px) 42px;
  margin: -2rem calc(-1 * var(--page-gutter, 12px)) 0;
  border-radius: 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
body.public-area .press-hero::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(11, 85, 99, 0.08) 0%, transparent 70%);
  pointer-events: none;
}
body.public-area .press-hero h1 {
  font-size: 2.1rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}
body.public-area .press-hero-sub {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.95rem;
  max-width: 600px;
  margin: 0 auto 20px;
  line-height: 1.6;
}
body.public-area .press-hero-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
body.public-area .press-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
body.public-area .press-hero-pill,
body.public-area .press-hero-pill--version {
  background: var(--brand-accent-glow);
  color: var(--brand-accent-light);
  border: 1px solid rgba(11, 85, 99, 0.25);
}
body.public-area .press-hero-pill--nvidia {
  /* contiene solo il badge ufficiale: nessun chip colorato attorno */
  background: transparent;
  padding: 0;
  color: var(--brand-gold);
  border: 0;
}
body.public-area .press-nvidia-badge {
  height: 30px;
  width: auto;
  border-radius: 0;
}

@media (max-width: 768px) {
  body.public-area .press-hero {
    padding: 36px 16px 32px;
  }
  body.public-area .press-hero h1 {
    font-size: 1.55rem;
  }
}

/* Press: comunicati */
body.public-area .comunicato-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-left: 4px solid var(--brand-accent);
  border-radius: 0;
  transition: box-shadow 0.2s, transform 0.2s;
  color: var(--brand-text);
}
body.public-area .comunicato-card:hover {
  box-shadow: 0 4px 16px rgba(11, 85, 99, 0.12);
  transform: translateY(-1px);
}
body.public-area .comunicato-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 10px;
  border-radius: 0;
  background: var(--brand-accent);
  color: #fff;
}
body.public-area .comunicato-date {
  font-size: 0.8rem;
  color: var(--brand-muted);
  font-weight: 500;
}

/* Press: changelog */
body.public-area .changelog-section {
  position: relative;
}
body.public-area .changelog-sidebar {
  position: sticky;
  top: 90px;
}
body.public-area .changelog-nav-link {
  display: block;
  padding: 6px 12px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--brand-muted);
  border-left: 2px solid var(--brand-border);
  text-decoration: none;
  transition: all 0.15s;
  font-family: var(--font-mono);
}
body.public-area .changelog-nav-link:hover,
body.public-area .changelog-nav-link.active {
  color: var(--brand-accent-light);
  border-left-color: var(--brand-accent);
  background: var(--brand-accent-glow);
}
body.public-area .changelog-release {
  border-left: 3px solid var(--brand-border);
  padding-left: 1.25rem;
  margin-bottom: 2.5rem;
  scroll-margin-top: 100px;
}
body.public-area .changelog-release:first-child {
  border-left-color: var(--brand-accent);
}
body.public-area .changelog-version {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 1.3rem;
  color: var(--brand-accent-light);
  letter-spacing: -0.02em;
}
body.public-area .changelog-title {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--brand-text);
  margin-bottom: 12px;
}
body.public-area .changelog-group-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand-muted);
  margin: 12px 0 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--brand-border);
}
body.public-area .press-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 3px 10px;
  border-radius: 0;
  line-height: 1.5;
}
body.public-area .press-badge--novita        { background: var(--mp-cyan-dim); color: var(--brand-cyan); }
body.public-area .press-badge--miglioramento { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .press-badge--correzione    { background: rgba(239, 68, 68, 0.10); color: #fca5a5; }
body.public-area .changelog-voce {
  font-size: 0.88rem;
  color: var(--brand-text);
  line-height: 1.55;
}

/* Press: changelog mobile */
body.public-area .changelog-mobile-select {
  display: none;
}
@media (max-width: 991px) {
  body.public-area .changelog-sidebar-col {
    display: none;
  }
  body.public-area .changelog-mobile-select {
    display: block;
    margin-bottom: 1.5rem;
  }
}

/* Press: kit media */
body.public-area .kit-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  border-radius: 0;
  text-align: center;
  transition: box-shadow 0.2s, transform 0.2s;
}
body.public-area .kit-card:hover {
  box-shadow: 0 4px 16px rgba(11, 85, 99, 0.12);
  transform: translateY(-1px);
}
body.public-area .kit-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 0;
  background: var(--brand-accent-glow);
  color: var(--brand-accent-light);
  font-size: 1.3rem;
  margin-bottom: 12px;
}

/* Press: form richiesta kit */
body.public-area .press-input {
  display: block;
  width: 100%;
  padding: 8px 12px;
  font-size: 13px;
  font-family: var(--font-body);
  color: var(--brand-text);
  background: var(--brand-bg);
  border: 1px solid var(--brand-border);
  border-radius: 0;
  outline: none;
  transition: border-color 0.2s;
}
body.public-area .press-input:focus {
  border-color: var(--brand-accent);
}
body.public-area .press-input::placeholder {
  color: var(--brand-muted);
}
body.public-area .press-form-msg {
  font-size: 12px;
  padding: 6px 10px;
}
body.public-area .press-form-msg.msg-ok {
  color: #22c55e;
}
body.public-area .press-form-msg.msg-err {
  color: #ef4444;
}

/* Press: contatto */
body.public-area .press-contact-card {
  border-radius: 0;
  border-top: 3px solid var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   PARTNER (pages/partner.html)
   ═══════════════════════════════════════════════════════ */

body.public-area .partner-hero {
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 60%, var(--brand-surface) 100%);
  color: #fff;
  padding: 52px var(--page-gutter, 12px) 46px;
  margin: -2rem calc(-1 * var(--page-gutter, 12px)) 0;
  border-radius: 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
body.public-area .partner-hero::before {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -8%;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(11, 85, 99, 0.06) 0%, transparent 70%);
  pointer-events: none;
}
body.public-area .partner-hero h1 {
  font-size: 2.1rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}
body.public-area .partner-hero-sub {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.95rem;
  max-width: 620px;
  margin: 0 auto 10px;
  line-height: 1.65;
}
body.public-area .partner-hero-nvidia {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--brand-gold);
  margin-bottom: 22px;
  letter-spacing: 0.01em;
}
body.public-area .partner-hero-nvidia img {
  height: 26px;
  border-radius: 0;
}
body.public-area .partner-hero-ctas {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
body.public-area .partner-btn-ghost {
  background: var(--brand-accent-glow);
  color: var(--brand-accent-light);
  border: 1px solid var(--mp-border-hi);
  border-radius: 0;
  padding: 10px 22px;
  font-weight: 600;
  font-size: 0.88rem;
  text-decoration: none;
  transition: background 0.15s;
}
body.public-area .partner-btn-ghost:hover {
  background: var(--brand-accent);
  color: #fff;
}

@media (max-width: 768px) {
  body.public-area .partner-hero {
    padding: 36px 16px 34px;
  }
  body.public-area .partner-hero h1 {
    font-size: 1.55rem;
  }
}

/* Partner: target cards */
body.public-area .partner-target-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  border-radius: 0;
  border-top: 3px solid var(--brand-accent);
  transition: box-shadow 0.2s, transform 0.2s;
  position: relative;
  overflow: hidden;
  color: var(--brand-text);
}
body.public-area .partner-target-card:hover {
  box-shadow: 0 4px 16px rgba(11, 85, 99, 0.12);
  transform: translateY(-2px);
}
body.public-area .partner-target-card h5 {
  color: var(--brand-text);
}
body.public-area .partner-target-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 0;
  background: var(--brand-accent-glow);
  color: var(--brand-accent-light);
  font-size: 1.1rem;
  margin-bottom: 10px;
}

/* Partner: benefit cards */
body.public-area .partner-benefit-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  border-radius: 0;
  border-top: 3px solid var(--brand-accent);
  transition: box-shadow 0.2s, transform 0.2s;
  color: var(--brand-text);
}
body.public-area .partner-benefit-card:hover {
  box-shadow: 0 4px 16px rgba(11, 85, 99, 0.12);
  transform: translateY(-2px);
}
body.public-area .partner-benefit-card h5 {
  color: var(--brand-text);
}
body.public-area .partner-benefit-card--nvidia {
  border-top-color: var(--brand-gold);
}
body.public-area .partner-benefit-metric {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--brand-accent-light);
  margin-bottom: 4px;
}

/* Partner: steps */
body.public-area .partner-step {
  text-align: center;
  position: relative;
}
body.public-area .partner-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--brand-accent);
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  font-family: var(--font-mono);
  margin-bottom: 10px;
}
body.public-area .partner-step-time {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--brand-muted);
  background: var(--brand-surface-alt);
  padding: 2px 10px;
  border-radius: 0;
  margin-bottom: 6px;
}

/* Partner: NVIDIA section */
body.public-area .partner-nvidia-section {
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 100%);
  border-radius: 0;
  padding: 36px;
  color: #fff;
}
body.public-area .partner-nvidia-section h3 {
  color: #fff;
  font-weight: 700;
}
body.public-area .partner-nvidia-section p {
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.7;
}
body.public-area .partner-nvidia-logo {
  height: 52px;
  width: auto;
  border-radius: 0;
}
body.public-area .partner-logo-thumb {
  max-height: 40px;
  max-width: 120px;
  object-fit: contain;
}

/* Partner: FAQ */
body.public-area .partner-faq-item {
  border-bottom: 1px solid var(--brand-border);
  padding: 16px 0;
}
body.public-area .partner-faq-item:last-child {
  border-bottom: none;
}
body.public-area .partner-faq-q {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--brand-text);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
body.public-area .partner-faq-q i {
  color: var(--brand-muted);
  font-size: 0.75rem;
  transition: transform 0.2s;
  flex-shrink: 0;
}
body.public-area .partner-faq-a {
  font-size: 0.88rem;
  color: var(--brand-muted);
  line-height: 1.65;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding-top: 0;
}
body.public-area .partner-faq-item.open .partner-faq-a {
  max-height: 200px;
  padding-top: 10px;
}
body.public-area .partner-faq-item.open .partner-faq-q i {
  transform: rotate(180deg);
}

/* Partner: CTA */
body.public-area .partner-cta-section {
  background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-surface-alt) 100%);
  border-radius: 0;
  padding: 42px 32px;
  text-align: center;
  color: #fff;
}
body.public-area .partner-cta-section h3 {
  color: #fff;
  font-weight: 700;
}
body.public-area .partner-cta-section p {
  color: rgba(255, 255, 255, 0.72);
}
body.public-area .partner-cta-sla {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.55);
  margin-top: 12px;
}
body.public-area .partner-form {
  background: var(--brand-surface);
}
body.public-area .partner-form-card {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}


/* ═══════════════════════════════════════════════════════
   FAQ (pages/faq.html)
   ═══════════════════════════════════════════════════════ */

body.public-area .faq-search {
  max-width: 480px;
  margin: 0 auto 2rem;
}
body.public-area .faq-search-input {
  background: var(--brand-surface);
  border: 2px solid var(--brand-border);
  color: var(--brand-text);
  padding: 12px 16px 12px 40px;
  font-size: 0.92rem;
  border-radius: 0;
}
body.public-area .faq-search-input:focus {
  border-color: var(--brand-accent);
  box-shadow: 0 0 0 2px var(--brand-accent-glow);
  outline: none;
  background: var(--brand-surface);
  color: var(--brand-text);
}
body.public-area .faq-search-input::placeholder {
  color: var(--brand-muted);
}
body.public-area .faq-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand-muted);
  font-size: 0.85rem;
  pointer-events: none;
}
body.public-area .faq-section {
  margin-bottom: 2.5rem;
}
body.public-area .faq-section h4 {
  color: var(--brand-accent-light);
  border-bottom: 2px solid var(--brand-accent);
  padding-bottom: 8px;
  display: inline-block;
}

body.public-area .accordion-item {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body.public-area .accordion-button {
  background: var(--brand-surface);
  color: var(--brand-text);
}
body.public-area .accordion-button:not(.collapsed) {
  background: var(--brand-surface-alt);
  color: var(--brand-accent-light);
  box-shadow: none;
}
body.public-area .accordion-button:focus {
  box-shadow: 0 0 0 3px var(--brand-accent-glow);
}
body.public-area .accordion-button::after {
  filter: invert(1);
}
body.public-area .accordion-body {
  background: var(--brand-surface);
  color: var(--brand-text);
}




/* ═══════════════════════════════════════════════════════
   BOOTSTRAP UTILITY OVERRIDES
   ═══════════════════════════════════════════════════════ */

body.public-area [style*="background:#fff"],
body.public-area [style*="background: #fff"],
body.public-area [style*="background:#ffffff"],
body.public-area [style*="background: #ffffff"],
body.public-area [style*="background: white"],
body.public-area .bg-white {
  background: var(--brand-surface);
  color: var(--brand-text);
}

body.public-area .bg-light {
  background: var(--brand-surface-alt);
}

body.public-area .border {
  border-color: var(--brand-border);
}

body.public-area .list-group-item {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}

body.public-area .modal-content {
  background: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}

body.public-area .dropdown-menu {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body.public-area .dropdown-item {
  color: var(--brand-text);
}
body.public-area .dropdown-item:hover {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
}


/* ═══════════════════════════════════════════════════════
   BANDO DETAIL — classi per eliminare inline styles
   ═══════════════════════════════════════════════════════ */

body.public-area .bando-hero-icon { color: var(--brand-accent-light); }

body.public-area .bando-cta-hero {
  background: var(--brand-accent);
  color: #fff;
  font-weight: 700;
  border-radius: 0;
  border: none;
}
body.public-area .bando-cta-hero:hover {
  background: var(--brand-accent-light);
  color: #fff;
}

body.public-area .bando-kpi-value--sm { font-size: 1rem; }
body.public-area .bando-kpi--success { border-left-color: var(--brand-success); }
body.public-area .bando-content-body { font-size: 0.92rem; line-height: 1.7; }

body.public-area .bando-cta-section {
  background: var(--brand-accent);
  border-radius: 0;
  color: #fff;
  text-align: center;
  padding: 2rem;
  margin-top: 1rem;
}
body.public-area .bando-cta-section h3 {
  /* gli heading hanno una regola propria (h1..h6 { color: brand-text }) che
     vince sull'ereditarietà: su fondo accent va forzato il bianco. */
  color: #fff;
}
body.public-area .bando-cta-section p {
  /* Sul petrolio #0E7490 (dark) il bianco a 0.85 scende a 4.35:1 → bianco pieno (5.4:1). */
  color: #fff;
  max-width: 480px;
  margin: 0 auto 1.5rem;
}
body.public-area .bando-cta-section .btn {
  background: var(--brand-surface);
  color: var(--brand-accent);
  font-weight: 700;
  border-radius: 0;
  border: none;
}
body.public-area .bando-cta-section .btn:hover {
  background: #fff;
  color: var(--brand-accent);
}


/* ═══════════════════════════════════════════════════════
   BANDI LISTA — classi per eliminare inline styles
   ═══════════════════════════════════════════════════════ */

body.public-area .bando-card-icon { color: var(--brand-accent-light); font-size: 0.9rem; }
body.public-area .bando-badge-sm { font-size: 0.65rem; }
body.public-area .bando-card-desc { line-height: 1.5; }
body.public-area .bandi-cta-icon { color: var(--brand-accent-light); }


/* ═══════════════════════════════════════════════════════
   PARTNER — classi per eliminare inline styles
   ═══════════════════════════════════════════════════════ */

body.public-area .partner-target-title { font-size: 0.85rem; }
body.public-area .partner-target-desc { font-size: 0.8rem; line-height: 1.55; }
body.public-area .partner-benefit-icon { color: var(--brand-accent-light); }
body.public-area .partner-benefit-icon--nvidia { color: #76B900; }
body.public-area .partner-cta-desc { max-width: 520px; margin-left: auto; margin-right: auto; }
body.public-area .partner-cta-email { color: #fff; }


/* ═══════════════════════════════════════════════════════
   METODO — classe per eliminare inline styles
   ═══════════════════════════════════════════════════════ */

body.public-area .metodo-prospetto {
  border-left: 3px solid var(--brand-accent);
  padding: 1rem;
}


/* ═══════════════════════════════════════════════════════
   TIMELINE — classe per eliminare inline styles
   ═══════════════════════════════════════════════════════ */

body.public-area .timeline-intro { max-width: 560px; margin: 0 auto; }


/* ═══════════════════════════════════════════════════════
   VERIFY EMAIL — classe per eliminare inline styles
   ═══════════════════════════════════════════════════════ */

body.public-area .verify-icon { color: var(--brand-accent-light); }


/* ═══════════════════════════════════════════════════════
   DEMO CONFIRM — stili spostati dal template
   ═══════════════════════════════════════════════════════ */

body.public-area .demo-login-page .demo-icon {
  width: 56px;
  height: 56px;
  background: var(--brand-surface-alt);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  color: var(--brand-accent-light);
  font-size: 22px;
}
body.public-area .demo-login-page h3 {
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--brand-text);
  margin-bottom: 6px;
  line-height: 1.3;
}
body.public-area .demo-login-page .demo-subtitle {
  font-size: 0.92rem;
  color: var(--brand-muted);
  margin-bottom: 22px;
}
body.public-area .demo-stats-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 20px;
}
body.public-area .demo-stat {
  background: var(--brand-surface-alt);
  color: var(--brand-text);
  font-family: var(--font-mono);
  font-size: 0.82rem;
  padding: 5px 14px;
  border-radius: 0;
  letter-spacing: 0.02em;
}
body.public-area .demo-stat-divider {
  color: var(--brand-border);
  font-size: 1.1rem;
  user-select: none;
}
body.public-area .demo-login-page .demo-features {
  list-style: none;
  padding-left: 0;
  margin-bottom: 24px;
}
body.public-area .demo-login-page .demo-features li {
  font-size: 0.88rem;
  color: var(--brand-text);
  margin-bottom: 6px;
}
body.public-area .demo-login-page .demo-features li .fa-check {
  color: var(--brand-success);
  width: 18px;
}
body.public-area .demo-login-page .demo-cta {
  background: var(--brand-accent);
  color: #fff;
  border: none;
  padding: 12px 0;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  border-radius: 0;
  transition: background 0.2s ease;
}
body.public-area .demo-login-page .demo-cta:hover {
  background: var(--brand-accent-light);
  color: #fff;
}
body.public-area .demo-login-page .demo-micro {
  font-size: 12px;
  color: var(--brand-muted);
  margin-bottom: 10px;
}


/* ═══════════════════════════════════════════════════════
   RESPONSIVE: MOBILE NAV
   ═══════════════════════════════════════════════════════ */

@media (max-width: 991.98px) {
  body.public-area .app-header-nav.open {
    background: var(--brand-surface);
    border-bottom: 1px solid var(--brand-border);
  }
}

/* ═══ Area pubblica full-width (27/08/2026) ═══════════════════════════
   .app-main non ha piu' un cap (layout.css): i wrapper Bootstrap
   `row.justify-content-center > col-*` delle pages diventano 100% quando
   la pagina e' a card/griglie (col-xl-*), mentre le pagine di prosa
   (faq, contatti, principi, metodo, legal: col-lg-7/8/9 senza col-xl)
   restano su una misura di lettura. Solo visitatore anonimo (public-shell). */
@media (min-width: 992px) {
  body.public-shell .app-main > .row.justify-content-center > [class*="col-xl-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }
  body.public-shell .app-main > .row.justify-content-center > .col-lg-7:not([class*="col-xl-"]),
  body.public-shell .app-main > .row.justify-content-center > .col-lg-8:not([class*="col-xl-"]),
  body.public-shell .app-main > .row.justify-content-center > .col-lg-9:not([class*="col-xl-"]) {
    flex: 0 0 100%;
    max-width: min(100%, 980px);
  }
  /* Hero landing: contenitore a tutta larghezza, colonna testo con misura di lettura */
  body.public-shell .hero-landing .container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  body.public-shell .hero-landing .col-lg-7 {
    flex: 0 0 auto;
    width: min(100%, 820px);
  }
}
/* Testo lungo dentro pagine a griglia (dettaglio bando, timeline, press) */
body.public-shell .content-section,
body.public-shell .faq-section {
  max-width: 980px;
}
/* Barra "per chi": celle che vanno a capo invece di stirarsi */
body.public-shell .lp-perchi-bar { flex-wrap: wrap; }
body.public-shell .lp-perchi-cell { flex: 1 1 220px; }
/* Colonne esplicite sugli schermi larghi (25"+): numero che divide il totale delle card */
@media (min-width: 1200px) {
  body.public-area .bn-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1700px) {
  body.public-area .co-grid { grid-template-columns: repeat(6, 1fr); }
  body.public-area .bn-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Nota societaria sotto la CTA partner (fondo scuro in entrambi i temi) */
body.public-area .partner-cta-legal { color: rgba(255, 255, 255, 0.6); max-width: 640px; margin-left: auto; margin-right: auto; font-size: 0.78rem; line-height: 1.6; }
body.public-area .partner-cta-legal a { color: rgba(255, 255, 255, 0.85); }

/* ═══ Institutional Intelligence — public redesign v3.19 ═══ */
body.public-area .lp-kicker {
  margin-bottom: 14px;
  color: var(--brand-accent-light);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
body.public-area .hero-landing {
  min-height: min(760px, calc(100vh - 68px));
  display: flex;
  align-items: center;
  padding-top: clamp(82px, 10vw, 138px);
  padding-bottom: clamp(96px, 11vw, 150px);
}
body.public-area .hero-landing h1 {
  max-width: 920px;
  font-size: clamp(3rem, 5.7vw, 6rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
  margin-bottom: 30px;
  text-wrap: balance;
}
body.public-area .hero-landing .lead {
  max-width: 720px;
  font-size: clamp(1.02rem, 1.35vw, 1.23rem);
  line-height: 1.65;
  margin-bottom: 34px;
  color: rgba(255, 255, 255, 0.79);
}
body.public-area .hero-landing .hero-badge {
  padding: 0 0 10px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.42);
  color: rgba(255, 255, 255, 0.76);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
body.public-area .hero-landing::after,
body.public-area .hero-landing.has-video::after {
  background:
    linear-gradient(90deg, rgba(3, 18, 22, 0.96) 0%, rgba(3, 18, 22, 0.88) 38%, rgba(3, 18, 22, 0.45) 68%, rgba(3, 18, 22, 0.12) 100%),
    linear-gradient(180deg, rgba(8, 62, 72, 0.08) 55%, rgba(3, 18, 22, 0.75) 100%);
}
body.public-area .hero-landing .btn-hero,
body.public-area .hero-landing .btn-hero-outline {
  min-height: 54px;
  padding: 14px 25px;
  font-size: 0.9rem;
  letter-spacing: 0.01em;
}
body.public-area .hero-landing .btn-hero { background: var(--brand-accent); border-color: var(--brand-accent-light); }
body.public-area .hero-landing .btn-hero:hover { background: var(--brand-accent-light); }
body.public-area .lp-spbar { max-width: 1180px; }
body.public-area .sp-cell--nvidia { display: flex; align-items: center; justify-content: center; gap: 12px; }
body.public-area .sp-cell--nvidia img { max-height: 30px; width: auto; }

body.public-area .lp-intelligence,
body.public-area .lp-product-stage {
  margin: clamp(76px, 10vw, 150px) auto;
  max-width: 1320px;
}
body.public-area .lp-intelligence > h2,
body.public-area .lp-product-copy > h2 {
  max-width: 900px;
  margin: 0;
  color: var(--brand-text);
  font-size: clamp(2.35rem, 4.7vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.052em;
  text-wrap: balance;
}
body.public-area .lp-intelligence-lead {
  max-width: 720px;
  margin: 28px 0 54px;
  color: var(--brand-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}
body.public-area .lp-intelligence-flow {
  display: grid;
  grid-template-columns: 1fr 126px 1fr;
  border-top: 1px solid var(--brand-border);
  border-bottom: 1px solid var(--brand-border);
}
body.public-area .lp-intelligence-pane { padding: clamp(34px, 5vw, 68px); }
body.public-area .lp-intelligence-pane--forecast { background: var(--brand-surface); }
body.public-area .lp-intelligence-index {
  color: var(--brand-accent-light);
  font: 700 0.68rem/1.3 var(--font-mono);
  letter-spacing: 0.14em;
}
body.public-area .lp-intelligence-pane h3 { margin: 20px 0 14px; font-size: clamp(1.45rem, 2vw, 2rem); }
body.public-area .lp-intelligence-pane p,
body.public-area .lp-intelligence-pane li { color: var(--brand-muted); line-height: 1.65; }
body.public-area .lp-intelligence-pane ul { margin: 26px 0 0; padding: 20px 0 0; list-style: none; border-top: 1px solid var(--brand-border); }
body.public-area .lp-intelligence-pane li { padding: 5px 0; }
body.public-area .lp-intelligence-pane li::before { content: '—'; margin-right: 10px; color: var(--brand-cyan); }
body.public-area .lp-intelligence-axis {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: var(--brand-muted);
  border-left: 1px solid var(--brand-border);
  border-right: 1px solid var(--brand-border);
  font: 700 0.58rem/1 var(--font-mono);
  letter-spacing: 0.12em;
}

body.public-area .lp-product-stage {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(500px, 1.28fr);
  align-items: center;
  gap: clamp(42px, 7vw, 110px);
  padding: clamp(46px, 7vw, 96px);
  background: var(--brand-petrol-deep);
  color: #fff;
  overflow: hidden;
}
body.public-area .lp-product-copy > h2 { color: var(--brand-text-inverse); font-size: clamp(2.4rem, 4vw, 4.4rem); }
/* Accenti su fondo scuro: --brand-accent-light in tema chiaro è petrolio scuro (#0A6575)
   e sparirebbe sul pannello; si usa il token dedicato. */
body.public-area .lp-product-stage .lp-kicker { color: var(--brand-accent-on-dark); }
body.public-area .lp-product-copy > p { margin: 28px 0; color: var(--brand-text-inverse); line-height: 1.72; }
/* Il blocco resta scuro anche nel tema chiaro: prevale sulle regole generiche
   `body.theme-light.public-area section h2/p` di theme-light.css. */
body.theme-light.public-area .lp-product-stage .lp-product-copy > h2,
body.theme-light.public-area .lp-product-stage .lp-product-copy > p { color: var(--brand-text-inverse); }
body.public-area .lp-product-facts { display: grid; gap: 14px; border-top: 1px solid rgba(255,255,255,0.16); padding-top: 22px; }
body.public-area .lp-product-facts span { color: var(--brand-on-accent-soft); font-size: 0.82rem; }
body.public-area .lp-product-facts strong { display: inline-block; min-width: 68px; color: var(--brand-text-inverse); font: 700 0.95rem/1.2 var(--font-mono); }
/* Padding = spazio per le card flottanti, che restano fuori dallo screenshot (v3.19.4). */
body.public-area .lp-product-visual { position: relative; padding: 72px 0 84px; }
body.public-area .lp-product-window { background: var(--brand-bg); border: 1px solid rgba(255,255,255,0.24); box-shadow: 0 30px 80px rgba(0,0,0,0.38); }
/* Barra finestra sempre scura: il fondo finestra è var(--brand-bg) e in tema chiaro
   diventa bianco, rendendo invisibili puntini ed etichetta (v3.19.2). */
body.public-area .lp-product-windowbar { height: 38px; display: flex; align-items: center; gap: 6px; padding: 0 13px; background: rgba(3, 18, 22, 0.92); border-bottom: 1px solid rgba(255,255,255,0.12); }
body.public-area .lp-product-windowbar > span { width: 7px; height: 7px; background: rgba(255,255,255,0.25); }
body.public-area .lp-product-windowbar small { margin-left: 7px; color: rgba(255,255,255,0.48); font: 500 0.61rem/1 var(--font-mono); }
body.public-area .lp-product-window img { display: block; width: 100%; height: auto; }
body.public-area .lp-product-card { position: absolute; z-index: 2; display: grid; min-width: 145px; padding: 15px 18px; background: rgba(3,18,22,0.94); border: 1px solid rgba(85,194,204,0.46); box-shadow: 0 14px 42px rgba(0,0,0,0.35); }
body.public-area .lp-product-card small { color: var(--brand-accent-on-dark); font: 700 0.57rem/1.2 var(--font-mono); letter-spacing: 0.1em; }
body.public-area .lp-product-card strong { margin-top: 7px; color: #fff; font: 700 1.4rem/1.2 var(--font-mono); }
body.public-area .lp-product-card span { color: rgba(255,255,255,0.58); font-size: 0.68rem; }
body.public-area .lp-product-card--dscr { top: 0; right: -24px; }
body.public-area .lp-product-card--report { bottom: 0; left: -28px; }
body.public-area .lp-product-card--report strong { font-size: 0.88rem; }

body.public-area .lp-perchi-section,
body.public-area .lp-come-section,
body.public-area .lp-section,
body.public-area .lp-section-bg { padding-top: clamp(62px, 8vw, 112px); padding-bottom: clamp(62px, 8vw, 112px); }
body.public-area .section-title { font-size: clamp(2rem, 3.7vw, 3.8rem); line-height: 1.06; letter-spacing: -0.045em; text-wrap: balance; }
body.public-area .red-bar { margin-top: 18px; }
body.public-area .lp-perchi-bar { margin-top: 50px; background: transparent; }
body.public-area .lp-perchi-cell { position: relative; min-height: 250px; padding: 34px 28px; border-top: 1px solid var(--brand-border); background: transparent; }
body.public-area .lp-perchi-cell + .lp-perchi-cell { border-left: 1px solid var(--brand-border); }
body.public-area .lp-perchi-number { display: block; margin-bottom: 45px; color: var(--brand-accent-light); font: 700 0.65rem/1 var(--font-mono); letter-spacing: 0.12em; }
body.public-area .lp-perchi-title { font-size: 1.2rem; }
body.public-area .lp-perchi-desc { margin-top: 12px; line-height: 1.65; }
body.public-area .co-grid { max-width: 1320px; margin-left: auto; margin-right: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* NON rimettere `background: transparent` qui (regressione v3.19.x, corretta il
   28/08): la griglia e' una hairline-grid — `.co-grid` ha
   `background: var(--brand-border)` e `gap: 1px`, e sono le CELLE opache a
   lasciar vedere il fondo solo nel millimetro di gap, disegnando i separatori.
   Con le celle trasparenti il fondo grigio del contenitore affiorava su tutta
   l'area: niente piu' card, solo un pannello grigio con del testo che ci
   galleggiava dentro. Il `border-color` che accompagnava quella riga non
   disegnava nulla (nessun border-width/style dichiarato).
   Anche il `translateY` in hover e' stato tolto: sollevando la cella dentro un
   contenitore `overflow: hidden` scopriva la stessa striscia grigia. */
body.public-area .co-cell { min-height: 216px; padding: 30px; background: var(--brand-surface); }
body.public-area .co-cell:hover { background: var(--brand-surface-alt); }
body.public-area .co-icon,
body.public-area [class*="co-icon--"] { background: var(--brand-accent-glow); color: var(--brand-accent-light); }
body.public-area .co-check,
body.public-area [class*="co-check--"] { color: var(--brand-muted); border-color: var(--brand-border); background: var(--brand-surface-alt); }

body.theme-light.public-area .lp-intelligence-pane--forecast { background: var(--brand-surface-alt); }
body.theme-light.public-area .lp-product-stage { background: var(--brand-petrol-deep); }
body.theme-light.public-area .hero-landing .btn-hero { color: #fff; }

@media (max-width: 991px) {
  body.public-area .hero-landing { min-height: 680px; align-items: flex-end; }
  body.public-area .hero-landing h1 { font-size: clamp(2.6rem, 10vw, 4.7rem); }
  body.public-area .hero-landing::after,
  body.public-area .hero-landing.has-video::after { background: linear-gradient(180deg, rgba(3,18,22,0.58) 0%, rgba(3,18,22,0.96) 72%); }
  body.public-area .lp-intelligence-flow { grid-template-columns: 1fr; }
  body.public-area .lp-intelligence-axis { min-height: 70px; flex-direction: row; border: 0; border-top: 1px solid var(--brand-border); border-bottom: 1px solid var(--brand-border); }
  body.public-area .lp-product-stage { grid-template-columns: 1fr; }
  body.public-area .lp-product-card--dscr { right: -10px; }
  body.public-area .lp-product-card--report { left: -10px; }
  body.public-area .co-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  body.public-area .hero-landing { min-height: 620px; padding-bottom: 74px; }
  body.public-area .hero-landing h1 { font-size: 2.55rem; }
  body.public-area .hero-landing .btn-hero,
  body.public-area .hero-landing .btn-hero-outline { width: 100%; }
  body.public-area .social-proof-bar { grid-template-columns: repeat(2, 1fr); }
  body.public-area .sp-cell--nvidia { flex-direction: column; gap: 5px; }
  body.public-area .lp-intelligence-pane { padding: 32px 20px; }
  body.public-area .lp-product-stage { margin-left: calc(-1 * var(--page-gutter, 12px)); margin-right: calc(-1 * var(--page-gutter, 12px)); padding: 52px 20px 70px; }
  body.public-area .lp-product-card { position: static; display: inline-grid; margin-top: 12px; margin-right: 8px; }
  body.public-area .lp-perchi-cell + .lp-perchi-cell { border-left: 0; }
  body.public-area .co-grid { grid-template-columns: 1fr; }
}

/* Pricing: scelta per risultato prima della matrice tecnica. */
body.public-area .pr-hero { padding-top: clamp(52px, 7vw, 92px); }
body.public-area .pr-hero h1 { font-size: clamp(2.7rem, 5.2vw, 5.6rem); line-height: 0.98; letter-spacing: -0.055em; }
body.public-area .pr-hero .pr-sub { max-width: 720px; margin-left: auto; margin-right: auto; font-size: 1.05rem; line-height: 1.7; }
body.public-area .pr-paths { display: grid; grid-template-columns: repeat(3, 1fr); margin: 10px 0 54px; border: 1px solid var(--brand-border); }
body.public-area .pr-path { display: grid; min-height: 155px; padding: 25px; color: var(--brand-text); background: var(--brand-surface); text-decoration: none; transition: background 0.18s, transform 0.18s; }
body.public-area .pr-path + .pr-path { border-left: 1px solid var(--brand-border); }
body.public-area .pr-path:hover { color: var(--brand-text); background: var(--brand-surface-alt); transform: translateY(-2px); }
body.public-area .pr-path--featured { background: var(--brand-accent-glow); }
body.public-area .pr-path-index { color: var(--brand-accent-light); font: 700 0.62rem/1 var(--font-mono); letter-spacing: 0.13em; }
body.public-area .pr-path strong { align-self: end; font-size: 1.05rem; }
body.public-area .pr-path small { color: var(--brand-muted); }
body.public-area .pr-card-wrap { scroll-margin-top: 90px; }
body.public-area .pr-card { box-shadow: none; transition: transform 0.2s, border-color 0.2s; }
body.public-area .pr-card:hover { transform: translateY(-4px); }
body.public-area .pr-card--feat { box-shadow: 0 22px 60px var(--brand-accent-shadow-12); }
@media (max-width: 767px) {
  body.public-area .pr-paths { grid-template-columns: 1fr; }
  body.public-area .pr-path { min-height: 120px; }
  body.public-area .pr-path + .pr-path { border-left: 0; border-top: 1px solid var(--brand-border); }
}

