@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root {
    --nt-primary:         #3B82F6;
    --nt-primary-dark:    #1D4ED8;
    --nt-primary-light:   #60A5FA;
    --nt-primary-glow:    rgba(59,130,246,0.22);
    --nt-primary-glow-soft: rgba(59,130,246,0.10);
    --nt-cyan:            #38BDF8;
    --nt-cyan-glow:       rgba(56,189,248,0.20);
    --nt-violet:          #8B5CF6;
    --nt-accent:          #FACC15;
    --nt-bg-dark:         #050B14;
    --nt-bg-deep:         #03070E;
    --nt-bg-card:         #0B1626;
    --nt-bg-surface:      #0E1D33;
    --nt-bg-elevated:     #0F2542;
    --nt-bg-input:        #0B1A2D;
    --nt-bg-sidebar:      #060D1A;
    --nt-border:          rgba(31,51,72,0.85);
    --nt-border-strong:   #1F3348;
    --nt-border-subtle:   rgba(31,51,72,0.45);
    --nt-border-focus:    rgba(59,130,246,0.55);
    --nt-text-primary:    #F8FAFC;
    --nt-text-secondary:  #94A3B8;
    --nt-text-muted:      #7E8CA0;   /* alzato per contrasto AA (~5:1 su navy); era #64748B */
    --nt-text-faint:      #64748B;   /* alzato (ex-muted); era #475569 (sotto AA) */
    --nt-success:         #22C55E;
    --nt-success-bg:      rgba(34,197,94,0.12);
    --nt-success-glow:    rgba(34,197,94,0.22);
    --nt-danger:          #FF6B6B;
    --nt-danger-bg:       rgba(255,107,107,0.13);
    --nt-danger-glow:     rgba(255,107,107,0.28);
    --nt-warning:         #FACC15;
    --nt-warning-bg:      rgba(250,204,21,0.13);
    /* Token semantici di mercato/dato (tokenizzazione builder 2026-06-16) */
    --nt-up:              #10B981;
    --nt-down:            #EF4444;
    --nt-info:            #3B82F6;
    --nt-goal:            #F59E0B;
    --nt-text-bright:     #E2E8F0;
    --nt-radius-xs:       4px;
    --nt-radius-sm:       6px;
    --nt-radius-md:       10px;
    --nt-radius-lg:       14px;
    --nt-radius-xl:       22px;
    --nt-radius-pill:     999px;
    --nt-shadow-xs:       0 1px 2px rgba(0,0,0,.35);
    --nt-shadow-sm:       0 2px 6px rgba(0,0,0,.45), 0 1px 2px rgba(0,0,0,.35);
    --nt-shadow-md:       0 8px 24px rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.40);
    --nt-shadow-lg:       0 16px 48px rgba(0,0,0,.65), 0 4px 12px rgba(0,0,0,.45);
    --nt-shadow-glow:     0 0 0 1px rgba(59,130,246,0.18), 0 12px 32px rgba(8,18,38,0.65);
    --nt-font:            "Inter","Segoe UI",system-ui,-apple-system,sans-serif;
    /* Font unificato su INTER anche per i valori/quote (2026-06-17, richiesta utente "Inter
       sia dark che light"): era "JetBrains Mono" monospace. tabular-nums (su html,body) tiene
       le cifre allineate. Il token resta per non toccare i tanti var(--nt-font-mono) a valle. */
    --nt-font-mono:       var(--nt-font);
    --sidebar-w:          320px;
}

/* =====================================================================
   STREAMLIT GLOBAL OVERRIDES
   ===================================================================== */
#MainMenu, footer, .viewerBadge_container__1QSob,
.stDeployButton { display: none !important; }

header[data-testid="stHeader"] {
    display: none !important;
}
header[data-testid="stHeader"]:has([data-testid="stExpandSidebarButton"]) {
    display: flex !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
}
header[data-testid="stHeader"]:has([data-testid="stExpandSidebarButton"]) [data-testid="stToolbar"] {
    pointer-events: auto !important;
}
header[data-testid="stHeader"]:has([data-testid="stExpandSidebarButton"]) [data-testid="stExpandSidebarButton"] {
    display: flex !important;
    pointer-events: auto !important;
}

html, body { font-family: var(--nt-font); font-variant-numeric: tabular-nums; }

/* App background — deep navy with subtle radial accent */
.stApp,
.stAppViewContainer,
[data-testid="stAppViewContainer"] {
    background:
        radial-gradient(1100px 600px at 12% -10%, rgba(59,130,246,0.06) 0%, rgba(59,130,246,0) 55%),
        radial-gradient(900px 540px at 88% 0%, rgba(56,189,248,0.045) 0%, rgba(56,189,248,0) 60%),
        var(--nt-bg-dark) !important;
    color: var(--nt-text-primary) !important;
}

/* Main content area */
section.main > div,
[data-testid="stMain"] > div {
    padding-top: 1.75rem !important;
    padding-bottom: 3rem !important;
}

/* Sidebar */
section[data-testid="stSidebar"],
[data-testid="stSidebar"] {
    background:
        linear-gradient(180deg, var(--nt-bg-sidebar) 0%, #050B14 100%) !important;
    border-right: 1px solid var(--nt-border-strong) !important;
    box-shadow: inset -1px 0 0 rgba(255,255,255,0.02) !important;
}
section[data-testid="stSidebar"] > div {
    padding: 1.25rem 1rem !important;
}

/* Sidebar labels & headers */
section[data-testid="stSidebar"] h1,
section[data-testid="stSidebar"] h2,
section[data-testid="stSidebar"] h3 {
    color: var(--nt-text-primary) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    margin: 0 0 .6rem 0 !important;
    padding-left: 10px !important;
    position: relative !important;
}
section[data-testid="stSidebar"] h1::before,
section[data-testid="stSidebar"] h2::before,
section[data-testid="stSidebar"] h3::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 3px; height: 14px;
    border-radius: 2px;
    background: linear-gradient(180deg, var(--nt-primary), var(--nt-cyan));
}
section[data-testid="stSidebar"] label,
section[data-testid="stSidebar"] .stRadio label p,
section[data-testid="stSidebar"] .stSelectbox label p {
    color: var(--nt-text-secondary) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
}
section[data-testid="stSidebar"] hr {
    border: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, var(--nt-border-strong) 40%, var(--nt-border-strong) 60%, transparent) !important;
    margin: .85rem 0 !important;
}

/* Form inputs */
.stTextInput > div > div > input,
.stTextArea textarea,
.stNumberInput input {
    background: var(--nt-bg-input) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-radius: var(--nt-radius-sm) !important;
    color: var(--nt-text-primary) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}
.stTextInput > div > div > input:hover,
.stTextArea textarea:hover,
.stNumberInput input:hover {
    border-color: rgba(59,130,246,0.35) !important;
    background: #0D1F36 !important;
}
.stTextInput > div > div > input:focus,
.stTextArea textarea:focus,
.stNumberInput input:focus {
    border-color: var(--nt-border-focus) !important;
    box-shadow: 0 0 0 3px var(--nt-primary-glow) !important;
    background: #0D1F36 !important;
}
.stSelectbox > div > div,
.stMultiSelect > div > div {
    background: var(--nt-bg-input) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-radius: var(--nt-radius-sm) !important;
    color: var(--nt-text-primary) !important;
    transition: border-color .15s ease, box-shadow .15s ease !important;
}
.stSelectbox > div > div:hover,
.stMultiSelect > div > div:hover {
    border-color: rgba(59,130,246,0.35) !important;
}

/* Radio pills */
.stRadio [role="radiogroup"] {
    gap: 6px !important;
}
.stRadio [role="radiogroup"] label {
    background: var(--nt-bg-input) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-radius: var(--nt-radius-sm) !important;
    padding: 5px 10px !important;
    transition: border-color .15s ease, background .15s ease !important;
}
.stRadio [role="radiogroup"] label:hover {
    border-color: rgba(59,130,246,0.4) !important;
}

/* Buttons — premium gradient */
.stButton > button,
.stDownloadButton > button {
    background: linear-gradient(135deg, var(--nt-primary) 0%, var(--nt-primary-dark) 100%) !important;
    border: 1px solid rgba(96,165,250,0.32) !important;
    border-radius: var(--nt-radius-sm) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    letter-spacing: .03em !important;
    padding: 7px 14px !important;
    box-shadow: 0 6px 18px rgba(59,130,246,0.22), inset 0 1px 0 rgba(255,255,255,0.10) !important;
    transition: transform .12s ease, box-shadow .15s ease, border-color .15s ease, filter .15s ease !important;
}
.stButton > button:hover,
.stDownloadButton > button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(59,130,246,0.32), inset 0 1px 0 rgba(255,255,255,0.14) !important;
    border-color: rgba(147,197,253,0.55) !important;
    filter: brightness(1.05) !important;
}
.stButton > button:active,
.stDownloadButton > button:active {
    transform: translateY(0) !important;
    filter: brightness(0.96) !important;
}
.stButton > button[kind="secondary"] {
    background: var(--nt-bg-surface) !important;
    border: 1px solid var(--nt-border-strong) !important;
    color: var(--nt-text-secondary) !important;
    box-shadow: none !important;
}
.stButton > button[kind="secondary"]:hover {
    background: var(--nt-bg-elevated) !important;
    color: var(--nt-text-primary) !important;
    border-color: rgba(59,130,246,0.4) !important;
}

/* Progress bar */
.stProgress > div > div {
    background: linear-gradient(90deg, var(--nt-primary) 0%, var(--nt-cyan) 100%) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 12px rgba(56,189,248,0.35) !important;
}
.stProgress > div {
    background: var(--nt-bg-surface) !important;
    border-radius: 999px !important;
    border: 1px solid var(--nt-border) !important;
}

/* Streamlit transient spinners: keep them in-theme if any cache path enables one. */
[data-testid="stSpinner"] {
    width: fit-content !important;
    max-width: min(520px, 100%) !important;
    background:
        linear-gradient(180deg, rgba(14,29,51,0.96), rgba(6,14,27,0.98)) !important;
    border: 1px solid rgba(56,189,248,0.34) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    box-shadow: 0 14px 34px rgba(0,0,0,0.32) !important;
    color: var(--nt-text-primary) !important;
}
[data-testid="stSpinner"] p,
[data-testid="stSpinner"] span {
    color: var(--nt-text-primary) !important;
}
[data-testid="stSpinner"] svg {
    color: var(--nt-cyan) !important;
    fill: var(--nt-cyan) !important;
}

/* Expander */
.streamlit-expanderHeader,
[data-testid="stExpander"] summary {
    background: var(--nt-bg-surface) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-radius: var(--nt-radius-sm) !important;
    color: var(--nt-text-primary) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: .03em !important;
    transition: background .15s ease, border-color .15s ease !important;
}
.streamlit-expanderHeader:hover,
[data-testid="stExpander"] summary:hover {
    background: var(--nt-bg-elevated) !important;
    border-color: rgba(59,130,246,0.35) !important;
}
.streamlit-expanderContent,
[data-testid="stExpander"] > div:last-child {
    background: var(--nt-bg-card) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-top: none !important;
    border-radius: 0 0 var(--nt-radius-sm) var(--nt-radius-sm) !important;
}

/* Metric widget */
[data-testid="stMetric"] {
    background: linear-gradient(180deg, var(--nt-bg-surface), var(--nt-bg-card)) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-radius: var(--nt-radius-md) !important;
    padding: 14px 18px !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: var(--nt-shadow-sm) !important;
}
[data-testid="stMetric"]::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--nt-primary), var(--nt-cyan) 70%, transparent);
}
[data-testid="stMetricLabel"] p {
    color: var(--nt-text-secondary) !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}
[data-testid="stMetricValue"] {
    color: var(--nt-text-primary) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    font-family: var(--nt-font-mono) !important;
    letter-spacing: -.01em !important;
}

/* Tabs (segmented control) */
[data-testid="stTabs"] [role="tab"] {
    background: transparent !important;
    border-radius: var(--nt-radius-sm) !important;
    color: var(--nt-text-secondary) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    border: none !important;
    padding: 8px 14px !important;
    transition: color .15s ease, background .15s ease !important;
}
[data-testid="stTabs"] [role="tab"]:hover {
    color: var(--nt-text-primary) !important;
    background: rgba(59,130,246,0.06) !important;
}
[data-testid="stTabs"] [role="tab"][aria-selected="true"] {
    background: linear-gradient(135deg, var(--nt-primary), var(--nt-primary-dark)) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(59,130,246,0.30) !important;
}
[data-testid="stTabs"] [role="tablist"] {
    background: var(--nt-bg-surface) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-radius: var(--nt-radius-md) !important;
    gap: 4px !important;
    padding: 4px !important;
}

/* Segmented control (st.segmented_control) — Streamlit DOM:
   div[data-baseweb="button-group"][role="radiogroup"]
     > button[kind="segmented_control"]         (inactive)
     > button[kind="segmented_controlActive"]   (active — Streamlit default = red)
   Text is inside <p> within stMarkdownContainer, must be re-colored explicitly. */
[data-baseweb="button-group"][role="radiogroup"] {
    background: var(--nt-bg-surface) !important;
    border: 1px solid var(--nt-border-strong) !important;
    border-radius: var(--nt-radius-md) !important;
    padding: 4px !important;
    gap: 4px !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
}
button[kind="segmented_control"],
button[kind="segmented_controlActive"],
button[data-testid="stBaseButton-segmented_control"],
button[data-testid="stBaseButton-segmented_controlActive"] {
    border-radius: var(--nt-radius-sm) !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    letter-spacing: .04em !important;
    padding: 7px 14px !important;
    min-height: 34px !important;
    box-shadow: none !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease !important;
}
button[kind="segmented_control"],
button[data-testid="stBaseButton-segmented_control"] {
    background: var(--nt-bg-input) !important;
    border: 1px solid var(--nt-border-strong) !important;
    color: var(--nt-text-secondary) !important;
}
button[kind="segmented_control"] p,
button[data-testid="stBaseButton-segmented_control"] p {
    color: var(--nt-text-secondary) !important;
    margin: 0 !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
}
button[kind="segmented_control"]:hover,
button[data-testid="stBaseButton-segmented_control"]:hover {
    background: var(--nt-bg-elevated) !important;
    border-color: rgba(59,130,246,0.45) !important;
    color: var(--nt-text-primary) !important;
}
button[kind="segmented_control"]:hover p,
button[data-testid="stBaseButton-segmented_control"]:hover p {
    color: var(--nt-text-primary) !important;
}
button[kind="segmented_controlActive"],
button[data-testid="stBaseButton-segmented_controlActive"] {
    background: linear-gradient(135deg, var(--nt-primary) 0%, var(--nt-primary-dark) 100%) !important;
    border: 1px solid rgba(96,165,250,0.55) !important;
    color: #fff !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.14),
        0 6px 18px rgba(59,130,246,0.32) !important;
}
button[kind="segmented_controlActive"] p,
button[data-testid="stBaseButton-segmented_controlActive"] p {
    color: #fff !important;
    margin: 0 !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
}
button[kind="segmented_controlActive"]:hover,
button[data-testid="stBaseButton-segmented_controlActive"]:hover {
    filter: brightness(1.06) !important;
    transform: translateY(-1px) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.20),
        0 10px 24px rgba(59,130,246,0.40) !important;
}

/* Dataframe */
[data-testid="stDataFrame"] {
    border-radius: var(--nt-radius-md) !important;
    overflow: hidden !important;
    border: 1px solid var(--nt-border-strong) !important;
}

/* Caption / small text */
.stCaption p, .stMarkdown small {
    color: var(--nt-text-secondary) !important;
    font-size: 11px !important;
    letter-spacing: .02em !important;
}

/* Alerts (warning/info/error/success) */
[data-testid="stAlert"] {
    border-radius: var(--nt-radius-md) !important;
    border: 1px solid var(--nt-border-strong) !important;
    background: var(--nt-bg-card) !important;
}

/* Divider */
hr {
    border: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, var(--nt-border-strong), transparent) !important;
}

/* Scrollbar — premium dark */
* { scrollbar-width: thin; scrollbar-color: #1F3348 var(--nt-bg-dark); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--nt-bg-deep); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #243a55, #1f3348);
    border-radius: 6px;
    border: 1px solid var(--nt-bg-deep);
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #2e486a, #243a55);
}
::-webkit-scrollbar-corner { background: var(--nt-bg-deep); }

/* Text selection */
::selection { background: var(--nt-primary-glow); color: var(--nt-text-primary); }

/* =====================================================================
   PRODUCT HERO — premium trading terminal banner
   ===================================================================== */
.product-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(800px 320px at 20% 0%, rgba(59,130,246,0.10) 0%, rgba(59,130,246,0) 70%),
        radial-gradient(700px 280px at 90% 100%, rgba(56,189,248,0.07) 0%, rgba(56,189,248,0) 70%),
        linear-gradient(115deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.008) 28%, rgba(255,255,255,0) 52%),
        linear-gradient(135deg, #0c1828 0%, #060f1d 46%, #03070f 100%);
    border: 1px solid var(--nt-border-strong);
    border-radius: 24px;
    padding: 22px 32px;
    margin-bottom: 18px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 24px 60px rgba(0,0,0,0.55),
        0 0 0 1px rgba(59,130,246,0.04);
    gap: 28px;
    flex-wrap: wrap;
}
.product-hero::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: 23px;
    border: 1px solid rgba(59,130,246,0.10);
    pointer-events: none;
}
.product-hero::after {
    content: "";
    position: absolute;
    top: 0; left: 8%; right: 8%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--nt-primary) 30%, var(--nt-cyan) 70%, transparent 100%);
    opacity: .55;
    pointer-events: none;
}

.product-logo-wrap {
    width: 76px;
    height: 76px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    position: relative;
}
.product-logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 18px 26px rgba(0,0,0,0.65)) drop-shadow(0 0 24px rgba(59,130,246,0.16));
}

.product-copy { flex: 1; min-width: 180px; }

.product-title {
    font-family: var(--nt-font);
    font-size: 40px;
    font-weight: 900;
    margin: 0 0 6px 0;
    line-height: .95;
    letter-spacing: -.015em;
}
.product-title-now {
    color: #F8FAFC;
    text-shadow: 0 2px 0 rgba(255,255,255,0.10), 0 18px 28px rgba(0,0,0,0.55);
}
.product-title-trade {
    /* rebranding "Investing Football" (2026-07-30): verde del logo al posto del blu NowTrade */
    background: linear-gradient(135deg, #8BD44F 0%, #4CAF2F 50%, #63C534 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 28px rgba(76,175,47,0.32));
}

.product-subtitle {
    font-size: 13px;
    color: #93C5FD;
    margin: 0;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
    position: relative;
    padding-left: 28px;
}
.product-subtitle::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 20px; height: 2px;
    background: linear-gradient(90deg, var(--nt-cyan), transparent);
    border-radius: 2px;
}

.nt-live-title {
    margin: 12px 0 20px;
    font-size: 22px;
    font-weight: 800;
    /* ROSSO "live" (era #F8FAFC bianco → invisibile sul tema chiaro): si lega ai pallini rossi.
       Token --nt-danger = rosso in entrambi i temi (#FF6B6B dark / #DC2626 light). (utente 2026-06-17) */
    color: var(--nt-danger);
    letter-spacing: -.005em;
    display: flex;
    align-items: center;
    gap: 12px;
}
.nt-live-title::before {
    content: "";
    width: 10px; height: 10px;
    border-radius: 50%;
    background: var(--nt-danger);
    box-shadow: 0 0 0 4px rgba(255,107,107,0.18), 0 0 16px rgba(255,107,107,0.55);
    animation: nt-pulse-live 1.8s ease-in-out infinite;
}

.nt-sidebar-access {
    color: var(--nt-text-secondary);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .03em;
    padding: 10px 12px;
    background: var(--nt-bg-card);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-sm);
    margin-bottom: 10px;
}
.nt-sidebar-access strong {
    color: var(--nt-text-primary);
    font-weight: 800;
}

.hero-visual-stats {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.stat-bubble {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(59,130,246,0.05) 0%, rgba(56,189,248,0.015) 32%, rgba(255,255,255,0) 60%),
        linear-gradient(135deg, rgba(11,22,38,0.96) 0%, rgba(6,13,26,0.98) 100%);
    border: 1px solid var(--nt-border-strong);
    border-radius: 14px;
    padding: 16px 22px;
    min-width: 150px;
    text-align: left;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.04),
        0 14px 28px rgba(0,0,0,0.40);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.stat-bubble::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 2px; height: 100%;
    background: linear-gradient(180deg, var(--nt-primary), var(--nt-cyan));
    opacity: .55;
}
.stat-bubble:hover {
    border-color: rgba(59,130,246,0.42);
    transform: translateY(-2px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 18px 36px rgba(0,0,0,0.50),
        0 0 0 1px rgba(59,130,246,0.12);
}
.bubble-label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    color: var(--nt-text-secondary);
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 6px;
}
.bubble-value {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: var(--nt-text-primary);
    line-height: 1.1;
    font-family: var(--nt-font-mono);
    letter-spacing: -.01em;
}

/* =====================================================================
   DASHBOARD CONTENT WRAPPERS (used by nowtrade_overview_widgets HTML)
   ===================================================================== */
.dashboard-table {
    width: 100%;
    margin-bottom: 16px;
}
.table-shell {
    background: var(--nt-bg-card);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    overflow: hidden;
    box-shadow: var(--nt-shadow-sm);
}
.dashboard-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.section-gap-lg { height: 28px; }

/* =====================================================================
   ROI LEGEND
   ===================================================================== */
.roi-legend {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    padding: 10px 14px;
    margin-top: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    background: var(--nt-bg-card);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-sm);
}
.roi-pos { color: var(--nt-success); }
.roi-neg { color: var(--nt-danger); }
.roi-neu { color: var(--nt-text-secondary); }

/* =====================================================================
   CARD BASE
   ===================================================================== */
.nt-card {
    background: var(--nt-bg-card);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    padding: 18px 20px;
    box-shadow: var(--nt-shadow-sm);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.nt-card:hover {
    border-color: rgba(59,130,246,0.45);
    box-shadow: 0 0 0 1px rgba(59,130,246,0.18), var(--nt-shadow-md);
    transform: translateY(-1px);
}
.nt-card--surface { background: var(--nt-bg-surface); }

/* =====================================================================
   BADGES
   ===================================================================== */
.nt-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: rgba(148,163,184,0.10);
    color: var(--nt-text-secondary);
    border: 1px solid rgba(148,163,184,0.18);
}
.nt-badge--live {
    background: var(--nt-danger-bg);
    color: var(--nt-danger);
    border-color: rgba(255,107,107,0.32);
    box-shadow: 0 0 12px rgba(255,107,107,0.18);
    animation: nt-pulse-live 1.8s ease-in-out infinite;
}
.nt-badge--live::before {
    content: "";
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--nt-danger);
    box-shadow: 0 0 6px rgba(255,107,107,0.85);
}
.nt-badge--ht {
    background: var(--nt-warning-bg);
    color: var(--nt-warning);
    border-color: rgba(250,204,21,0.32);
}
@keyframes nt-pulse-live {
    0%, 100% { opacity: 1; }
    50%       { opacity: .60; }
}

/* =====================================================================
   SIGNAL PILLS — premium trading signal indicators
   ===================================================================== */
.nt-signal-lay {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    background: linear-gradient(135deg, rgba(255,107,107,0.18), rgba(255,107,107,0.08));
    border: 1px solid rgba(255,107,107,0.40);
    border-radius: 999px;
    color: #FF8E8E;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    box-shadow: 0 0 14px rgba(255,107,107,0.15);
}
.nt-signal-lay::before {
    content: "▼";
    font-size: 9px;
    line-height: 1;
}
.nt-signal-back {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    background: linear-gradient(135deg, rgba(34,197,94,0.18), rgba(34,197,94,0.08));
    border: 1px solid rgba(34,197,94,0.40);
    border-radius: 999px;
    color: #4ADE80;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    box-shadow: 0 0 14px rgba(34,197,94,0.15);
}
.nt-signal-back::before {
    content: "▲";
    font-size: 9px;
    line-height: 1;
}
.nt-signal-none {
    color: var(--nt-text-faint);
    font-size: 12px;
    padding: 4px 6px;
    letter-spacing: .04em;
}
/* Segnale griglia = TOP giocata Strategies per win% (2026-06-19). Il colore TESTO arriva inline
   (magColor: verde >=80 / giallo / rosso); sfondo e bordo della pill derivano dallo STESSO colore
   via currentColor → tinta coerente con la grandezza del win%. */
.nt-signal-win {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
    background: color-mix(in srgb, currentColor 14%, transparent);
    border: 1px solid color-mix(in srgb, currentColor 38%, transparent);
}
.nt-signal-win strong { font-weight: 800; }

/* =====================================================================
   KPI GRID
   ===================================================================== */
.nt-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin: 10px 0 18px 0;
}
.nt-kpi {
    background: var(--nt-bg-card);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-sm);
    padding: 14px 16px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.nt-kpi:hover {
    border-color: rgba(59,130,246,0.40);
    box-shadow: 0 0 0 1px rgba(59,130,246,0.10);
}
.nt-kpi__label {
    font-size: 10px;
    color: var(--nt-text-secondary);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
    margin-bottom: 4px;
}
.nt-kpi__value {
    font-size: 20px;
    font-weight: 800;
    color: var(--nt-text-primary);
    line-height: 1.1;
}

/* =====================================================================
   LIVE MATCH GRID — premium trading-style ledger
   ===================================================================== */
.nt-live-table-shell {
    overflow-x: auto;
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-lg);
    background:
        linear-gradient(180deg, rgba(15,37,66,0.55) 0%, rgba(11,22,38,0.95) 100%);
    box-shadow:
        var(--nt-shadow-lg),
        inset 0 1px 0 rgba(255,255,255,0.04);
}
.nt-live-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 980px;
}
.nt-live-table thead th {
    text-align: left;
    padding: 14px 18px;
    font-size: 10.5px;
    font-weight: 800;
    color: var(--nt-text-secondary);
    text-transform: uppercase;
    letter-spacing: .14em;
    background:
        linear-gradient(180deg, rgba(14,29,51,0.95) 0%, rgba(11,22,38,0.85) 100%);
    border-bottom: 1px solid var(--nt-border-strong);
    position: sticky;
    top: 0;
    z-index: 2;
}
.nt-live-table tbody td {
    padding: 14px 18px;
    border-bottom: 1px solid rgba(31,51,72,0.55);
    vertical-align: middle;
    font-size: 13.5px;
    color: var(--nt-text-primary);
}
.nt-live-table tbody tr {
    transition: background-color .15s ease, box-shadow .15s ease;
    position: relative;
}
.nt-live-table tbody tr:hover {
    background: rgba(59,130,246,0.06);
    box-shadow: inset 3px 0 0 var(--nt-primary);
}
.nt-live-table tbody tr:last-child td {
    border-bottom: none;
}
.nt-live-table-min {
    white-space: nowrap;
    min-width: 96px;
}
.nt-live-table-score {
    font-family: var(--nt-font-mono);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: .06em;
    color: #F8FAFC;
    text-shadow: 0 0 12px rgba(59,130,246,0.18);
    white-space: nowrap;
}
.nt-live-table-team {
    font-weight: 700;
    color: var(--nt-text-primary);
    letter-spacing: -.005em;
}
/* Cartellino rosso accanto al nome squadra (board Live, 2026-07-12): tile CSS puro (niente emoji,
   resa uniforme cross-platform); con 2+ espulsioni il numero appare dentro il tile. */
.nt-redcard {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 13px;
    margin-left: 7px;
    border-radius: 2.5px;
    background: linear-gradient(160deg, #F04438 0%, #C81E1E 100%);
    box-shadow: 0 0 6px rgba(240,68,56,0.55);
    vertical-align: -1px;
    font-size: 9px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
/* Colonna Momentum (2026-07-07, spostata dai nomi squadra alla propria colonna 2026-07-09): due
   numeri 0-100 "casa | trasferta", ciascuno colorato A CALORE indipendentemente (vedi
   momentumHeatColor in app.js — alto=rosso/medio=giallo/basso=bianco). */
.nt-live-table-momentum {
    white-space: nowrap;
    min-width: 92px;
    text-align: center;
}
/* Specificita' maggiore di ".nt-live-table thead th" (che impone text-align:left): serve per
   centrare anche l'intestazione, non solo la cella. */
.nt-live-table thead th.nt-live-table-momentum {
    text-align: center;
}
.nt-momentum-match {
    font-size: 15px;
    font-weight: 900;
    font-family: var(--nt-font-mono);
}
.nt-momentum-sep {
    color: var(--nt-text-faint);
    font-weight: 700;
    margin: 0 2px;
}
.nt-momentum-none {
    color: var(--nt-text-faint);
    font-size: 13px;
}
.nt-live-table-comp {
    color: var(--nt-text-secondary);
    font-size: 12.5px;
    font-weight: 500;
}
.nt-live-table-signal {
    white-space: nowrap;
}
/* Colonna ROI griglia live (2026-07-14b, richiesta utente: valore ROI storico dedicato, colore per
   SEGNO come nel tab Strategies — vedi .nt-stt-roi--pos/neg/na, riusate qui SOLO per il colore). */
.nt-live-table-roi {
    white-space: nowrap;
    text-align: center;
}
.nt-live-table thead th.nt-live-table-roi {
    text-align: center;
}
.nt-live-roi-val {
    font-family: var(--nt-font-mono);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: -.01em;
}
.nt-live-table-watch {
    white-space: nowrap;
}
.nt-live-table-action {
    text-align: right;
    width: 1%;
    white-space: nowrap;
}
.nt-live-alert-table-shell {
    margin-top: 12px;
}
/* Tab "Classifica" (2026-07-12): tabella classifica di lega + proiezione live, 2 squadre evidenziate. */
.nt-standings { margin-top: 4px; }
.nt-stand-title {
    font-size: 13px; font-weight: 800; color: var(--nt-text-bright);
    margin-bottom: 4px; letter-spacing: .01em;
}
.nt-stand-note {
    font-size: 11.5px; color: var(--nt-text-secondary); line-height: 1.4; margin-bottom: 10px;
}
.nt-stand-table {
    border: 1px solid var(--nt-border-strong); border-radius: 12px; overflow: hidden;
}
.nt-stand-row {
    display: grid;
    grid-template-columns: 52px minmax(110px,1fr) 32px 32px 32px 32px 58px 44px 40px;
    align-items: center; gap: 2px;
    padding: 7px 10px; font-size: 12.5px;
    border-top: 1px solid var(--nt-border);
    font-variant-numeric: tabular-nums;
}
.nt-stand-row:first-child { border-top: 0; }
.nt-stand-head {
    background: var(--nt-surface-2, rgba(30,41,59,0.5));
    font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase;
    color: var(--nt-text-secondary); font-weight: 700;
}
.nt-stand-pos { display: flex; align-items: center; gap: 5px; font-weight: 700; }
.nt-stand-team { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.nt-stand-n { text-align: center; }
.nt-stand-gg { color: var(--nt-text-secondary); }
.nt-stand-pt { font-weight: 800; color: var(--nt-text-bright); }
.nt-stand-row--home { background: rgba(110,231,183,0.12); box-shadow: inset 3px 0 0 #6EE7B7; }
.nt-stand-row--away { background: rgba(252,165,165,0.12); box-shadow: inset 3px 0 0 #FCA5A5; }
.nt-stand-delta { font-size: 9.5px; font-weight: 800; line-height: 1; }
.nt-stand-delta--up { color: #34D399; }
.nt-stand-delta--down { color: #F87171; }
.nt-stand-delta--flat { color: var(--nt-text-faint, #64748B); }
@media (max-width: 640px) {
    .nt-stand-table { overflow-x: auto; }
    .nt-stand-row { min-width: 460px; }
}
.nt-live-alert-table {
    min-width: 860px;
    table-layout: fixed;
}
.nt-live-alert-col--competition {
    width: 30%;
}
.nt-live-alert-col--match {
    width: 32%;
}
.nt-live-alert-col--minute {
    width: 10%;
    text-align: center;
}
.nt-live-alert-col--score {
    width: 12%;
    text-align: center;
}
.nt-live-alert-col--signal {
    width: 16%;
    text-align: left;
}
.nt-live-alert-col--competition,
.nt-live-alert-col--match {
    white-space: normal;
    word-break: break-word;
    line-height: 1.35;
}
.nt-live-alert-signal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(59,130,246,0.18), rgba(56,189,248,0.08));
    border: 1px solid rgba(96,165,250,0.34);
    color: #93C5FD;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    line-height: 1.25;
    max-width: 100%;
}
.nt-live-alert-meta {
    color: var(--nt-text-secondary) !important;
    font-size: 12px !important;
    white-space: nowrap;
}
.nt-live-alert-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(148,163,184,0.10);
    border: 1px solid rgba(148,163,184,0.18);
    color: var(--nt-text-secondary);
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
    white-space: nowrap;
}
.nt-live-alert-status--ok {
    background: rgba(34,197,94,0.12);
    border-color: rgba(34,197,94,0.34);
    color: #4ADE80;
}
.nt-live-alert-status--test {
    background: rgba(250,204,21,0.10);
    border-color: rgba(250,204,21,0.30);
    color: #FACC15;
}
.nt-live-alert-status--error {
    background: rgba(255,107,107,0.12);
    border-color: rgba(255,107,107,0.34);
    color: #FF8E8E;
}

/* "Apri" button — premium ghost-to-solid */
.nt-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: linear-gradient(135deg, var(--nt-primary), var(--nt-primary-dark));
    color: #fff !important;
    border: 1px solid rgba(96,165,250,0.42);
    border-radius: var(--nt-radius-sm);
    text-decoration: none !important;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: transform .12s ease, box-shadow .15s ease, filter .15s ease;
    box-shadow: 0 4px 14px rgba(59,130,246,0.28), inset 0 1px 0 rgba(255,255,255,0.12);
}
.nt-link-btn--table {
    padding: 6px 14px;
}
.nt-link-btn::after {
    content: "→";
    font-weight: 900;
    font-size: 13px;
    transition: transform .15s ease;
}
.nt-link-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(59,130,246,0.40), inset 0 1px 0 rgba(255,255,255,0.16);
    filter: brightness(1.06);
}
.nt-link-btn:hover::after { transform: translateX(3px); }

/* =====================================================================
   TAB NAV (legacy HTML tabs)
   ===================================================================== */
.nt-tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 5px;
    background: var(--nt-bg-surface);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    margin-bottom: 18px;
}
.nt-tab-nav__item {
    padding: 7px 14px;
    border-radius: var(--nt-radius-xs);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--nt-text-secondary);
    cursor: pointer;
    transition: all .15s ease;
    text-decoration: none;
    white-space: nowrap;
}
.nt-tab-nav__item:hover { color: var(--nt-text-primary); background: rgba(59,130,246,0.08); }
.nt-tab-nav__item--active {
    background: linear-gradient(135deg, var(--nt-primary), var(--nt-primary-dark));
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(59,130,246,0.28);
}

/* =====================================================================
   LEGACY HTML TABLE OVERRIDES
   (nowtrade_overview_widgets renders raw <table> HTML)
   ===================================================================== */
.table-shell table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    font-family: var(--nt-font);
    color: var(--nt-text-primary);
}
.table-shell th {
    background: var(--nt-bg-surface);
    color: var(--nt-text-secondary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 11px 14px;
    border-bottom: 1px solid var(--nt-border-strong);
    white-space: nowrap;
}
.table-shell td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(31,51,72,0.45);
    vertical-align: middle;
    color: var(--nt-text-primary);
}
.table-shell tr:last-child td { border-bottom: none; }
.table-shell tr:hover td { background: rgba(59,130,246,0.05); }

/* ROI coloring inside tables */
.table-shell .roi-positive, .table-shell [class*="roi-pos"] { color: var(--nt-success) !important; font-weight: 800; }
.table-shell .roi-negative, .table-shell [class*="roi-neg"] { color: var(--nt-danger) !important; font-weight: 800; }
.table-shell .roi-neutral, .table-shell [class*="roi-neu"]  { color: var(--nt-text-secondary) !important; }

/* =====================================================================
   LOADING OVERLAY (st.empty placeholders)
   ===================================================================== */
.nt-loading-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10,14,26,0.80);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* =====================================================================
   KPI ROW  (match detail header — build_kpi_html)
   ===================================================================== */
.kpi-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 0 0 20px 0;
    align-items: stretch;
}
.kpi-card {
    background:
        linear-gradient(180deg, var(--nt-bg-surface) 0%, var(--nt-bg-card) 100%);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    padding: 16px 20px;
    box-shadow: var(--nt-shadow-sm);
    position: relative;
    overflow: hidden;
    min-height: 118px;
    display: flex;
    flex-direction: column;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.kpi-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--nt-primary), var(--nt-cyan) 65%, transparent);
}
.kpi-card:hover {
    border-color: rgba(59,130,246,0.42);
    box-shadow: 0 0 0 1px rgba(59,130,246,0.10), var(--nt-shadow-md);
    transform: translateY(-1px);
}
.kpi-label {
    font-size: 9px;
    font-weight: 800;
    color: var(--nt-text-secondary);
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 8px;
}
.kpi-value {
    font-size: clamp(13px, 1.15vw, 17px);
    font-weight: 800;
    color: var(--nt-text-primary);
    line-height: 1.2;
    word-break: break-word;
    overflow-wrap: anywhere;
    letter-spacing: -.005em;
}
.kpi-value--match {
    font-size: clamp(12px, 1.05vw, 15px);
    line-height: 1.22;
}
.kpi-value--xl {
    font-size: clamp(11px, 1vw, 13px);
    letter-spacing: -0.1px;
    font-family: var(--nt-font-mono);
}
.kpi-sub {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--nt-text-secondary);
    margin-top: 8px;
    letter-spacing: .02em;
}
.kpi-score-live {
    font-family: var(--nt-font-mono);
    font-size: clamp(18px, 1.55vw, 22px);
    font-weight: 900;
    color: #F8FAFC;
    background:
        linear-gradient(135deg, rgba(56,189,248,0.20), rgba(59,130,246,0.06));
    border: 1px solid rgba(56,189,248,0.42);
    border-radius: 10px;
    padding: 4px 10px;
    margin-top: 8px;
    display: inline-block;
    letter-spacing: 1.5px;
    line-height: 1.05;
    box-shadow:
        0 0 22px rgba(56,189,248,0.22),
        inset 0 1px 0 rgba(255,255,255,0.08);
}
@keyframes nt-timer-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: .35; }
}
.kpi-timer-blink {
    color: var(--nt-danger);
    font-weight: 900;
    font-family: var(--nt-font-mono);
    font-size: clamp(36px, 3.8vw, 52px);
    line-height: 1;
    letter-spacing: 1px;
    margin-top: 4px;
    text-shadow: 0 0 22px rgba(255,107,107,0.45);
    animation: nt-timer-blink 1.2s ease-in-out infinite;
}
/* Timer dentro la card Match: STESSA size/text del nome squadre (.kpi-value--match),
   ma rosso e lampeggiante. NON imposta font-size → eredita quello di --match. */
.kpi-value--timer {
    color: var(--nt-danger);
    text-shadow: 0 0 14px rgba(255,107,107,0.40);
    animation: nt-timer-blink 1.2s ease-in-out infinite;
}

/* =====================================================================
   CONFIDENCE CARD  (build_confidence_meter_html)
   ===================================================================== */
.confidence-card {
    box-sizing: border-box;
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--confidence-color, #38BDF8) 14%, transparent), transparent 58%),
        linear-gradient(180deg, rgba(14,29,51,0.96), rgba(6,14,27,0.98));
    border: 1px solid color-mix(in srgb, var(--confidence-color, #38BDF8) 30%, var(--nt-border-strong));
    border-radius: var(--nt-radius-md);
    padding: 18px;
    margin-top: 10px;
    height: auto !important;
    min-height: 238px !important;
    max-height: none !important;
    box-shadow:
        0 18px 42px rgba(0,0,0,0.30),
        inset 0 1px 0 rgba(255,255,255,0.06);
    text-align: center;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
}
.confidence-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--confidence-color, var(--nt-cyan)), transparent);
    opacity: .78;
}
.confidence-head {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.confidence-title {
    font-size: 9px;
    font-weight: 900;
    color: var(--nt-text-secondary);
    text-transform: uppercase;
    letter-spacing: .14em;
}
.confidence-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--confidence-color, var(--nt-cyan));
    box-shadow: 0 0 12px var(--confidence-glow, rgba(56,189,248,0.35));
}
.confidence-meter {
    width: 106px;
    height: 106px;
    display: grid;
    place-items: center;
    margin: 1px auto 0;
    border-radius: 999px;
    background:
        radial-gradient(circle, var(--confidence-glow, rgba(56,189,248,0.24)) 0%, transparent 64%);
}
.confidence-ring {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    box-shadow:
        0 0 28px var(--confidence-glow, rgba(59,130,246,0.25)),
        inset 0 0 0 1px rgba(255,255,255,0.07);
}
.confidence-ring-core {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 35%, rgba(30,41,59,0.96), rgba(6,14,27,0.98));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: inset 0 0 24px rgba(0,0,0,0.34);
}
.confidence-score {
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
    color: #F8FAFC;
    font-family: var(--nt-font-mono);
    text-shadow: 0 2px 14px rgba(0,0,0,0.45);
}
.confidence-grade {
    font-size: 13px;
    font-weight: 900;
    margin-top: 1px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.confidence-strategy {
    max-width: 100%;
    font-size: 10.5px;
    color: #E2E8F0;
    font-weight: 800;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
}
.confidence-msg {
    font-size: 11.5px;
    color: var(--nt-text-secondary);
    margin-top: 8px;
    line-height: 1.5;
}

/* =====================================================================
   STRATEGY / CONFIDENCE CARD  (build_stat_profile_html + build_strategies_table_html)
   Profilo win% per giocata, colore = affidabilità. Redesign 2026-06-18:
   - Dashboard  -> .nt-strat-tiles  (striscia di tile, una per giocata)
   - tab Strategies -> .nt-strat-grid (griglia di confronto giocata x scope, pill colorate)
   Token-based => theme-aware (dark/light). Sostituisce lo split edge-card|confidence-card.
   ===================================================================== */
.nt-strat-card {
    background: linear-gradient(180deg, var(--nt-bg-surface), var(--nt-bg-card));
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    padding: 16px 18px;
    margin-top: 10px;
    margin-bottom: 16px;
    box-shadow: var(--nt-shadow-sm);
}
/* La card del tab Strategies è una tabella di confronto a 3 righe: capping di larghezza
   per non stirarla sullo schermo desktop (1500px) e tenere le pill vicino alle etichette. */
.nt-strat-card--table { max-width: 940px; }
.nt-strat-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    padding-bottom: 11px;
    border-bottom: 1px solid var(--nt-border-soft, rgba(148,163,184,0.16));
}
.nt-strat-eyebrow {
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--nt-text-primary);
}
.nt-strat-sub {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--nt-text-secondary);
}
/* --- Dashboard: striscia di tile (una giocata per colonna, divisori verticali) --- */
.nt-strat-tiles {
    display: flex;
    flex-wrap: wrap;
}
.nt-strat-tile {
    flex: 1 1 0;
    min-width: 150px;
    text-align: center;
    padding: 6px 16px 4px;
    border-left: 1px solid var(--nt-border-soft, rgba(148,163,184,0.16));
}
.nt-strat-tile:first-child { border-left: none; }
.nt-strat-tile-play {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--nt-text-secondary);
    margin-bottom: 9px;
}
.nt-strat-tile-pct {
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
    font-family: var(--nt-font-mono);
    text-shadow: 0 2px 14px rgba(0,0,0,0.30);
}
/* ROI = delta CLV apertura->chiusura della giocata mostrata (vedi _clv_cell_html); qui sempre
   positivo perché la card mostra solo giocate con ROI positivo e significativo. */
.nt-strat-tile-roi {
    margin-top: 6px;
    font-size: 12.5px;
    font-weight: 800;
    font-family: var(--nt-font-mono);
    color: var(--nt-up);
}
/* Affidabilità = descrizione testuale NEUTRA (il colore ora è della %, per grandezza) */
.nt-strat-rel {
    margin-top: 10px;
    font-size: 11px;
    font-weight: 700;
    color: var(--nt-text-secondary);
}
.nt-strat-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    display: inline-block;
    flex: none;
}
/* --- tab Strategies: tabella unica Lega/Casa/Trasferta, ciascuna Giocata | Win% | Affidabilità --- */
.nt-strat-grid {
    display: grid;
    align-items: center;
    column-gap: 18px;
}
.nt-strat-grid-2 {
    grid-template-columns: minmax(0,1fr) 116px 116px;
}
.nt-strat-grid-scope {
    grid-template-columns: minmax(0,1fr) minmax(78px,auto) minmax(96px,auto);
}
.nt-strat-scope-title {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--nt-text-primary);
    margin: 16px 0 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--nt-border-strong);
}
.nt-strat-card--table > .nt-strat-scope-title:first-child { margin-top: 2px; }
.nt-strat-rel-cell {
    font-size: 12px;
    font-weight: 700;
    color: var(--nt-text-secondary);
}
.nt-strat-h {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--nt-text-secondary);
    padding: 0 0 11px;
    border-bottom: 1px solid var(--nt-border-strong);
    text-align: center;
}
.nt-strat-h-play { text-align: left; }
.nt-strat-play {
    font-size: 14px;
    font-weight: 700;
    color: var(--nt-text-primary);
    padding: 12px 0;
    border-bottom: 1px solid var(--nt-border-soft, rgba(148,163,184,0.12));
    display: flex;
    align-items: center;
}
.nt-strat-cell {
    padding: 12px 0;
    border-bottom: 1px solid var(--nt-border-soft, rgba(148,163,184,0.12));
    display: flex;
    align-items: center;
    justify-content: center;
}
.nt-strat-grid-2 > .nt-strat-play:nth-last-child(3),
.nt-strat-grid-2 > .nt-strat-cell:nth-last-child(2),
.nt-strat-grid-2 > .nt-strat-cell:nth-last-child(1) { border-bottom: none; }
/* griglia-scope (3 col): l'ultima riga = ultimi 3 figli, niente bordo inferiore */
.nt-strat-grid-scope > *:nth-last-child(-n+3) { border-bottom: none; }
.nt-strat-val {
    min-width: 62px;
    text-align: center;
    font-size: 17px;
    font-weight: 900;
    font-family: var(--nt-font-mono);
    padding: 5px 12px;
    border-radius: 999px;
    border: 1px solid transparent;
}
.nt-strat-val-empty {
    color: var(--nt-text-faint);
    font-weight: 700;
    background: transparent !important;
    border-color: transparent !important;
}
.nt-strat-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
    padding-top: 11px;
    border-top: 1px solid var(--nt-border-soft, rgba(148,163,184,0.12));
}
.nt-strat-lg {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 800;
    color: var(--nt-text-secondary);
}
.nt-strat-lg-label {
    font-size: 11px;
    font-style: italic;
    color: var(--nt-text-faint);
}
.nt-strat-note {
    font-size: 10.5px;
    color: var(--nt-text-secondary);
    margin-top: 10px;
    line-height: 1.45;
}

/* =====================================================================
   STRATEGIES — BARRE WIN% (redesign 2026-06-18b "wow & intuitiva"): ogni giocata = una barra
   la cui LUNGHEZZA = win% e il COLORE = grandezza (rosso/giallo/verde). 3 scope: Lega, Casa, Trasferta.
   ===================================================================== */
.nt-bar-scope { margin-top: 18px; }
.nt-bar-scope:first-child { margin-top: 2px; }
.nt-bar-scope-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--nt-border-strong);
}
.nt-bar-scope-title {
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--nt-text-primary);
}
.nt-bar-scope-sub {
    font-size: 11px;
    font-weight: 600;
    color: var(--nt-text-secondary);
}
.nt-bar-table {
    display: grid;
    grid-template-columns: minmax(96px,132px) 1fr auto auto;
    align-items: center;
    gap: 14px 16px;
}
.nt-bar-play {
    font-size: 13px;
    font-weight: 700;
    color: var(--nt-text-primary);
    line-height: 1.2;
}
.nt-bar-track {
    height: 11px;
    border-radius: 999px;
    background: var(--nt-bg-track, rgba(148,163,184,0.16));
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.28);
}
.nt-bar-fill {
    height: 100%;
    border-radius: 999px;
    min-width: 6px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--fill) 48%, transparent), var(--fill));
    box-shadow: 0 0 12px color-mix(in srgb, var(--fill) 45%, transparent);
}
.nt-bar-pct {
    font-family: var(--nt-font-mono);
    font-weight: 900;
    font-size: 17px;
    text-align: right;
    min-width: 46px;
    letter-spacing: -.02em;
}
.nt-bar-badge {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 3px 10px;
    border-radius: 999px;
    color: var(--nt-text-secondary);
    background: var(--nt-bg-track, rgba(148,163,184,0.14));
    white-space: nowrap;
    text-align: center;
}
.nt-bar-row--empty .nt-bar-pct { color: var(--nt-text-faint); }
.nt-bar-row--empty .nt-bar-badge { color: var(--nt-text-faint); opacity: .7; }
/* La riga-barra è una sotto-griglia: i 4 figli si dispongono sulle 4 colonne di .nt-bar-table */
.nt-bar-row { display: contents; }

/* =====================================================================
   STRATEGIES TABLE v3 (.nt-stt) — mockup utente 2026-06-18c: tabella unica con colonna Ambito
   (Lega/Casa/Trasferta), Win% (numero per grandezza + mini-barra), Affidabilità (chip+pallino), header
   con titolo gradiente + filtri. Tailwind del mock tradotto in token theme-aware.
   ===================================================================== */
.nt-stt-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding-bottom: 16px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--nt-border-strong);
}
.nt-stt-title {
    font-size: 19px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: linear-gradient(90deg, var(--nt-cyan), #3B82F6);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.nt-stt-sub { font-size: 11px; color: var(--nt-text-secondary); margin-top: 4px; }
.nt-stt-filter {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border-radius: 12px;
    background: var(--nt-bg-track, rgba(148,163,184,0.10));
    border: 1px solid var(--nt-border-strong);
}
.nt-stt-filter button {
    border: none;
    background: transparent;
    color: var(--nt-text-secondary);
    font-size: 11px;
    font-weight: 700;
    padding: 6px 15px;
    border-radius: 8px;
    cursor: pointer;
    transition: color .15s, background .15s;
}
.nt-stt-filter button:hover { color: var(--nt-text-primary); }
.nt-stt-filter button.active { background: #2563EB; color: #fff; box-shadow: 0 6px 16px rgba(37,99,235,0.35); }
/* Tab "ROI Storico" (2026-07-09): ROI storico puro back + lay sintetico, per ambito. Descrittivo. */
.nt-stt { width: 100%; border-collapse: collapse; margin-top: 4px; }
.nt-stt thead th {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--nt-text-secondary);
    padding: 14px 12px;
    text-align: left;
    border-bottom: 1px solid var(--nt-border-soft, rgba(148,163,184,0.16));
    white-space: nowrap;
}
.nt-stt-c { text-align: center !important; }
.nt-stt-r { text-align: right !important; }
.nt-stt tbody td {
    padding: 15px 12px;
    border-bottom: 1px solid var(--nt-border-soft, rgba(148,163,184,0.10));
    vertical-align: middle;
}
.nt-stt tbody tr:last-child td { border-bottom: none; }
.nt-stt tbody tr { transition: background .15s; }
.nt-stt tbody tr:hover td { background: var(--nt-bg-track, rgba(148,163,184,0.06)); }
.nt-stt-play { font-weight: 700; color: var(--nt-text-primary); }
.nt-stt-ambito {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 3px 9px;
    border-radius: 7px;
    border: 1px solid transparent;
    white-space: nowrap;
}
.nt-stt-ambito--lega { color: #60A5FA; background: rgba(59,130,246,0.12); border-color: rgba(59,130,246,0.28); }
.nt-stt-ambito--casa { color: #6EE7B7; background: rgba(16,185,129,0.12); border-color: rgba(16,185,129,0.28); }
.nt-stt-ambito--trasferta { color: #FCA5A5; background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.28); }
/* Win% = PROTAGONISTA: numero grande, colorato vs soglia di parita' (2026-07-15), niente barra;
   sotto il numero la soglia "per stare in pari: X%" -> colonna, non riga */
.nt-stt-win { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.nt-stt-be { display: block; font-size: 10.5px; color: var(--nt-text-faint); margin-top: 2px; font-family: var(--nt-font-mono); white-space: nowrap; }
/* 2026-07-20 (richiesta utente): 'Quante volte vince' e 'ROI' con CARATTERI ALLINEATI e SENZA
   grassetto — stessa famiglia mono, stessa taglia, peso normale, niente glow. */
.nt-stt-pct {
    font-family: var(--nt-font-mono);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: -.01em;
    font-variant-numeric: tabular-nums;
}
.nt-stt-sharproi {
    font-family: var(--nt-font-mono);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: -.01em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.nt-stt-na { color: var(--nt-text-faint); text-shadow: none; }
/* Rendimento storico = numero grande; dal 2026-07-15 il colore e' il CONFRONTO col banco della
   coorte (pos=batte il banco / neu=in linea / neg=peggio), non il segno; sotto, frase piana. */
.nt-stt-roicell { text-align: center; }
.nt-stt-roi { font-family: var(--nt-font-mono); font-weight: 900; font-size: 20px; letter-spacing: -.02em; }
.nt-stt-roi--pos { color: var(--nt-up); }
.nt-stt-roi--neg { color: var(--nt-down); }
.nt-stt-roi--neu { color: var(--nt-text-secondary); }
.nt-stt-roi--na { color: var(--nt-text-faint); }
.nt-stt-bank { display: block; font-size: 10.5px; font-weight: 700; margin-top: 2px; white-space: nowrap; }
.nt-stt-bank--pos { color: var(--nt-up); }
.nt-stt-bank--neu { color: var(--nt-text-secondary); }
.nt-stt-bank--neg { color: var(--nt-down); }
/* Badge 'Quota di oggi' (EV gated tradotto in parole: conveniente / leggero valore / nella norma) */
.nt-stt-evcell { text-align: center; }
.nt-stt-ev {
    display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px;
    font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
    white-space: nowrap; border: 1px solid transparent;
}
.nt-stt-ev--top { color: #34D399; background: rgba(16,185,129,0.12); border-color: rgba(16,185,129,0.3); }
.nt-stt-ev--mid { color: #FBBF24; background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.3); }
.nt-stt-ev--flat { color: var(--nt-text-secondary); background: rgba(148,163,184,0.10); border-color: rgba(148,163,184,0.22); }
.nt-stt-ev--na { color: var(--nt-text-faint); border-color: transparent; background: transparent; }
/* sottotitolo 'n{X} partite' sotto la Giocata */
.nt-stt-ncount { font-size: 12.5px; font-weight: 700; color: var(--nt-text-secondary); font-family: var(--nt-font-mono); }
/* wrapper scroll orizzontale (6 colonne su schermi stretti) */
.nt-stt-scroll { overflow-x: auto; }
/* footer: campione a sinistra + legenda ROI a destra */
.nt-stt-foot {
    display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: flex-start;
    margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--nt-border-subtle);
}
.nt-stt-foot-l { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: var(--nt-text-secondary); }
.nt-stt-foot-ico { color: var(--nt-primary); font-size: 15px; line-height: 1.2; }
.nt-stt-foot-scopes { display: block; margin-top: 2px; font-size: 10.5px; color: var(--nt-text-faint); font-family: var(--nt-font-mono); }
.nt-stt-foot-r { flex: 1; min-width: 240px; max-width: 560px; font-size: 10.5px; line-height: 1.5; color: var(--nt-text-faint); text-align: right; }
/* Accento laterale per AMBITO sulla riga (rafforza il raggruppamento Lega/Casa/Trasferta) */
.nt-stt tbody tr[data-strat-scope="lega"] td:first-child { box-shadow: inset 3px 0 0 #3B82F6; }
.nt-stt tbody tr[data-strat-scope="casa"] td:first-child { box-shadow: inset 3px 0 0 #10B981; }
.nt-stt tbody tr[data-strat-scope="trasferta"] td:first-child { box-shadow: inset 3px 0 0 #EF4444; }
.nt-stt-relcell { text-align: right; }
.nt-stt-rel {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 11px;
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
}
.nt-stt-dot { width: 6px; height: 6px; border-radius: 999px; background: currentColor; flex: none; }
.nt-stt-rel--forte { color: var(--nt-up); background: color-mix(in srgb, var(--nt-up) 16%, transparent); border-color: color-mix(in srgb, var(--nt-up) 32%, transparent); }
.nt-stt-rel--media { color: var(--nt-goal); background: color-mix(in srgb, var(--nt-goal) 16%, transparent); border-color: color-mix(in srgb, var(--nt-goal) 32%, transparent); }
.nt-stt-rel--bassa { color: var(--nt-text-secondary); background: rgba(148,163,184,0.14); border-color: rgba(148,163,184,0.26); }
.nt-stt-rel--na { color: var(--nt-text-faint); }
/* Colonna ROI (delta CLV apertura->chiusura, appaiato, in %): badge SOLO quando l'IC95% esclude lo
   zero (vedi compute_clv_delta_metrics_df) — altrimenti "non signif." spento, niente numero forzato. */
.nt-stt-clvcell { text-align: right; }
.nt-stt-clv {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--nt-font-mono);
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
    cursor: help;
}
.nt-stt-clv small { font-family: inherit; font-weight: 600; opacity: .82; }
.nt-stt-clv--pos { color: var(--nt-up); background: color-mix(in srgb, var(--nt-up) 14%, transparent); border-color: color-mix(in srgb, var(--nt-up) 30%, transparent); }
.nt-stt-clv--neg { color: var(--nt-danger); background: color-mix(in srgb, var(--nt-danger) 14%, transparent); border-color: color-mix(in srgb, var(--nt-danger) 30%, transparent); }
.nt-stt-clv--na { color: var(--nt-text-faint); font-weight: 600; }

/* =====================================================================
   SCOPE BADGES  (legacy: build_badges_html rimossa 2026-06-09; classi non più emesse)
   ===================================================================== */
.badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 16px 0;
}
.badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    background: linear-gradient(135deg, rgba(59,130,246,0.14), rgba(56,189,248,0.06));
    border: 1px solid rgba(59,130,246,0.28);
    border-radius: 999px;
    font-size: 10.5px;
    color: #BAE6FD;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* =====================================================================
   EDGE GRID  (build_corrected_top_picks_html / card Prediction ML)
   ===================================================================== */
.edge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 10px 0;
}
.edge-card {
    background:
        linear-gradient(180deg, var(--nt-bg-surface), var(--nt-bg-card));
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    padding: 18px;
    box-shadow: var(--nt-shadow-sm);
    transition: border-color .18s, box-shadow .18s, transform .18s;
    position: relative;
    overflow: hidden;
}
.edge-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 3px; height: 100%;
    background: linear-gradient(180deg, var(--nt-success), rgba(34,197,94,0.2));
    opacity: .8;
}
.edge-card:hover {
    border-color: rgba(34,197,94,0.42);
    box-shadow: 0 0 0 1px rgba(34,197,94,0.14), var(--nt-shadow-md);
    transform: translateY(-1px);
}
.edge-card h4 {
    font-size: 12px;
    color: var(--nt-text-secondary);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin: 0 0 12px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.edge-metric {
    font-size: 12px;
    margin: 4px 0;
    line-height: 1.5;
    color: var(--nt-text-secondary);
}
.edge-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}
.edge-pos {
    background: linear-gradient(135deg, rgba(34,197,94,0.18), rgba(34,197,94,0.06));
    border: 1px solid rgba(34,197,94,0.38);
    color: #4ADE80;
}

/* =====================================================================
   ODDS MOVEMENT  (build_odds_movement_html)
   ===================================================================== */
.odds-movement {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 8px 0 20px 0;
}
.odds-move-card {
    background: var(--nt-bg-card);
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    padding: 14px 16px;
    transition: border-color .15s, box-shadow .15s;
    box-shadow: var(--nt-shadow-xs);
}
.odds-move-card:hover {
    box-shadow: var(--nt-shadow-sm);
}
.odds-move-card.steam  {
    border-left: 3px solid var(--nt-success);
    box-shadow: inset 4px 0 12px -8px var(--nt-success-glow), var(--nt-shadow-xs);
}
.odds-move-card.drift  {
    border-left: 3px solid var(--nt-danger);
    box-shadow: inset 4px 0 12px -8px var(--nt-danger-glow), var(--nt-shadow-xs);
}
.odds-move-card.stable { border-left: 3px solid var(--nt-text-faint); }
.odds-move-label {
    font-size: 10px;
    font-weight: 800;
    color: var(--nt-text-secondary);
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 8px;
}
.odds-move-values {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.odds-move-val {
    font-size: 16px;
    font-weight: 800;
    color: var(--nt-text-primary);
    font-family: var(--nt-font-mono);
    letter-spacing: -.01em;
}
.odds-move-arrow {
    color: var(--nt-text-secondary);
    font-size: 13px;
}
.odds-move-delta {
    font-size: 11px;
    font-weight: 800;
    margin-left: auto;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: .04em;
}
.delta-steam  { color: var(--nt-success); background: var(--nt-success-bg); border: 1px solid rgba(34,197,94,0.28); }
.delta-drift  { color: var(--nt-danger);  background: var(--nt-danger-bg);  border: 1px solid rgba(255,107,107,0.28); }
.delta-stable { color: var(--nt-text-secondary); background: rgba(148,163,184,0.08); border: 1px solid var(--nt-border-strong); }
.odds-move-bar {
    height: 4px;
    background: var(--nt-bg-deep);
    border-radius: 999px;
    overflow: hidden;
    margin-top: 4px;
}
.odds-move-bar-fill {
    height: 100%;
    border-radius: inherit;
    box-shadow: 0 0 8px rgba(59,130,246,0.25);
}

/* =====================================================================
   H2H PANEL  (build_h2h_html)
   ===================================================================== */
.h2h-panel {
    background:
        linear-gradient(180deg, var(--nt-bg-surface), var(--nt-bg-card));
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    padding: 16px 18px;
    box-shadow: var(--nt-shadow-sm);
    height: 100%;
}
.h2h-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(31,51,72,0.45);
    font-size: 12px;
    color: var(--nt-text-primary);
}
.h2h-row:last-child { border-bottom: none; }
.h2h-result {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}

/* =====================================================================
   MOMENTUM  (build_momentum_html)
   ===================================================================== */
.momentum-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 10px 0 14px 0;
}
.momentum-card {
    background:
        linear-gradient(180deg, var(--nt-bg-surface), var(--nt-bg-card));
    border: 1px solid var(--nt-border-strong);
    border-radius: var(--nt-radius-md);
    padding: 14px 16px;
    box-shadow: var(--nt-shadow-sm);
}
.momentum-dots {
    display: flex;
    gap: 6px;
    margin: 10px 0 8px 0;
    flex-wrap: wrap;
}
.momentum-dot {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
}
.dot-w { background: var(--nt-success); box-shadow: 0 0 8px rgba(16,185,129,0.40); }
.dot-d { background: var(--nt-warning); }
.dot-l { background: var(--nt-danger); }

/* =====================================================================
   MINUTAGGIO CHART  (build_minutaggio_html)
   ===================================================================== */
.minutaggio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 8px 0;
}
.minutaggio-chart {
    background: var(--nt-bg-card);
    border: 1px solid var(--nt-border);
    border-radius: var(--nt-radius-md);
    padding: 12px 14px;
    box-shadow: var(--nt-shadow-sm);
}
.minutaggio-bars {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: 90px;
    margin: 22px 0 20px 0;
}
.minutaggio-bar {
    flex: 1;
    border-radius: 3px 3px 0 0;
    position: relative;
    min-width: 18px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.minutaggio-bar-pct {
    font-size: 9px;
    font-weight: 700;
    color: #fff;
    position: absolute;
    top: -15px;
    white-space: nowrap;
}
.minutaggio-bar-label {
    font-size: 8px;
    color: var(--nt-text-secondary);
    position: absolute;
    bottom: -16px;
    white-space: nowrap;
}

/* =====================================================================
   MISC
   ===================================================================== */
.note {
    font-size: 12px;
    color: var(--nt-text-secondary);
    font-style: italic;
    padding: 8px 0;
}

/* =====================================================================
   DATA TABLES  (profile-table / recent-table / kv-table /
                 market-table)  — Nowtrade_Build.py HTML output
   ===================================================================== */

/* Shared base for all data tables (.roi-table rimossa 2026-06-18: nessun emettitore vivo
   dopo il redesign Strategies -> .nt-strat-*; le sorelle restano invariate) */
.profile-table, .recent-table, .kv-table, .market-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    font-family: var(--nt-font-mono), var(--nt-font);
    color: var(--nt-text-primary);
    background: transparent;
}
.profile-table th, .recent-table th,
.kv-table th, .market-table th {
    background: linear-gradient(180deg, rgba(14,29,51,0.95), rgba(11,22,38,0.85));
    color: var(--nt-text-secondary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 11px 14px;
    border-bottom: 1px solid var(--nt-border-strong);
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 2;
}
.profile-table td, .recent-table td,
.kv-table td, .market-table td {
    padding: 9px 14px;
    border-bottom: 1px solid rgba(31,51,72,0.40);
    vertical-align: middle;
    white-space: nowrap;
}
.profile-table tr:last-child td,
.recent-table tr:last-child td, .market-table tr:last-child td {
    border-bottom: none;
}
.profile-table tr:hover td,
.recent-table tr:hover td, .market-table tr:hover td {
    background: rgba(59,130,246,0.06);
}

/* kv-table: two-column key/value */
.kv-table { font-size: 13px; }
.kv-table th {
    width: 38%;
    color: var(--nt-text-secondary);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    background: linear-gradient(180deg, rgba(14,29,51,0.75), rgba(11,22,38,0.65));
}
.kv-table td { font-weight: 600; color: var(--nt-text-primary); }

/* market-table: wide odds grid */
.market-table { min-width: 700px; }
.market-table td:first-child { color: var(--nt-text-secondary); font-weight: 700; font-size: 11px; }

/* Scrollable wrappers for wide tables */
.dashboard-table .table-shell {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--nt-radius-md);
    border: 1px solid var(--nt-border-strong);
    background: var(--nt-bg-card);
}

/* ROI color classes (roi_class() in Nowtrade_Build.py) */
.pos-high  { color: #22C55E !important; font-weight: 800; }
.pos-med   { color: #4ADE80 !important; font-weight: 700; }
.pos-low   { color: #86EFAC !important; font-weight: 600; }
.neg-high  { color: #FF6B6B !important; font-weight: 800; }
.neg-med   { color: #F87171 !important; font-weight: 700; }
.neg-low   { color: #FCA5A5 !important; font-weight: 600; }
.na        { color: var(--nt-text-faint) !important; }

/* Low-sample warning */
.count.low-sample { color: var(--nt-warning) !important; font-weight: 800; }
td.low-sample { color: var(--nt-warning) !important; font-weight: 800; }

/* Section headings inside profile/recent blocks */
section > h2 {
    font-size: 13px;
    font-weight: 800;
    color: var(--nt-text-secondary);
    text-transform: uppercase;
    letter-spacing: .14em;
    margin: 24px 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--nt-border-strong);
    position: relative;
}
section > h2::before {
    content: "";
    position: absolute;
    bottom: -1px; left: 0;
    width: 48px; height: 2px;
    background: linear-gradient(90deg, var(--nt-primary), var(--nt-cyan));
    border-radius: 2px;
}

/* =====================================================================
   SPARKBAR VISUAL STATS TABLE  (render_profile_visual_table)
   ===================================================================== */
.spk-section { margin: 0 0 20px 0; }
.spk-title {
    font-size: 12px; font-weight: 700; color: var(--nt-text-secondary);
    text-transform: uppercase; letter-spacing: .08em; margin: 14px 0 8px 0;
}
.spk-wrap {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    border-radius: var(--nt-radius-md); border: 1px solid var(--nt-border-strong);
    box-shadow: var(--nt-shadow-sm);
}
.spk-table {
    width: 100%; border-collapse: collapse;
    background: var(--nt-bg-card); font-family: var(--nt-font);
}
.spk-table thead tr {
    background: linear-gradient(180deg, rgba(14,29,51,0.95), rgba(11,22,38,0.85));
}
.spk-th, .spk-th-scope, .spk-th-count, .spk-group-th {
    padding: 9px 5px; font-size: 10px; font-weight: 800;
    color: var(--nt-text-secondary); text-transform: uppercase;
    letter-spacing: .10em; border-bottom: 1px solid var(--nt-border-strong);
    white-space: nowrap; text-align: center;
}
.spk-th-scope { text-align: left; padding-left: 12px; min-width: 160px; vertical-align: middle; }
.spk-th-count { min-width: 38px; vertical-align: middle; }
.spk-th-insights { min-width: 210px; text-align: left; vertical-align: middle; }
.spk-group-th {
    background: linear-gradient(180deg, rgba(59,130,246,0.14), rgba(56,189,248,0.06));
    color: #93C5FD;
    font-size: 9.5px;
    letter-spacing: .12em;
    border-left: 1px solid rgba(31,51,72,0.55);
    border-right: 1px solid rgba(31,51,72,0.55);
    border-bottom: 1px solid rgba(59,130,246,0.32);
    padding: 7px 8px;
}
.spk-group-row + tr .spk-th { padding-top: 6px; padding-bottom: 6px; font-size: 9.5px; }
.spk-row { border-bottom: 1px solid rgba(31,51,72,0.40); }
.spk-row:last-child { border-bottom: none; }
.spk-row:nth-child(even) { background: rgba(14,29,51,0.25); }
.spk-row:hover { background: rgba(59,130,246,0.08); }
.spk-scope-cell { padding: 8px 10px 8px 12px; vertical-align: middle; }
.spk-badge {
    display: inline-block; padding: 2px 7px; border-radius: 4px;
    font-size: 9px; font-weight: 800; text-transform: uppercase;
    letter-spacing: .07em; margin-bottom: 4px; white-space: nowrap;
}
.spk-lbl {
    font-size: 10px; color: var(--nt-text-secondary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 140px;
}
.spk-count {
    text-align: center; font-size: 12px; font-weight: 800;
    color: var(--nt-text-primary); font-family: var(--nt-font-mono);
    padding: 0 6px; vertical-align: middle; white-space: nowrap;
}
.spk-td {
    padding: 6px 4px; text-align: center; vertical-align: middle;
    min-width: 62px;
}
.spk-td--na { opacity: 0.45; }
.spk-compact {
    width: 56px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.spk-num {
    font-family: var(--nt-font-mono);
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    color: var(--nt-text-primary);
}
.spk-track {
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(31,51,72,0.55);
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.35);
}
.spk-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    transition: width 0.45s ease;
    box-shadow: 0 0 6px currentColor;
}
.spk-fill--na { background: rgba(148,163,184,0.35); }
.spk-insights-td {
    min-width: 210px;
    padding: 8px 10px;
    text-align: left;
    vertical-align: middle;
}
.spk-insights {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.spk-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,0.2);
    background: rgba(30,41,59,0.45);
    color: #CBD5E1;
    font-size: 10px;
    line-height: 1.25;
    white-space: nowrap;
}

/* =====================================================================
   PROFILE COMPACT TABLE (render_profile_visual_table — Stats/Recent)
   ===================================================================== */
.ntp-section { margin: 18px 0 28px 0; }
.ntp-title {
    font-size: 12px; font-weight: 700; color: var(--nt-text-secondary);
    text-transform: uppercase; letter-spacing: .08em; margin: 0 0 10px 0;
}
.ntp-wrap {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    border-radius: 14px;
    border: 1px solid var(--nt-border-strong);
    background: linear-gradient(180deg, rgba(14,29,51,0.85), rgba(11,22,38,0.96));
    box-shadow: var(--nt-shadow-md);
}
.ntp-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-family: var(--nt-font);
    min-width: 920px;
}
/* Dense mode: shows 30+ metric columns without horizontal scroll on desktop */
.ntp-table--dense { table-layout: fixed; min-width: 0; width: 100%; }
.ntp-table--dense .ntp-th-scope { width: 110px; min-width: 110px; }
.ntp-table--dense .ntp-th-count { width: 32px; min-width: 32px; }
.ntp-table--dense .ntp-scope-cell { padding: 8px 6px; min-width: 0; width: 110px; }
.ntp-table--dense .ntp-lbl { font-size: 10px; max-width: 98px; line-height: 1.15; }
.ntp-table--dense .ntp-badge { padding: 2px 6px; font-size: 8.5px; margin-bottom: 3px; letter-spacing: .06em; }
.ntp-table--dense .ntp-count { padding: 8px 2px; font-size: 11.5px; }
.ntp-table--dense .ntp-group-row .ntp-group-th { padding: 6px 2px 4px; font-size: 9.5px; letter-spacing: .06em; }
.ntp-table--dense .ntp-group-th .ntp-group-ic { margin-right: 3px; }
.ntp-table--dense .ntp-group-th .ntp-group-ic svg { width: 11px; height: 11px; }
.ntp-table--dense .ntp-col-row .ntp-th { padding: 4px 1px 6px; font-size: 8.5px; letter-spacing: 0; white-space: nowrap; }
.ntp-table--dense .ntp-td { padding: 7px 0; min-width: 0; }
.ntp-wrap:has(.ntp-table--dense) { overflow-x: hidden; }
.ntp-table--dense .ntp-meter { gap: 3px; }
.ntp-table--dense .ntp-val { font-size: 11px; letter-spacing: -0.02em; }
.ntp-table--dense .ntp-track { height: 3px; }
@media (min-width: 1600px) {
    .ntp-table--dense .ntp-val { font-size: 12px; }
    .ntp-table--dense .ntp-col-row .ntp-th { font-size: 9.5px; }
    .ntp-table--dense .ntp-scope-cell, .ntp-table--dense .ntp-th-scope { width: 130px; min-width: 130px; }
    .ntp-table--dense .ntp-lbl { max-width: 118px; font-size: 10.5px; }
}
@media (max-width: 1100px) {
    .ntp-table--dense { table-layout: auto; min-width: 1400px; }
    .ntp-table--dense .ntp-val { font-size: 11.5px; }
}
/* Cursor hint for tooltip-bearing cells */
.ntp-table--dense .ntp-td[title], .ntp-table--dense .ntp-th[title], .ntp-table--dense .ntp-group-th[title] { cursor: help; }
.ntp-table thead { background: linear-gradient(180deg, rgba(14,29,51,0.95), rgba(11,22,38,0.92)); }
.ntp-group-row .ntp-group-th {
    padding: 14px 12px 10px 12px;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    border-bottom: 1px solid;
    border-left: 1px solid rgba(31,51,72,0.45);
    white-space: nowrap;
}
.ntp-group-th .ntp-group-ic {
    display: inline-flex; vertical-align: middle; margin-right: 6px;
}
.ntp-group-th .ntp-group-lbl { vertical-align: middle; }
.ntp-col-row .ntp-th {
    padding: 8px 6px 10px 6px;
    text-align: center;
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .10em;
    color: var(--nt-text-secondary);
    border-bottom: 1px solid var(--nt-border-strong);
    white-space: nowrap;
}
.ntp-th-scope, .ntp-th-count {
    padding: 12px 10px;
    font-size: 11px;
    font-weight: 800;
    color: var(--nt-text-secondary);
    letter-spacing: .14em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--nt-border-strong);
    background: linear-gradient(180deg, rgba(14,29,51,0.95), rgba(11,22,38,0.85));
    vertical-align: middle;
}
.ntp-th-scope { text-align: left; min-width: 200px; }
.ntp-th-count { min-width: 56px; text-align: center; }
.ntp-row { border-top: 1px solid rgba(31,51,72,0.40); }
.ntp-row:nth-child(even) { background: rgba(14,29,51,0.22); }
.ntp-row:hover { background: rgba(59,130,246,0.08); }
.ntp-scope-cell {
    padding: 14px 12px;
    vertical-align: middle;
    min-width: 200px;
}
.ntp-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.ntp-lbl {
    font-size: 11px;
    color: var(--nt-text-secondary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    max-width: 200px;
}
.ntp-count {
    padding: 14px 8px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    color: var(--nt-text-primary);
    font-family: var(--nt-font-mono);
    vertical-align: middle;
}
.ntp-count.low-sample { color: var(--nt-warning) !important; }
.ntp-td {
    padding: 12px 10px;
    text-align: center;
    vertical-align: middle;
    min-width: 86px;
}
.ntp-meter { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.ntp-val {
    font-size: 17px;
    font-weight: 800;
    color: #F8FAFC;
    line-height: 1;
    text-align: center;
    font-family: var(--nt-font);
}
.ntp-val--na { color: var(--nt-text-muted); }
.ntp-track {
    height: 4px;
    border-radius: 999px;
    background: rgba(31,51,72,0.65);
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.30);
}
.ntp-fill {
    height: 100%;
    border-radius: 999px;
    transition: width 0.5s cubic-bezier(0.4,0,0.2,1);
    box-shadow: 0 0 6px currentColor;
}

/* Legend row */
.ntp-legend-row {
    display: grid;
    grid-template-columns: 1.6fr repeat(7, 1fr);
    gap: 12px;
    margin-top: 14px;
}
@media (max-width: 1400px) {
    .ntp-legend-row { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 900px) {
    .ntp-legend-row { grid-template-columns: 1fr; }
}
/* Metric guide footer card */
.ntp-guide-card {
    background: rgba(15,23,42,0.55);
    border: 1px solid rgba(148,163,184,0.10);
    border-radius: 10px;
    padding: 14px 16px;
    grid-column: span 2;
}
.ntp-guide-head {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 800; letter-spacing: .12em;
    text-transform: uppercase;
    color: #93C5FD;
    margin-bottom: 4px;
}
.ntp-guide-sub {
    font-size: 11px; color: var(--nt-text-muted);
    margin-bottom: 12px;
}
.ntp-guide-items {
    display: flex; flex-wrap: wrap; gap: 14px 22px;
}
.ntp-guide-item {
    display: flex; align-items: center; gap: 10px; min-width: 130px;
}
.ntp-guide-num {
    min-width: 36px;
    height: 22px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0 6px;
    border-radius: 6px;
    background: rgba(15,23,42,0.7);
    border: 1px solid rgba(148,163,184,0.18);
    color: #E2E8F0;
    font-weight: 700;
    font-size: 12px;
}
.ntp-guide-num svg { color: #93C5FD; }
.ntp-legend-bar { display: inline-block; }
.ntp-legend-bar-track {
    width: 56px; height: 6px;
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}
.ntp-legend-bar-fill {
    height: 100%; width: 65%;
    border-radius: 999px;
}
.ntp-guide-text { display: flex; flex-direction: column; gap: 1px; }
.ntp-guide-range { font-size: 11px; font-weight: 800; letter-spacing: .06em; color: #E2E8F0; }
.ntp-guide-desc  { font-size: 11px; color: var(--nt-text-muted); }

.ntp-legend-card {
    background: rgba(15,23,42,0.55);
    border: 1px solid rgba(148,163,184,0.10);
    border-radius: 10px;
    padding: 14px 16px;
}
.ntp-legend-card--info { background: rgba(15,23,42,0.4); }
.ntp-legend-head {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 800; letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--nt-text-secondary);
    margin-bottom: 10px;
}
.ntp-legend-head svg { flex-shrink: 0; }
.ntp-legend-info {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: var(--nt-text-secondary);
}
.ntp-legend-grid {
    display: flex; flex-wrap: wrap; gap: 12px 18px;
}
.ntp-legend-item { display: flex; flex-direction: column; gap: 2px; min-width: 70px; }
.ntp-legend-key {
    font-size: 11px; font-weight: 800; letter-spacing: .06em;
}
.ntp-legend-desc {
    font-size: 11px; color: var(--nt-text-muted);
}

/* Insight chips */
.ntp-insights-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 14px;
}
.ntp-insight-chip {
    display: flex; align-items: center; gap: 12px;
    background: linear-gradient(135deg, rgba(15,23,42,0.7), rgba(10,14,26,0.55));
    border: 1px solid rgba(148,163,184,0.10);
    border-radius: 12px;
    padding: 12px 14px;
}
.ntp-insight-ic {
    flex-shrink: 0;
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px;
}
.ntp-insight-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ntp-insight-title {
    font-size: 13px; font-weight: 700; letter-spacing: .01em;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ntp-insight-sub {
    font-size: 11px;
    color: var(--nt-text-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* =====================================================================
   PROFILE TABS + DRAWER (render_profile_visual_table v2)
   ===================================================================== */
.ntp2-section { margin: 18px 0 28px 0; }
.ntp2-external-heading {
    margin: 18px 0 12px 0;
    font-size: 20px;
    font-weight: 800;
    color: #F8FAFC;
    letter-spacing: 0;
}
.ntp2-kicker {
    font-size: 12px; font-weight: 700; color: var(--nt-text-secondary);
    text-transform: uppercase; letter-spacing: .08em; margin: 0 0 10px 0;
}
.ntp2-wrap {
    border-radius: 14px;
    border: 1px solid var(--nt-border-strong);
    background: linear-gradient(180deg, rgba(14,29,51,0.85), rgba(11,22,38,0.96));
    box-shadow: var(--nt-shadow-md);
    padding: 18px;
}
.ntp2-header { margin-bottom: 12px; }
.ntp2-title {
    margin: 0;
    font-size: 20px;
    color: #F8FAFC;
    letter-spacing: .01em;
}
.ntp2-subtitle {
    margin: 6px 0 10px;
    font-size: 12px;
    color: var(--nt-text-secondary);
    line-height: 1.45;
}
.ntp2-header-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 10px;
    border: 1px solid rgba(56,189,248,0.3);
    background: rgba(56,189,248,0.12);
    color: #BAE6FD;
    font-size: 11px;
    font-weight: 700;
}
.ntp2-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 16px;
    padding: 10px;
    border: 1px solid var(--nt-border-strong);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(8,15,29,0.55), rgba(11,22,38,0.45));
}
.ntp2-tab-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    border-radius: 8px;
    padding: 0 14px;
    border: 1px solid var(--nt-border-strong);
    background: var(--nt-bg-input);
    color: var(--nt-text-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
    transition: all .16s ease;
}
.ntp2-tab-label:hover {
    transform: translateY(-1px);
    border-color: rgba(56,189,248,0.50);
    background: linear-gradient(180deg, rgba(14,116,144,0.20), rgba(11,22,38,0.65));
    color: #E0F2FE;
}
.ntp2-anchor { display: block; height: 0; overflow: hidden; }
.ntp2-state-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.ntp2-state-chip {
    border-radius: 10px;
    border: 1px solid rgba(148,163,184,0.18);
    background: rgba(15,23,42,0.55);
    color: var(--nt-text-secondary);
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 11px;
}
.ntp2-chip-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: #E2E8F0;
}
.ntp2-active-name { display: none; color: #93C5FD; font-weight: 700; }
.ntp2-band { display: inline-flex; align-items: center; gap: 5px; color: var(--nt-text-muted); }
.ntp2-band i {
    width: 14px; height: 5px; border-radius: 999px; display: inline-block;
}
.ntp2-band b { color: #E2E8F0; font-weight: 700; }
.ntp2-pane { display: none; }
.ntp2-pane-title {
    margin-bottom: 8px;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #93C5FD;
    font-weight: 700;
}
/* Caption delle due sotto-tabelle (Contesto lega / Le due squadre), redesign 2026-07-12. La 2ª tabella
   nel pane prende un margine sopra per staccarla dalla 1ª. */
.ntp2-subcap {
    margin: 4px 0 5px;
    font-size: 10.5px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--nt-text-secondary);
    font-weight: 700;
}
.ntp2-table + .ntp2-subcap { margin-top: 16px; }
/* Hero (lega + squadre) e legenda del blocco Stats — redesign 2026-07-12 (mockup). */
.ntp2-hero {
    display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
    padding: 9px 15px; margin-bottom: 10px;
    border: 1px solid var(--nt-border-strong); border-radius: 12px;
    background: linear-gradient(135deg, rgba(30,58,138,0.18), rgba(11,22,38,0.55));
}
.ntp2-hero-league { font-size: 12px; font-weight: 700; color: var(--nt-text-secondary); letter-spacing: .01em; }
.ntp2-hero-match { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-left: auto; }
.ntp2-hero-team { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: var(--nt-text-bright); }
.ntp2-hero-badge { align-self: center; }
.ntp2-hero-vs { font-size: 11px; font-weight: 800; color: var(--nt-text-faint, #64748B); letter-spacing: .12em; }
.ntp2-table + .ntp2-table { margin-top: 14px; }
.ntp2-legend { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 10px; padding: 0 4px; font-size: 11.5px; color: var(--nt-text-secondary); }
.ntp2-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.ntp2-legend-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; flex: none; }
.ntp2-table {
    border: 1px solid var(--nt-border-strong);
    border-radius: 12px;
    /* Scroll orizzontale invece del taglio quando le colonne superano la larghezza
       (es. tab "ESITI & GOAL" wide su desktop stretti). overflow-y resta visibile:
       l'altezza segue le righe → nessuna barra verticale spuria. (densità 2026-06-16) */
    overflow-x: auto;
    overflow-y: visible;
}
.ntp2-head,
.ntp2-row {
    display: grid;
    grid-template-columns: minmax(150px,1.05fr) repeat(var(--ntp2-metrics), minmax(94px,1fr));
    align-items: stretch;
}
.ntp2-head {
    background: linear-gradient(180deg, rgba(14,29,51,0.95), rgba(11,22,38,0.85));
    border-bottom: 1px solid var(--nt-border-strong);
}
.ntp2-head > div {
    padding: 10px 8px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: var(--nt-text-secondary);
    text-align: center;
    border-left: 1px solid rgba(31,51,72,0.45);
    min-width: 0;
}
.ntp2-head > .ntp2-col-main { text-align: left; border-left: 0; }
.ntp2-row-toggle { display: none; }
.ntp2-row {
    background: rgba(11,22,38,0.45);
    border-top: 1px solid rgba(31,51,72,0.40);
    cursor: default;
    transition: background-color .15s ease;
}
.ntp2-row:nth-of-type(even) { background: rgba(14,29,51,0.30); }
.ntp2-row > div {
    padding: 9px 8px;
    border-left: 1px solid rgba(31,51,72,0.40);
    min-width: 0;
}
.ntp2-row > .ntp2-col-main { border-left: 0; }
.ntp2-scope { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; text-align: left; }
.ntp2-scope-meta { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.ntp2-scope-meta .ntp2-badge { align-self: flex-start; }
.ntp2-scope-count { font-size: 10.5px; color: var(--nt-text-faint, #64748B); font-weight: 600; white-space: nowrap; }
.ntp2-scope-count--low { color: #fbbf24; }
.ntp2-badge {
    display: inline-flex;
    /* Centrato sotto l'header "SCOPE" (centrato) e sopra la label (centrata): prima era
       flex-start = a sinistra → disallineato. (richiesta utente 2026-06-17) */
    align-self: center;
    padding: 2px 7px;
    border-radius: 6px;
    border: 1px solid;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}
.ntp2-scope-label {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--nt-text-bright);
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
}
.ntp2-col-count {
    font-family: var(--nt-font-mono);
    font-size: 13px;
    font-weight: 700;
    color: #F8FAFC;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ntp2-col-head { cursor: help; }
.ntp2-cell { display: flex; flex-direction: column; gap: 4px; align-items: center; text-align: center; height: 100%; }
.ntp2-cell-head { display: flex; justify-content: center; align-content: flex-start; gap: 6px; font-size: 9px; flex-wrap: wrap; min-height: 22px; }
/* Nome-metrica nella cella NASCOSTO su desktop: è già nell'header di colonna (declutter
   densità 2026-06-16). Resta il sotto-label (nome squadra / descrizione) che dà contesto. */
.ntp2-cell-key { display: none; }
.ntp2-cell-sub {
    color: var(--nt-text-muted);
    /* Didascalia lunga (tab "UNDER & TEMPI": "Vince senza subire Trasferta", "Primo gol
       entro 30'", "Minuto mediano 1° gol", ...) DEVE andare a capo DENTRO la propria cella.
       Era white-space:nowrap → in colonne strette (scroll orizzontale della tabella) lo span
       cresceva con il testo su una sola riga e traboccava sulle celle adiacenti; l'ellipsis
       non scattava mai perché lo span non era vincolato in larghezza. Ora wrap compatto su
       2+ righe entro la cella. I tab vecchi hanno didascalie corte (1 riga) → resa invariata. */
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.15;
    max-width: 100%;
}
.ntp2-cell-val {
    color: #F8FAFC;
    font-weight: 800;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    margin-top: auto; /* ancora value+barra in basso: baseline comune su tutta la riga */
}
/* Barra ORIZZONTALE sottile sotto il numero (densità 2026-06-16: era un vial verticale 14×40px
   meno leggibile e più ingombrante). Larghezza == valore, colore per soglia. */
.ntp2-cell .ntp2-bar { width: 100%; max-width: 72px; }
.ntp2-bar {
    height: 5px;
    width: 100%;
    max-width: 72px;
    margin: 5px auto 0;
    border-radius: 999px;
    background: rgba(31,51,72,0.65);
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.30);
    display: flex;
    align-items: stretch;
}
.ntp2-bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    box-shadow: 0 0 6px currentColor;
    transition: width .2s ease;
}
/* Campione ridotto: il conteggio nella colonna Matches è attenuato + ⚠ (densità DENS-07) */
.ntp2-count-low { opacity: .7; color: var(--nt-goal); }
.ntp2-col-signal {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ntp2-best-signal {
    border-radius: 999px;
    padding: 3px 8px;
    border: 1px solid rgba(56,189,248,0.35);
    background: rgba(56,189,248,0.12);
    color: #BAE6FD;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}
.ntp2-drawer {
    display: none;
    background: rgba(2,6,23,0.85);
    border-top: 1px solid rgba(148,163,184,0.09);
    padding: 10px;
}
.ntp2-row-toggle:checked + .ntp2-row + .ntp2-drawer { display: block; }
.ntp2-drawer-box {
    display: grid;
    grid-template-columns: repeat(7, minmax(180px, 1fr));
    gap: 8px;
}
.ntp2-detail-group {
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--ntp2-accent) 34%, transparent);
    background: rgba(15,23,42,0.56);
    padding: 8px;
    min-width: 0;
}
.ntp2-detail-head {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--ntp2-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.ntp2-detail-ic { display: inline-flex; }
.ntp2-detail-grid { display: grid; gap: 6px; }
.ntp2-detail-item { display: grid; gap: 4px; }
.ntp2-detail-k {
    font-size: 10px;
    color: #CBD5E1;
    letter-spacing: .04em;
}
.ntp2-detail-m .ntp-meter { gap: 3px; }
.ntp2-detail-m .ntp-val { font-size: 11px; }
.ntp2-detail-m .ntp-track { height: 3px; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 768px) {
    .product-hero { flex-direction: column; align-items: flex-start; padding: 24px 20px; border-radius: 22px; }
    .product-hero > div:first-child { gap: 18px !important; }
    .product-logo-wrap { width: 84px; height: 84px; }
    .hero-visual-stats { width: 100%; }
    .stat-bubble { flex: 1; min-width: 120px; }
    .nt-match-grid { grid-template-columns: 1fr; }
    .nt-kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .product-title { font-size: 38px; }
    .product-subtitle { font-size: 13px; letter-spacing: 0; }
    .kpi-row { grid-template-columns: repeat(2, 1fr); }
    .odds-movement { grid-template-columns: 1fr; }
    .edge-grid { grid-template-columns: 1fr; }
    .momentum-row { grid-template-columns: 1fr; }
    .minutaggio-grid { grid-template-columns: 1fr; }
    .ntp-legend-row { grid-template-columns: 1fr 1fr; }
    .ntp-insights-row { grid-template-columns: 1fr; }
    .ntp-table { min-width: 760px; }
    .ntp2-state-row { grid-template-columns: 1fr; }
    .ntp2-head,
    .ntp2-row { grid-template-columns: minmax(150px,1fr) repeat(var(--ntp2-metrics), minmax(112px,1fr)); }
    .ntp2-table { overflow-x: auto; }
    .ntp2-drawer-box { grid-template-columns: 1fr; }
}



@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

.stApp {
  background-color: #0B0E14;
  background-image: 
    radial-gradient(circle at 15% 50%, rgba(59, 130, 246, 0.08), transparent 50%),
    radial-gradient(circle at 85% 30%, rgba(16, 185, 129, 0.05), transparent 50%);
  color: #E2E8F0;
  font-family: 'Inter', sans-serif;
}

.stApp::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iSW52ZXN0aW5nIEZvb3RiYWxsIGxvZ28iPg0KICA8IS0tIE1hcmNoaW8gIkludmVzdGluZyBGb290YmFsbCIgKDIwMjYtMDctMzApLiBXcmFwcGVyIFNWRyBhdHRvcm5vIGFsIFBORyBhIHNmb25kbw0KICAgICAgIHRyYXNwYXJlbnRlOiBsYSBzb3JnZW50ZSBmb3JuaXRhIGUnIHJhc3RlciwgZSBxdWVzdG8gZmlsZSBlJyByZWZlcmVuemlhdG8gZGENCiAgICAgICBjb25zdW1hdG9yaSBzdG9yaWNpIChtb2JpbGUpIGNoZSBzaSBhc3BldHRhbm8gdW4gU1ZHLiBJbCBwZXJjb3JzbyBjYWxkbyBkZWxsYSB3ZWJhcHANCiAgICAgICB1c2EgZGlyZXR0YW1lbnRlIC9sb2dvLnBuZy4gLS0+DQogIDxpbWFnZSBocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQU1BQUFCcnJGaFVBQUFEQUZCTVZFVmZYMWNrRmhoYlhoMVVIaFlwWEI4aU55SWdPeDhpTnlDV2xwVnJpbDBpUXg1Y0hHWHczK1Zid1NBM2FUT2I2Qy9PM3FRa1JCdWRuVzcvQUFEL3F2Ly9BUCtBblZqL2YvOWRkRVI1aVlVZkQyLy9xcXAvLzM4QVZWV3FWV3BFWURLTmNZMlptVE9oc1pFQUFQLy8vMzkvalg5VnFsVS9nMEozZDRpbXFxTnZmWG5BMTNTcUFGVkFYQ25NekxKL0FQODhVRW5OMzhJQS8vOEFBQUQyOS9RQ0ZoVUVHU1BuNk9iVTE5UUtKU1VSTnhFSUpoSUFDdzdGeWNpa3FxdVBscGljb3FTeHQ3Zkk5MUxTK1c2eDlUWk5xQ2tZUXhPNDlVeFZ0U2R2eHlrV054WHAvcEF3Vnk2eDVtc3VtQ1owcDFPVzVDNkoyUzFNV0ZpV25hRW9TQ3pGK3prQVZRQTBaektUdVdvVWh5WnRtRkRlNE4zVitJcTl3c0pTZDBrUUp4Q3Y2VkVJRnc2dDJtMERGeElFRmhKWGgwc0Fmd0NSMkU4bk56Um91VFJtaVU0NW95WkZhRFZ3dDAwWU5pU0ZxVlpLYUV0TWVEVUhGdzkzeFVzSkp3MkVqSTA0UlVZQ0JnVjYwaWxxeFJ3VU5oSWpTUnFLeVZPNTJJZ0xKdzRKRmd5cHlIT202ellFRlE4Wk5oVTBtQnh0ZDNiSzZZc1BLQkNUeG1vT0tBN3UvcVZLcVJ3QkNncmc0ZDR5ZERNWU14UlZ0UnlOdDFVQ0NRZTU5RzV3bUdoYVpXWWxLaEZKbUN3VEpoSjRwMnVWMkdZUEZnd1ZOUkwvLy80cVZCcUlxbXNOZXloamEyMVBoVG1aNUU0dGlDOEEvd0FQS0Fyai9YaDdnNFRGNjNSQ1MwNkgyUndBT3dDN3diNjM1NFZZbEVocWlXa0NEQXkweW9nV2hodkQ3Vk45Zlh5VXVJbFRWbElBS1NrNldFTWlMVEJEbXh3cGpCb3dPQzU2MHh3bVN5TWNSQ2N5UFVFWU15Q1JwSk1TSmlJQkRROGNRUmt2T0JRTWZCekIyNHNxVlFBVktpRjcwazAwWjBOa3JEUnJhR3pkNGVCYnRrZTV2c0Jqdmh1WTVtWVphaXdwT1NrYk14cDN0bVFCRFJDNzhZSmdpRDRoUXh3bktDVWpReDFsa3pzeFJTdFdxRVUyZEVGV1htR2wyVlZDWFRvYVFSYWh2VzZKaDRjY2tTZDJmWUYvZjEzLy82cVltSmdzUmlyLy93QTBBRFF2Umk2Q3pUTStvQjRrT1J5aHhsMHNWU3lCbTJpbnA2YzNVeWtkTlNPY3dvODJSek01SGoxM3lXUWhPUm9HTEk5V0FBQUJBSFJTVGxNVkV3a0grVnVtNXg3a2RBVVMvd3IvL1pnSEFRTUIvUUxiSVFVREFnTUUyZ2tGcmdFQ2hBUCtEMVMxL2dPL0NnTFlpZ0VBL3YzOS92NzkrdnY5L3Y3Ky92Nysvdi8rL1A3Ly9ySDkvUDcrL2YvLy92Nzgvd1A5L1AvOS92MysvVkwrU3YzTHFQMEMvdjMrKy83Ny92MzkvZnRzL3MzKy9pNy8vOC84L2Yyckwvei9rR3IrL3YxdC9ZZjkvMm4rL1ZiLy9FLysvdjRXL2pEKy9oU1BBdno4L3Y3OS92NEJFUDcrL2Y3L0JQNysvZjJNL1AvK0NQNEpCdjMrL3Y0VS82djkvclAreEt1dEV2NzlCckQvL2Y0Ti92NysvLzc5TWpEOXkvNzZzUkxMK3hiKy92NzkrOWo5RS8vK0J3TW96Z0VGVVAvL05Qd0c5UW5WeHY0d0N2OUpPNStLOEFBQVJDeEpSRUZVZU5yZHZRZGdXOGVaNzBzN1BkbHMzMXZmdmZmMTNzRkRBT2NjTkVJRUNSSVFTQW9XYUJBRUswUVFKaWwyeXV5aXhLSnVzYWhSRWsxWlBWYXpZMnNsbDloeEhDZnZ4aVgyeG5hcTA3T2IrMTZTM2MzMjl2N2Z6RGtIQngwZ0tTVjdKeElqeVJMSjd6ZGZtMisrbVNreTNLZXhQZjdMLytwREdJWUhqdUdYRjFmK2pmN3YwRERjMzFGMFg3L2FjQi9HOUJjd0JscS84SVhXMW9HQmdaSEtQWE56YzBjdUhsdFowZjdhanY5c0FQdzcrdkJ2Vnd3TDB4QzhWUkFFYzhLUUpGRVVYZmdwc1RFeGQzclA2VDlkK2U3dk13ZzcvclBRZ0pYaHZ1azJRU2d4cHh1USthOW1XMXJHcCtwMjdnekdPZ01lbHlpQmhhdnk5SkVULzhmOWduQXZBUXczVDdjSzVpeERFbFl2T1ozT0tuWE1QdlhVYXJoejFBVVFFL3VPTko2Z1QzSmgrejgvQUJjTWh1OHVMTFJoNXMyWStwVFpwei9qZnlnS1BtZHBlUlBHYnZyb2RJWkMrL2RYelk1UDdZeDBlbUFZbFpXZlpCQjJiUC9ucGdHTnJWenRTK0xpQzN6STVBY0UrcStTWkJZbEFDajFlcHVheXBYUlZONzBXVktKL1ZXaDhkV3dIKzZoOHNndi8zbHB3TEhtNXJZQlB2T0srRnpxbDJ1djFzN1liRGFydzJReUdvMkhqTFVDQU94MGxudGQ0dWpaUUcva0E5L1JzYWJ5VWxLSjh0TFNVcUlRZXVwZmhEMHdoMDhlZVNFeGtQNzZBaGp1YXkxaGc2bDVTUW1FTHpGRGNJdkpXSncwT0lEU2NxK29Ea2wwblEyY0M0NTV5NkVYVUFjRlFoRFdNRko1NHRkZkF5NnVMTFFKSmZHQmlUY1BMZHNzcXVpWTkzcmpvWG9qRFQwQXhNRXZWbjYrc25LRVUwQm85UFR1SFB0aEV5bkRaNTBoT01lcDJGbFJHdGl6VWtUdTVkY1d3SENyd09hZGY0RDBMODlZVFlyazlTWTI2bzNHWkExd2tnWlVjb0NOSnhyM1ZUSVFvT0R5UUJlYVNCV2dDUHREVTdGUjZNRzdtNThrYlJZQXBEbnF6SnRKK3VqbEJpNDdreHdXa00wRUtqKzFZOGNGVGJLVkV5ZE9jMjBRei9ZZTljSWZ3REVpUnBJcGNFdlkvbXNIWUFIeFhpZjkwS0NGU1UraXA1TmRBZEN0QWRDRlVDWDVtV3pjVXltT01nYStGcWZpRk90NlI2WEtJKy8rdW1uQVNuTnIzTzRGT1RwRGM4KzAzcExHOStVQW9GczUvUUdNb3BMMHdCWFllUVVNb0FiN1o4a1NLait5aVVxd1lRQXJ0M1RpeStaYU80bGNUOEpiWVBQRnhlc0NvTlB6ZjJMbTREcDM5QW9RbERyM3p3WkhSVmZsdTc4MkduQXdRZnpMSmtYenMwKytIa0JwSmdCeENJMTdpSUhINTNVeWp6aTdpZ1JwajJHVElrTFJCc1VYNHVKSEx4dVoxNFBzRnBPcE9OZlFhY0JJdGpvQzh3a25tQzNFcHVBUUNRRzBvUEtYdjJJTitIZUdaK1plRlVvRVRYd2JpVSthRCttTnhjV2JCVUJSaFArVm5LSW9mdmlvb2dVeGwvalJsZHViNEFvMm9BRksxa01mWmZPZ0pyN0ZWSnpYS0FBQUgzOXdnaXpoN05GRk9JT3FxdkVBL3QySmpSTW9Xbi9lbzRWOTJUeGo0dUxuWWZweEFGSjJKNWlpQmhjTUs0MlZTQnNETzUwd2hGQlZuVWNjK2VXRzQ4RjZBZlFKbXZJTHl5WnUrcFlDeEM4Y2dNTDlDTlFnQUVOb2NsYjlkcEE1dzE4QmdHTzZ2RStvZFZDV2J5cG85blVBU2dzRGdFRXhvZmVITEMrWTZoUXI5eHpia0JLc0I4Q3diczBqTDJ1ZTMxS0krT3ZWQUNic0hCS0RJS1ZHbDZwOGNJYkQ5MWtERmxyVnJJOEFXSXNQS2NaZlhOaklsUWhsUXpDSjdNZ3o3eVFsR08rRUhYejdQZ0o0Z0U4L0FxQXdKSUdCUlFsOXh1TDdCWUFoV0VGUTdQVTZQMXRhVmJYVEpaNWVmemdvV2svd1k4VXRLWFlUbFo2b1l2M0Z4WVVETUJjV0J2VUQyZEVSTEpiR21ETjh5ck9PejdCT0FIMmErbnRPenY5SUxwSFhqRFQveHVKMUFUQ3ZHd0JiaFp4R2JraXJaYVJGNHNpZWRRYkV3Z0EwQzRybFM3RzY0TWtvQU5pTVRINWo0UWhxSlEzQWdHRjllMjF6THJHVGxzcVhxdXBFOFhmV1Z5d3BDTUMwd0FBSWd2L2txcWYzSkJrQzZUK3JkaG52dXdaZ05UVDVPMUlkTHhhTWU4UWY3ekU4ZVU4QlVNMkxwbCtRZXVwaWt1Q0xRQUhNV1BnVkd3c0hZTnIyVTZxTGJ3d0FqWWxZRmR5QTg3T1hRdDhVeGNaN3FnRUxBbk4vSlVKM3NLNUhrTHZmOXdCQXJkRmlLbFI4bytOeWxBcW1aQUsralFIWWJxZ2N2ZUw4SWNJQmxPQ3ZFQS9mdlhjQUZnUm0vZVQ5Z3FOeWllQ3Y2eGFZRDZ3dkNFQzlmWm1rSitFbDg0WTFZSWRoajFqbnZESTZlcFIyMkg3aUVyOVZzQ01veXR2OUtlR3ZaelVteVhDRFBTY2xBTERWVzR6Ry9BRTQxc3hzaXhpZlNkb01BQ2dVU0VGbjZKeUxFa1BtQ1A3MkhtbkFBcDkrV1Fxdmhza01TdVRJSitqLytUWlBmZ0JNMEh5MllRYnAvWjZJbi9iSWZCc0Y4S0dCVHVlbG5kaGpQNGVBR0pydEZMKzQ1eDRBZUUzUmY3azdlTkxEbDRIU1VnL2tOMXZ5Qm1EcE1iUDJBRXgrTkJ6MG5henpiQWFBSFlaOVo3M08vMlUwOEdGWHdFdlJvRmNjYlRTYzJXUUFENmpaWDNSSmxWK1FUc0lIQ2xHVEFpQ243dGV5eWFlNUQwUjg3L3VDa1FDWkFBRm8yZ2lBN1laR2NkNTU2VWVmK09TM1hCN21DaU1vbVJiOXQ1c0w0SmJxL3BhQ1VWa0I0RjhpSDdoc3pFZCs0eXRESkQ0K2d3anBmZTh2OVdMSGt6a0JBTmpTVlBoYVFEOWVHQWc2cTJKekJrT2xhM1FLQlBZSFJWZGpBVWxoVVQ3eTgrelhjekltcVdVUStVNUVvQ0NRVC9uUENtcllEY2ZraDMwbk1mZDNKSEtCZk0vY1Y3NVJBSVlKT0lHcHZuOVBCRnhqenM4eUFuc01EMjRlZ0FWQlRmNGpVcndNMHVPWDJaK2FoMnF4K1d2UHZCcXdEc2xrK29Ma3dlUUhJNTV1ZmFmUXhnRnNOOHdoRTVqOUhjTnZNZ0pIeVFwV1JkZnB6ZE1BSmY4UmFsY2pnaEFISUFsYVFaU0dZSTR1WXkrMFBzWDExY3FzSVVMeUJIMCtYOFRGbHBISzlETUFwUnNHY0VSQ0V2QWY2TmYvY05vbEhpVWRBSUc1b2swQ3NNRFNYMEgyMUVXb3owRW8wUlZEbU95czI0TTZBV1JTOU5yYXl6YXJaaGFtR1d5V01QRmpKMzJ4MXpINWtwbG5RRG9BM2cyYXdBdFN4T21NOFY4ekF2QURxeTdYU05Fem13RmdtTHMvR2ZvdktDdkIrSkNqZHR0ZzdjdFJzOEJJY0RDVTVONnRYYk01VEVhYldXWXpmaGhSTCthUlNQVjFzOCthcEdBQ0d3VmdxQXc0blVlSEZYdFFyTUFudXI1anVMMEpBTnJTMkwrbUJHdktUSnNjRHR0eTdaQTVXaUp6QXljSzhsMzRQbmgrTVJBazA1Y0VLVjJYMk1ZQlBHbllNOXJpYkRsdCtEbjk3aUowWUl3SUJFVi9vK0cvMkRDQWFUYnBXUDJTL2FzS3I4aHZkaVNuK1NhTEZTRE1BdGNHNmhFVHBBQ1VQK3lub0pmYUxyWkpHa0NaZ1BOdjFOL3RvMWlBaFVGTWRIM3VYLy8xQmdHOHl2Vy9lMmxKb3VxWG53WVVuaVhGVjAxSzJ3c1d3NGtacjhXMjlyS1pwdzdkc1pOTFlUK3NRRENYcE8wVDNNa0FqR3dJZ0dIQUJ5Y3dySzBQUlJjYUNpN3Q3NlY4WUdNQVh1V2V6cnkwUk1ZY0RZZkRQWGNBZ0FxaU1tMkVGaHNUaDU2Q0k0cS9GYWJaWnlqTUdRRDROZzRBaHQvcmROWXRhTldRU3ZFc3N1S3EvV0h4aXhzRG9DWUFrWk4rV2EyRXNrZ0ExKzRvVHBVL0VjTU1NdVhWaUNncDhtZm9GTjBFQURzTWphTlhTcjJuNDduUHQwUVBJOUFwL3ZqZERRQllVQkxBOEVtVzgyaXhEem94UkZXZzR2VENxd0Nzc2xtSVJQQXZKQ0ZMcTZ4dk0wemdCZFFFNGs0QWxiSktzWmNjNFN5cXhlOXVYeStBWVM2dEhLQlZEMDk1VlBsbm1KRDE2ZVNQMjRHcHhDd0VWaWwybU84MWdBY0hQb0FUV05DdEFTdkZDQkg0c2dzcDRXK3VFOENyWE92OUozdmk4WTg3ZDF0bTlkZTdBU3lBL0ZqemxtUWhvQUtZMkpEOFR4cm1PcDNPblF1Nmt1aWtLTElLU1ozb24xdWZCcXpjWWhxUEFCQk96SDRvK2hsem1ML3FCQVR4WkRpOSs5Y0RhTnFnQnB3eC9FTXJpdVBPVHd4cjFiQWRoaE04SWFLRjBkeTZBTEFOQUl5YlMxSUNBTmxzeVdUK3ljc2hLMkkvNHFlVXRWMmVoMEVYMjk5YzcrYlc4RVJzRnNLRy90V3c1Z2UzSXlsR2VvUjlzMDZYYXowQXFBSk9CSHBPdnBRb1AzTi82SFRPTnZXcUV6Q1RBeFdGWEFCYVJNa3pIdnpad1hYdThSNnNqSTJIV2o0NDl4ZFZWYkVGemVCQmdBZkRXWStyTW1zN1ZWSG1ETGhFOXNNQjZnSElROHpQbTR6NUFDaEdCZEREQ2wrNUFJaGlYVldvemo4OXZMN1pyL0tlRXdjR1hFZXhUZHFzKzA5ZjVLRmdTaHlkeTFZcExrcmYvc0c4SFhNQWV2bHJtYW9meWsvKzRtV2hSS29MWndVZ0tRQ2t6cm9RdWgwbUZncXpoSU1mZy9oWGZLTURmUy84MnprcFdGVzFPcWRDM1A1N2pkd1J3ZzJNN3NueVNZdlNSa0JlQXdqZlRIQUFLSUJodlcrcXowLzg0bUliL0Vqd3BGQ1NBd0I4d0krUFRJdWp3Vm0wdjMzMElMNytNM2xXcWdkaTlFL09UaXdjWTkvMVFDL21PeDVRZnRIb3dpS0JjbUpYdGkyam9neGJnR3dKMUowNi82WTg5WjhLb1lKWjZLbUxac21EVkNlSXhkQ0pmUUsyZXZlSGduL1RuS2Z5ajVEeUJ6SDdGNVUvdWRqbWFkay9wVnRZcVc1ZzFGWDVENzlaQUlBRnZnU1VsdTdJZXYrMy9CYk52K21RTVY4Q3hydUFPTitURDRCL0NTTTkwZHdxOXJaVVZkWDlxK21GVCtVSWZJYURBekV2OVV1Mk5iK21OMTF4WjFYTHo5UndTSTRRYnVBS3NvSFJ5dC9QSDhCS3E1SUMzOVE3QUxtV21qOHgvNmtta0ZFRmhvUVM4ZVJTZmhwQTMvU0RqUU5pNTN4b2Ywdm53RUoyMng4SWoxYzVNZnR6U2Fjc0p3ZDZRNkhPQmEwUU1DTDZxRVFXeTdJd1RBVndrSHZBS05XOTlmSFBSUHB2U21NQ0dRSGNsTTFTREhhVUU4Q0l1dUgvWU9NMDJnQkRWUzJ4RVhJR3Q5UE4vaVFGdnFxUTcreEEzN0hVTFl6cHdQWDlzVnZheGhtV3hqd1dpbmtEVUlwZ1FxeEgxczEvVkpIZm1MLzQzQW1Fc3dSQ1NRMkQrb0xJaVducHJDK0VwdkRvcmZTMlQ2NHZkUFNzZFBDQnRCdWgwNjZwL2F0OWFrWjQydFhKWTZIcjlIZWZ5UTlBSzZ2OXlYZVdkUHFQL05mSTU3OGdBRWFrUW9HNlRrSEt4d1RpVFhEdlRRdWpzWmFxMEdybjNNTEZKQ0VYSnNMZUt1L1J6dGErQnpJRnpPR0piNGFtdmpXc0dRR0xoVEhSLzdremVRRlk0RG13dE9TWGRkVS9oNkwvYnhVRUFFMGdraC9WWkhPK0FKNVJkUDVFMzREWU8xVVZhZ20zSlRXbmgwbjVQUU1Icy9iRlRaK2RuZlVQODJoNlFxU0NXVlhJNHhySnp3UnVjUVBvdWFsM2dEYklYMjhxV0FPS1o5QUZjVEp6TnB3QzRQWUwycWJ2dmdIeFhEczJ2RC94blFWK0Z0V3dzakRST1ZYbFBPcVIrbFl5eXY0bUVQNjhhRUdzMjQrOCtBd3B5UjVYZ0s4THp6Ym1BMkJZcWVVdGRjY1ZRSjZoTmhqbDNOZWhRd1VBd0hwSWlNeG5jQUxVSVpQR0I2aVc4TzI1TnJIM2FLaHFkcWZuVmVqemYzTkxJcDA0ZW5oa3VqRkhpS1MxbkJUNzdkWFRhblVrU09sUVdCUS9lU1kzQUZZR0Z1UndPTzRCV1FCVTVDOFFnQVZPd0RNZktSeUFFdFFtSkxSRmgwS3JQNXFZbnVoc0NUbVBCc1FzczYvSDhHNmJaL2JMSCszNzMwSHlEMzhzc2tqZ2NybUtkdVFDTUNrd0Z4aTF4WGNCNUNHMHdhbnlGd2lnK0dXaHBQdWtMNzBYekEzQVVMUm5uL2poTjd4d0JqdW5RcUdqbldMYlIvSnRnZm51d2tqZHJPZWc0WGVQR1Q3Skk0RXYvYTV4VVdvT0pBaDNodUtiZ0NVT25meW0rdnBDZkFEV1EyWXBXSmMrRThnQjRJemhqOG1MdlRjZ25mM0FlNm1LeE85Yk9aT2YrQi8vT0Z2U3hrS2ZRRjc5NU1wM2FMK00vR0JsTGhOb1ZyZTNkQkhRMm1BcHBqTkFHUUZrSTJCRFpUU2N3UWtRQU1tWEJVRFJtM1JnNkxYM0prUlB5NVd6MHNSN2VhOFMvNmUvcGhEd29ZUC80ZnJVLzdaQXplVWU3Z2ZUNVlORnFXVUFJcURzK1FyeXNna3BnTVcwVGdBV3BFSUJMSW1sd2dIb3htbnBKK1BTdXM0S1ZoNjlIaHYramYvYUl3VXY0WWhKcCtqNjB4UVYwZ09ZVkk0K1VoSEVIQjFhVzhZTzM2QkZyd0NGQWpCR0phSDcvWnZyQWZDbWJnTmNuQitYaWdwdkF3V3dDYy80WC8xTnZVMGM5VHBaUHJndks0QnA3dld1WW9mYlFkMVBOcERBY1grZEFnQkFRVTZ3ZUZtbVRDQ3pFOHdNNEpuNGQ0aGV3QzhQWEZ6ZmxzSENGK2ZuUGE5NEVBcHgwS3BYSExtWXhRVDRUb0JnVm1SdE1OWGk3TDhsd1FJQW9MNFErVkVVTVF1eHV1NjBSWkhzQUJLYklXZWw5UUdnYVEyT296THF1Z0lWR0VjRDFiY3pBK2hUdHoxTURxdkRnWjh2SXlCYUhIb0xLQmdBT1FFUHZLQ1VXUU55N1E1dlp4cXdYZ0N3bTRPZFUwSDBFVkkyaEhYeGljd0FsQmpvTURyc1ZrWUFHOTIxR3dSZ2pKWkkzZW05b0FiQWxSZUFZK3RVQUJ6TEgvN09QTTZYdFpBS3VGSkNZWkd1RUtRVXZreFdKci9EQ244NDA1QU13RlJRSWtCTjhSS0tJbExXbmFIY0FNWUxCckI5K3dVdE14N2U1M2VKTWFmelVoV2FhazlrQXNBVlFIWVlHNndPUmdCRlRYbm03WVppeTBZQXpGQk40TmtNRzZUM0NJQWFMaWViKzFvcmNicjBTYW9ndXRSQWtGUWlMa29vQkpYSUw5ZWJTSHhTQWhzZENIRllpblh5Rnc3QVNrN2c3L3pwQVlqNUFaaWpNRmlRQmhTdEhHenVteEJITzFmclBKVC9QbWxBaVRoWWhjSUF0c3pUYThBeFhnbVVCOUhuZ3VrSGdJWkJBRUE4TkpvMkFzQmtGc3d2TFdVRUVNd1BRRUVhTUh6d1lPdUlKeHlzR3cvaHhvWFJJM3pHY2NRS054QlVQWVhhMEtmU2FnQzNnQklMS1FCRFlLRVdCd2Q2M3ZRK3dIU29NQ2ZJVDhhazNSdVE4Z3lEaFpuQXlzU0lwek5XTjA0M2N6bmgrRnZVRlJCVXdPZGszZFN1OTlJQjRFbUE2Z0laZ0dXVUJGSUFwT3dMNVRvZ0VjMWNEcmtYQUF6N3hNajRmcEtkRFEzQURzTVhYV2VWRlVIQ1ZsbFJZaGJvTUZyc3FnYlVFZ0Ewd2VxZFlHcFZLRWNZZkZsUTd0RmFkeUpVcUJPY25CYS9lVVdSUHc3Z1NjTVJ2bEZFaThJSEw2UUM0QmFBNHE5REJkQ2dBakJsa3o4N0FTNi9ZUDdCeTFIZVFybmVSS2dnSjlqY1NzZHEyWEJPYVVXQUZSZHRrNVNpazloL0l0VUVsQmd3WTdSWUZSOFkxd0M5OUljT0hTcWtMRHpFNUMraDgrVVd4eUI2Q0V0WWx4VS9Mc01BbE42TFBPRGJmZnhFcFI0QWFtTXVWaG9LK1JOYXFUbUExNVFzMEdwcXNQSWdxQUV3SlVhQlEvV0Z5VS9IQkt6eFB6RlpaMnFqL0dZNUZVQitKakN3VWtqNis2QVl1SklFWUR1NXdSaHZJdFdYaG9xVVVwaG1BVlkrTXBqQW9RSUFHUDJzUDBadzZIckgxTlphYU1NOTFJQmpiYjBoWjdJSmtBcXdTTmlDZlBnWEZ4SUJLREZnK1MyVHBnRFdobVVXQmhzU2ZVQjkvajVnaUI4UnNoWVhwejFaUzBueXZRSHc3eWNDSVd3SnRyUmp2cWRFRlFCMVVxT2ZEaXFBMjBlU1RVQlpDTm9wQzFJSEFaRHRWa2RpR013YmdQRXFrNzhrWmY3dlBZQStEM3FHU244NDZwcHlRZ09PeEZOalVYV0R1ajhzMGpXRm0rTVdRQUJtWkxOOEdRQXM2d0pRSzdQNDU4Z3cvL2NRd0xSL0Z2Y0t0SjlGODlWWTFYemMzaTg4b05qQXJFdlhOMVNrV3dndXN5eElHWGJISUFETU9LenJBekNqMC8vTTY4UjdBT0MxdnRHV1MweitJMysvVDJ4cGlRTWdHOEQ5ZmJDQnNPaTZtR0FDU2haa016Ylk0d1RZYW5DdHdXNU15b1B5U2dVdjg1Q2ZlZjVWQU9YbG13eGduMnVxQ3ZwL1ZxSUs4SndyTWhyMytCZFdScWcrWEZyMUV5b082Z0NvTFJHT2VqMEFLL1g0RERYWTNqSVZEbUJRcC8vWmJwQWdBSnVhQ2VMS3JicXF6M0w1NlpidU9VbFhDdDlCYmhDM2NUbVJEV3IxNGFKNERIaVpwWUZ4TDJDbm82R09iYVljQU5JZ2dQengrR2U4andEK0hudkJtSDh2azErcEtPdjNBaWF4S0w3RVYwU3FZaFJwZmVIWUF0QzVBQnAwRk1wcWI4Z0p3SmhTQ1dYbm83bis1OUtBVFMySlZZcXJtUCttZ0JiN0RHZCtOcWV2cDFleUt5ZG9SYlJQcHdHM1ZCZGdTUVJBWng0R3JZNzZISXVCWkJtMzZmMWZWZ0NidkJiNE52NWlWVk9wTnlERm85eVovMjVTZitYRWFaWU9YMEljR0luN0FOVUZXRTBXdlF1d09wQUtDc3RJaG5NQlNLb0J5YnI4eDJqTWZvdk1KZ0o0a3Y0ZXpmK0hwY3hIWnh1Vk9OQ3BiWk9SQmlqN0FSWmxKYWdCb0ZSd0tOVUpaRStHRy9nSmVWdDIvZGV1MGNrYlFPNjdrdWFZL3BmMzZ1WS81YXAreElGT0pSZFNVb0VpZFNtTVUxRDZOSWdYQmJHU2RkaXY1VllCbzY0bGdJNUljUG1MamNXYkJrQjRMZWNKVWo3L2g4VzV6SnRvTzVnTk9QVTJVS1QyaGRGUzJKN29BNnkwU2NydXdzNnVBVHBKcVFSWWd2d3B0L3dhZ0pZYzV3WHlBNEREY3p0cC9nUFNub3ZadHRDeEpFeTBBUUE0eU92aFNJTzJKY3JmRUVVdVdHdEpkZ0wxbWVPQVhuNmpzYmg0OHpRZ2t3L1l2djFKS3ZxK1Z5bjZtUDNudkVsbVJPd053UWFDWkFNN0dJQUgydFJPTUVlU0Jsald5QVlzTm9zcG56aUFuNmE3VFA2MWZPUXZERUQ2TUtoTjlSK2dFYWpLV1Y3ZUt4N0p0WWs4NGpwTDY0RXAxUWtVYVQ3UWxBTEFZYWZiVW13b2pPWUhnQmRBaE5yaXZHNVdRZy9keGpYZzNjYTV1VDk5QVpjc0JxdXVsRGYxaXFkejdwbWMvckJyaWdmQ1N0VUVXdFZlVUd1eUQzREFvNlhhUUgybVpybGFVaGhOL2p3QVVMdjgrdGNDT0RCWUtZbitVV2tBZDRwaC9yM2svM0xHeXJnVEVDYzVnR2FsSUY1dlNwYWZad0pSVklWeUFsQjZBVEQvUThiODVDY0EzUVJnUGFudzdkdG4yUFVoZ2RYeEVCNGhHQ1g1a2Y5OUpOdm5lWk4zWVU2T2lPRkw1QVFrWGg0dlV1dWhhOGw1SUFHNERBQ0NQY1VHMG9RQkkwNkprZnpSZXZWSTFiMEdZR2lVZ3FHcUVON2xxSm9OUWY3RGtxN2VQM2tpUGlacFBHRDQrRE9xRjJRcndpazg1dktwQ3d5QXNpZVdzQlpXQURoSzJKTFlsaVIvdXRMd1pTYi9YZXFweis5ZUhRQXdiOFFFdmpzUTI0L0NCNnY4UWY1ZTZYUmMvbjFpMGhoUU5RRHRGbnhGT092aU5sRDBjNlVZWUs5UGpvSktaVmlJTnRpd0hxaW5mY0hNeXlFYks0Q1QvSGx1bVcwUXdBWER4T2dzRm42bER6RUM4SDl6V3Y2M0ErWFBRRStuTnNLQmVMZjhkaHdwcE1wZ2FWV1A2UG9JZmx0MFRGc0pPT3lwTm9BZFltUUlGdDR3WUVuYks4eWtkVEE3TXFzMzYrVnpzOVFHTmVBOWtTcS81VnUyYkNrdjMrSWNFMGR1Njd3anFnTDd0Y2Q3cXZaUEpYUksvMWdNZzF4VlRCcmRCNDVGQnEwYWtnb0FOV0ZhRVVZSEIyMTJoem9hK0pNQkNmSTM4SHVDSEtyL3krOXFiZVlEOGsyRmo2Vmt2aEZZL2hiMk5zMFdwOWRWZWVhQ0RvQ3JyZ3BOUWNxb1NnUlF5WjBBSGFSNVFRTWdtSytaMGdHZ0xXSzJtNE8ydWRxWm45cVkvSllHaThOeFRkVUh1bFdYRWtCa0RIbjYvNVJVT0NlQStXUUFPd3p2MGp3K3hNUi82S0ZTcjY3eVJaY29BQURmR3lNTFFkWWo2bnV1MERGRk93YTRnQXk3TFVVWFd6UGxRUXdBYlJFclowZ0UxanBwcmwyYnNWbXRiemM0K0QzcWhPRmxkcDJPTFYvL3Z5NEFTV3VCQ3crT2RJYjRZelJiY052NlVaMExpQU40aUVZS2dIM3dnc2dFY0ppTVR0VVc5V21iUXRZMFBzREJ6bzlKOFd0aTJOMDVVUGhvOU9yeURCU0NuaEtJeW14Zk1YLy9WekNBZEZHZ0VtWC9VbklDWU9Ec2xkN1RxNGNld0VQSkFGQVkzSWxNd09saHpTSkZCelVBOWhRQWRxd0djUFJ0ZFdrcEZxYkxNNFNFd2E1VWlkWU9Ec21rL3orSUg2bmViQUFmU1FHd0E4Y2lSU3ovbkJ5QTB5ZnFZcUFHNEtGMEdxQVdCa3VkV0JCT3hnSGdWSmd0alFhWTZTWVFYMmRQT0xKMHNtNzFKRUQwZVB6ZGtxRGNGRlBDYnN4aGlTUTlLMUtJL0lWVmhCSVdRMDllTVB4eVFvemdBQUVTQUx6SHRJZ211TWtMOGU1YUFuQzBTcEUvV1FOUUZFRVlnTzVjaWxHcnhIWUZBSlZEVWdHd0tDZ0ZUOUlkTXBMVTdTY09xODgrK3l4VUFpQzZ1U0xRZzFyeWtMRlFCU2l3Skpib0JQZEpBUndlOGpyL0l1ajFudW9LaUFPVCt1N2FIQUNHUlJZR0xnWHB5ckVkUlFmVll5RVdtOTFPVm1CUFhBdklkSWtRdjAyVk9RTEdJYlowOGxrR0l0enB4MmtBNGFwUm0vL0NUQ0R2RGhITkNUNXBLRG95TWZvdlFsRC9SWjlMY3RIYmZIdVNWMGxaQVNncllqaE9pbzVGZmVyQldGTWFBTXdDNnZ5NkU0UnFNR0FnZWlLdlBQdDN6K0tTMU12RnVoVlNjV0UrSUI4Tm1QOXlQQXE4TmlHR1p5RytzeDI3dko5c2JteWNPMkZJQlZDWEVZQmFGaXR0RVNsQlZFMEFBTFp4QUFtN2cyUUJRVUZJdmtaTGVWcUJTUGpSQ0VzM2pCc0xpd0hzWnVrOEFUU0tkWFhjQjJ3M1BEQTM0SytyY3VKWnZnL3dIdUdKREpXL1N0ZE9EVUJwZVRLQVBTd09NZ0REQnRVRTF0N2lKcUJDc0Z2dDI5NitpZ1crLzJSbld2SDVxMUxRaHlXY2tKY2RKbFBCQVBMVUFNTkhLdWxoMG4wbkhxQ3Rud0ZYTUJRcUwxLzBqVW9USjRqSWs2bnYxQ1lEdURTV29nRUVBRHN5OElKRjhkV3dCb0FJMEFjSENSaGU4Z3VaQ0xBdzRIbXFtNXFMR296M1JBTXcvNUtyTXhqc2NVbjczdnZsUHJIenk3aEplckVGbmY5ekdjOVBKUUVvVFFSQVJ3blZSRUFIWUVZUGdBOVVBM0FMYUNRbVpaR2Y3cGQ5OWc1c2dMMm50aTROYUtHdHNRdHZacm9KdGxIcUhkK1BNUnVreDVaV21mWUh6MHI3am1XOWIxb0g0S0VrQUN3UmlDbUp3TDdmMXdQWXBoZmZhdU14WUNrc2wyUlRnUklodGtTOU5DWkw4VG9Ca0FiODl4L1BjUEhiRVNtR3RrY3MrMFA3NTZIOVNHL0t4enpzRnZFZCtRUDRpeFFBVkJSeS9naGg0STh6QW9BR29MY1BGMG41Y3dIdy9KMUVsNnRaak1YckIzRDdtZlJudTQ5TmVFTE9waVpLK1oyaEt6VDk3YjNpd0o0VFdZL1A3Y2dOb0Fja0w0VWwxOGd2OUQ0Z0VRRHJENkNMaEVxeUF5Z1I1M0hTZnNpMElRQ0dGekxkbkIzYjM3UmxDMXYxTytrNTBuTXU2ZlRGeEtlNDlIVnc1aEp6bVFBT1ZIZXlWRkJ5RFdoUllMa2VQaURSQmxnUXhFVXlPUUNZaFNVNmFtOVI0MEJ4b1psZ3R1M3hmNkw5WHVWRldyd3o1c1AxYUVjTUthWC8vL0xOWjk3OEg5OThzK2pqWnpRTldJMERLRWZLUXdGZk80YzJ5Y3VDenAxNkFKUUpidE1Ec05IZUtPNFM5ZWNHMElNREVlaXp2MlpjRjRDV3pBRG9GcENubkx1M3NEVnZlZE5pUUtJbkovWGFmK1pQVCtPNTd1Lzg3R2Zmb2ZHenorM1pNN2VTckFFS2dELysvd3h4UHF3aVVBY1QwS0lBQVNBVmVPVVZEVUNVQlVFcE53RHhXWStBMWNBMTAvb0FaQXVEeUlKREJJQXRlcjBpRC8zNjhUbFhZdlhUaGNySS81TWJnS2dBRU4rTnJ3WUJZTnUyYlF6QU50SUZLNjEwZ21FaEZ3QVErQ3Q2YjhaaE1XMitDYnduOVlhYVZBQysxSTMvTTU5emRUNDFOZlVVeG0vajU5UlRZV3lPcFFENGk3UUFTbjhDQUhPcUJxQWVRUElEd0RZMjdGYVdCU3dGc2ljQnltdGJaQU16SnN2bUEyaVV6bDZoSlM4QlFPZFBTdXI3THovbml1aktuMVc0TnlvWndKYmR6cWxVQUxOeEFDVUpBSmdhNEFOM0FmNlRmamtQQU5MZklSY2FNalZzT29DTGxleVlCL09CaTcxU21wMnZ6N25DVmM0cnl1bUFVcnBNVmdPd2hZbS9aWGQxaWdsTXVNVHhKQURDWFl0cEd3ZkFCZ0JjUlJDNGMxSVNjcXVBSUN6ZHBFT20zQVkyRHdCcS95NEtBdDdGeGNXbXNVNXBYNXJPRndEWTc0eG52UXpBWCtKMHlNNHFhQTM5V2ZWbkZBRFBmRnhMRXlaWXB4QUQwS2Y2QUhPRHlXN1Q1QWNCcXhrQXdrdDVXQUQweC9Nc0ZrWjJuZ3dXQ0dCM0ZpZTRiM1NxcW1seHpIVzI5eHd1NUo5TGR5MGVBZUJ6VGROZHFtaUFBbURMUTFzZ3Z3SWdvVjdDQU5UcEFGQXVhOVVEc051cEZrQjVjRDVEUWh3UWxvMk9RbDVjVWdCVVp3Q0FMWnhXei9WUTA2SlBISmlRcEltNTlFdmZiNUVHcEFDQUNUakxtZncxMVJvQVF6WUFnbXdsQUpyOE51dWdRTTlJK1BNRElOKzhpZEtZaVQyNXN6a0FualQ4aytTWjVmSmZ4RjVuSmkveHVRd0FnZ1NBNXIrbUpnY0E1ZlpZNFJXVHc2WWIxcC9DQXJweEJVNWVBQVQvczVKcUE1dGlBclFLN3B6Rkt1Q2NlSHJGa09XNWJXNEM2dEFBNExoOEU1UC9NeGtBWEdFQVJBQlF0c2JrbjlZN0VqUmdqUzBGODVNZk5sRG54MGxyNDdYOGRzVnlBaUQ1c2ZYWDVPMlY5bVh2ZU9BYXNJWFplNUlHbE5mQS91TWFjUHVaOUFDVWkxT3dHRWpVQUx5TUlOOEo1d3RBdUJrVFdCd29DSUNVWWdJWGxBOXpXQVJoL2c5THVYbytNbXRBZWZXTDFSeEE2VkdKb2tBOERPNWplUURXQXBvR1lOMWJXOStRQUFBdlk4ZzlBVGxmQUI2eUFhdXBnSGNIMC91QUJ4b2JYekQ4NGpUdXg3emliVDg3TVBlcE03a0E5Q29ha0FRZzlGdmsveFFBb2g0QWJZOHlBQjh3QU1xQk1XUkNsZ1FBdE9WeDA1K3ZCaUFPK0NrWmJOaVFFNXhzYnNQM05OQTJJQWIzTnpXTnVjVGZ6SGx4Q2xMaHFyUUFuSkM4aHVSWEFiejVqTzdhWlRvNWd2MDBwZ0Y5U2pKak1TVUFvSHJnemU2OEFjaExNVjRZS3k0MnJ0Y0h2TllxeG40eU5iWHFRVlhmMitTanlKL3o0cFIwQVA2U0FXaUg2TCtsMHdDRC90NXBMSWUzT0R2UnB0YW50c2hRSExUckNWQVV2Q25rRCtBT3JRZFlZYXh3Si9qNU04cGhINXo2RGFIdnB5WFVCUGxIa21MZkM0YVYyOSs5WGZTZjJMaGRkRHNyZ0E4QW9McjZNNTlKRXdXd05TVDFoQlFBZUl4RjJSNUdwNmcxTHI0ZEYyUEwwWm44QVpTWW1RMndYS2dnSjZnQmVIQjZGSEVmSlU4OEg5aUVxdi9Fa1NUOWIvend5SUIrakZRT0p3TW8xNWxBZTgxbmFqZ0E3Z1QxR2lDaHQyQ0wwd01BRHhRWlRpZ0Exb3lPd2JnRjBCMUMvaDQ1Yi9saEw3aUF6WXk3WjlZQm9QSU1PN3pwcTJyYVRjdStKbHI0VENUZHJrdEhuczVHd3BFdy9hQ0IyM0tiOHdKUWt3eWdrUUJzMmVJZHBlWXA2aFFWbEZ0RDQxNXcwRTVSc0haSXpsOERoRHV2d0czYWFVMWNPQUJtQU5pdjRpMC8xRHFuYkhkcXdadHRFSG4yNjhjb0FmaGlSZ0NRUGkwQVJFRlJpbFh0WmpjNkQyaWRvblJld0xKTldRWmdWMnlJSHRVdzV5OC9QQWJad0JyaXdMcnlnSjhiSnNSWjZ2bGhBTHhuK1ltV00vSHRnaDBFQUxsUktlLzd1UklLTVFDVkFGQ2FBVUJOV2dCMEl3VmVLdDFkM2lJcEFKUzMxR1NyMFFFQ2c1ZG4xbXFIN2dxSmQ2cmxGd2RZY2JnK3kxRzVyQUJjczVvR2VFY24vazNLZFRjQU1Jc0NJUjlOenBDcUFTRTlnQWdBSE5NQTFHVFNnQ2tBT0twcWdIS1ByanowZzlxaEtOOEVaL3UvaGNsUHVSRCt5ZHYwQ0cwQkFKcXFVUlJseis1T01CUGdCZUF4Y1YveTJ2Y3YwUmNHRGRCa1RRL0EyUnNIc0t1R2pWMDFTV0Z3WllEZW9kbGQ3aFBGN29IZkxZcGZwS3NUblAydk1QbVZYR2pRNUNqZzJWMEJBRTRwQlJFOG5obHF3bnNMcU9Fc0JsTlM0TnUzMHdCb1pDWVFCMUM5V3dQd0FRQVFnVjI3M01rQWhpWEo3eXpkWGY0QnBRSGFtU0cxOFVkdEI1UGxRdVUzeTRnRGNLV08rdnppQUh0M21Hc0FUNFFtOENSQzArN2RVSUIyMTBEeTF0L3REQnFnQjdEN00wMEpHckRyeFYyN09JREVLREFpZFliS2QrTndrUXFnamI4Z0k2amFUejJCYTJ1RjI0QWZjUURGNFR6WHhDcUFkaFhBeXNUbzJPSWlpbjlqbmpUWEpleGdBRXJUQUZDY0lCWS9BSEFPQUM0Q3dEZWROZTRNQUNZbDZadFlMRGRoaTFFQmNFdFJBZlBRMWRybFFSd1Nha0FuSkdzVExneUFaT3RXMWdONXQ4b1NBQzBWYnBURVhqeksxeXVpL0wwajNha296MnhwR2g5UVZjbzhZL1dqTlM5eURkQUFrUGh1QU5pWkFBQkJ3T2ZjdmZ1SG94SjlJUTFBQ1F2aUZqUkE4bUYxUkF1MUF1RW1OZ2xmTnJIQ1dKN04wcjRuZEFEKytrVGpnRFFndGZWTlpqZ1dkamFVRGtDSTBxY3ROWS9XRUlCektRQWVkV05EUVV3TUF2UE82dkl4UkVGSmYzYVlKbzlKanU0SXBJSlc3QTBLQlRvQkR6WUp6UTBXL2dwWlBnQUVBRGlsWHc0Zk83Rnk4VUhsTkpSeStsY1JueEloSFlEZFNRQnFYcXpaOWVLTHV4TUFxQ01CQUlVYkZNU3F5N3RZR3NDUHp5dFZNU3ptN0pjSEwxOGVwSUc5c1NHNVFBMlFYb0VOMkV6WUk2clBUd09TQVd6UDNpcDBkallUZ0YySTl5L3VlckZhRCtEUjlBQldCaVFQcWlYbEVVRkVzR1VBenJTcEMwS0xnMG12SklSMm9WQVZ1TG1NT0VEbjdhbU4rSkF4OTVraENvTnBpNktUalRTYW0vRURQeHNiVHhpNEJ1eldGbjRjd08rSUFGQk55ZzRGK013VFdoUWdBSnhBa2dud3BkRHVhcStIcWdINkd5VDRGYktEbHhVQXBBS1hDMUlCczlCTjFYSGg3dktNSFUxVGI1a3NyS0U4R3dBaEU0RGhFYmJWK1RGdHozT2ZEZ0NEVU9ya1VZQUE3S3JoQkFpQXhBR0VDWUNDQUFEaTdmTGZicU5FdUxxNkJmanBFeFRwYmhPVm81WUd1d2JBWm1lN1F3WGt3djVYN3Fqdk1wcWp0VE80amhVMzBGQkR1VEViZ1BZTUFGYkhwMXJHMlhqcXkyRnhUMFlBZ1ZDVFd3SHdhRFVEY0pFQmNEL0tDTHp6V0NJQXd3QmRMbG16QmZkZHN3eVVYNkx5ZFNVVHNpczJ3QVlJV0F0WURpRVZSa2VsUExSOFY4c25hbWZvM0cyOW9nckcvQUhRbVE4OG9vRjd4V2xVNFM3UXVTUUF1d0ZBVWdFOHlnTCtybDBhZ0FsSkEvQllFZ0JrQVI1blUwMzVPYkpBRGNDMDRnU3dtTE5CY3FZRUFMQU5iVEw1cGtOQ2VKWGVvcWFtK1FiYlQ2L2lpVWFaUUpSRThRQ3JwZDZvblRkTHVqK0FoY0hQcHdPQXpvZ21aWVJpb21JQ3p0M1Z2N1ViQUtxcnl6bUFiNkhiQlFCZXBJREhBVkFkalFFZzgzZDNWRlM0bS9RQStrUzhVbHRkMCs2SC9CTWZVZ0UwSzQ5clkwbnN1S3lVQkxnUnpNaDVBVUE5QkUvclFZWGl0MFhOWERYVFVSTUNJVVNYYlV3Vm1IdGtGRXpGUDVBSlFIdEdBT1Bvak5pQ3hjR1czVTJoQ0IwSlBVSlJBSFhlM1NDUURHQVg5M2M2QUl2dUN2ZGpGUmhsSFU4a0FkanByR2tmRXdGZ1duZVZscUJkS0VtU0t3eTIyYWxYTHA4T0FXa0o5VVA0RU40MHIwR3dyUTBSaFJLaWNQY3FVWUFsc0JCaHN0d2xFd2kyMTJRRndDTGU3aFFBMVRvQUFRTGdUZ2VnNGpFTUlFZ0FNQ0NSQzZqMlFYNzY5d21YcWJFMkFZdDFVRmNheERaNVZNN0gvVkVGNlNyMXpDZXJ1cWxoY0ptcEFqdGdjWGRveGtZUUxHdnNOalZvQUFCSWYzc21uUW1FcXRXMVB3ZlFxQUNvSnZscm11SUFubEM4dmZ2UkdnQm8xQUVnRFhnc0FRQ1dnaUJXODBRdnVZRGgrSFY2ZmNxajhnSlNBUUtnNUFLc2NjeWN3d3J3SUljTjdiVHlUOW1Ucy9yenBkcTFXaGF1Q2dxRzZNd005dDdORWsrRUFPRHplZ0MzVXdFNE5RQ0xOVndGYWg2dDlyb0l3QmZoMHA1NEJ3U1l5NnVKTzhGRkdBRCs5NWdPQU8wTTlFSHJzR1hRTWdyNVd4L1FYYWo0ZGNVR2xsRVpqS3NBR1lIZHhzb0RXZFdmMmlqczJ2UW5uckNOZTRYQldyUHlhS3Q2cWFBQ29ER3RCamlyRlF2WW5RSmcxNlB1NmlzTXdMY0lBQlRnMFRRQXVBRWNxRkNkSUI0c3VEZ2dTUzJMdTJxNkpNVUZKQUVRNUJLTFJWY2Nwb1laRzRXQ3JPcmZ3ODNmYU14MHdGaDMxYmF0TnNwYjYveENITUErdzhwcjMzMkJ4cmUvVFI4WmdDa25pVW90TGdSZ253NUF0ZnZSWFc1VkErQUVPUUJtQW91SkFNZ0NEdWhOb0ZrUzhQZmRUWm9GYUFDVU5nRW9jb0lLS0wwQ0dZMkEzbVNNVWdHWnpnc2tYa0NjOGNZcHVtWkV2cmxFMzRMaUF6ei8xMGVsRVRYcEd4RXJGUUFRZGplQ25nN0FsVkxhN1dLeUtnQXFtUTl3S3lwQUFCcFZBQWZJQnh3b0E0QWdpL2pzMWpnOGFvRlNDWXNCclN1cDErcENCY3lXaGdRVllJN3dzcHd1SDZBSGlHMDNLZEROS084dzViaHdTYUZBbDdOMHIwb0tnRlBJell2OXVrNC9YQ21pQWlEcDRmS2NZUTFBZGZXdVI5MTZBSW9KTUFMdkpBQW9ZMEV3RVFERmdISjNEWXNCYlFtWHFsNXNWWStCNEVrRlcvSndYRTRMQU85UjBTYXkyWXJGcjhtU0R3RCtOaStkdjF2eUNCekFQQUFZL2RMcWw4ZS96SDZNaitvMGdBOHNjVFFOY0N0TG5CUUFHRG9BbllzZFpYejh1UTVBczRScVdKTzdQVURxMS9iek5GZHJzMGlZcEFJMktnL1lTcEx6QWN6OHpBd2RvQnRpY2MxaXloT0FrUjZreFRtTG0zdzVEQUJDVDcwb1BWWEZDLzZvOXcra0FwQVlBTmVWSmpYaXVWTTFnSHlBTndYQUkzdkwyalVBRTJRQmJqY3NRT0JaZ0E3QXBCb0lzYUJ2Mkphb0FHUUZpSVlKMmcvQloyajZoUm5jdFZ5ZmZPRllkZ0FXdHZOcVZoTWhpUUZ3L2htcllyZlBNZ0NuSlQyQWN4ekFLSElldHp0VkE5NTVsT3ZGT3pYZVRnRDRROE9FMExNSTg0ZjRaWTlzUGZDVm9DQ3A2NER1MmFaSDI0T2tBQVBKdDh0UHF3QklCWkpNQU5FUVY0dkplZ0RtNVI2SjFOL0JjanRUQVFCQUFHbXdjS2RiaUFOd0FZQWk3M1V4RlVCY0E5eHhBS0lPQUZlTXg5dzZBTkNBUjJoc2hRWUlnbkxjVUlpRmF0eW5LQUpKZmNrQWxGZTJCUElDamlRVklCMndZM0VjZjM0b09oT2xSTCtXMUwvaG1pWFZBcklBTUpJS21Ga1VBSUF4VVFnYlJ6VUFUNlFDYU5JQWVIK29KWDJKQUQ3TlE5NHV2UWJzWmZMREJEUU5hSVVMOUxwM01SY29UYWE4TVBHcXFnSXY0M1Q4b0MxMW9IdFdpRmMvYVBwdE5QM1hHaXdGQWFCeUlidHhWTlVBZ1p6Z1ZCNGFNT3B0ZjBjQjhJNE9RUHRqano2V0NLQXRMUUFrQWIzTzlnNjRRTE1hQXhJQXFNL04wNVVSRm51cS9IQUVnNEphSzZlRHBGZE5oL0FFRFR0R255Y0FYaXZsTjA2d0J4YTRCc0FFaEtueUd0N1M0MDBFZ1AzOTZzVTRnQTdGQkRwcVdsUUEzbmFXOGhJQU42N1NVd0I0SzdZeUE5aTZWUVBRS3FFVzlHY2RYU0k5OE5PYzVwa2REUUM4Z01XV2pvRFZIbFZ6SXBwK0xQTWRpdng1YTRDeWMwamJJam9Bb2pCVm1nTEFUZExUanlZT1FISjUyeXZjbjRiNG4zWlhwQU53WUpmM2NCekEzcTE4UEtJQXdETEE4NDJtanY0STFlTmJWOUlBT0tqbE4vVE1RaG9DY0lWa0JpeWJyOFdWMDVoK2RxTkVXZ0taQVJRclhnQkdFR3pmUlQ0QUFPckthYTcxQUx4dXZydVpBS0NzNHRNVkhSMmZycWpZZFVvQkVQQzJIMURUL3JRQXRuN2xCZ0U0QVl0YkRiazd4cGdMYkUzNzFGWXI2VGNwdDlsaGFiQ2xJN0J0bThOR2FVeVUzYlZLRjJsa2tqL05wWE02QXNYRmEzSWNRSThSZXhYbGJMcFZBQlBTMUtJQ3dOMmgxd0JsUEFZQUFnQjhualRnZ1BLSEI5dzZBR1VhZ1A0YndvRGhOaWxBeUZ2bVBzNjhiMTlhQU5xaW1EYTQwdm5CYmR0NGtRaTVBdDRkc0RwMENwQW1FbVoyZ3Z6ZUZXWUNDZ0JoZnBHTEN3Q3RETUE4QTRETUg3a3NBOUFzaWREMng3aXM3K2dBL0ZrY3dCL3BBQ2ppN3lVQThQbTBERmdjVXhWZ0pTMEF2bEhPa2p5WWRqb2pvS04xZzdUNGNlREdhY2UxYTlmV0JjRElyeDZYVkFEaFF3a0FCbGpPeGdHNFNXSU9vQTlCVEp0c1ZRUElCN2pUQTlCcmdQUS9md1RudkwzZWpnNGVBNmN6UExqNEtuOXFqZ1g0aGdhK0d0YVd4V29mUFJycFlTTldVNzJEZGxGMUk0OTdCM1dlTUJsQTA1OGxBVUMxMjEzeFdCS0F4MVJaZFFCMnBRZndQQmYvNFVmNm9mWEwrR0pIbldObFk3UUVVVmJDYVFBc0tIZENzR3pJNG1Eblo5UmhVMzVIdXdVQ3ZiOERGY2dPd0pndEU2Qzc5elFUTU1FSmVuVUFtQWw0M2U4Y1VHcGFXUUFJQkVCWjl3Q0FGZ2IvU05VQURnRHlZeG5VNGZZSkNTNHc1YzNSTmtiQWJKYmx1d2p3OWdRQ3ltbXFiYlJoSkMrLzdUaGswcnVBTkRaZ05HWlRnU0ZaMDRCbGt5VFVOYmw1UTB1TEFxQ3U2VUJGQjVlMlhRVndDZzQvQzRDOTdsT2VPQUJGZmdhQXhKNWZIQ3ZyOXllNndCUUFDK3lRbkJEbGZyQWhIUUIrb081dWd4VTVjSFlBaDdJRGlKc0Exd0EzZGZXNEFhQlZBMURCQzV2dGh4VUE3U2thOEhrQzhPZHhBSUZFQUgveThNTVBrdytnSTVET0p5bzZvQXYwWlRPL09qdkpqd21hYVYvRFNrWVFsMXY3QlcwYmN4c3daUWRBS3BBeEd6QW1BR0FhZ0swTi9OUUFQTUd6TzN4c0QyZ0FOSFBmTmE4QmNDdEo3eU43T3dDZ1dRVndIclAvc0FJQXE4K1d4ZjZ5L2xIbUFmcCtrZm5oNVduZUtqVEVsZ1FOTUlKdHlvbGluUkpZS1JEV05sanI0M2xnSVdGQXVXL056d0M0RXdEVUpBQmc2djVZUlJrQUNCekFQQWRRbGdDZ0pRNmc0cFJIVUFGc2Zmajh3MzlDR25EK0h3TjAvTW5aZnFBTFNTQ01vVFhieTlNclgrZGVnQm1CaFJlSGtnaEFCOGhUNHA0dGJTR1Fua0I5TmllZ0FuQVRnTGRFRG9ER3FUaUFDZzJBcEFFb0s2TTZWNWtPd0NrOWdFQUNBRFlldVNHeEhLaWlBcXNBQWpDZDlmSDFnNG9LMEc2QVlnUjJCUUQvZ1VIZE0vS2dBN2NNSW1QVUFVZ05oSWN5WnNSeEFCSmJDeWdBS2xRQVFwMnE3am9BWS8wSFZJZm5ubGVkb0I1QXV4NkFNbTZRMkhXTC9RZTZBcndXUDV3VkFBcmtyRmR1aU5XNkczQ1dURDFWcjU0dFJ5QmNvMjFndW1rejBRMG1Ld0dlWjh6c0NZZDBHcUFDUUEyN1F0TUFCUUNFMVFINDg0d0F0ajZ5RlFBMEV6aWxBdGlLeUMrSFErMWxIVUdXQTVXMEdiSURVUG9tb3pUTHk1WnJGcXM5ZVdEVG1GWkU3QVdhSEtsQWZXWTc0R0V3RHVDSkR2ZUJNbXhsSmdDQXJrUFlyd1NVVkhpc3Ywd3RkYm9UVEVESmVpdjZVd0NjUDR3djQ1LzFWcFIxK2FrT0lBaVRPUUN3cGpISWQwZEpoeHBzS1FUc3RHRW9yMW0ybWQ3S2tReGx5UWI4RE1CWE5BQXN6WWVGRXdCS1NBaUFJcTBPQUMvMG9kU3BBcEE4cHpyVXBQZnBOQURPMGF6UE94RUJzQmxTZ2kvWlpzZ0ZZSmpiZ0puYVBiZ2JTRkVCdGxHQVY1aElCYTQxWkltRjlabGRJZmNCL2U0dVVhYkZFTmQ0UFlDYXZXVWFBRUUxZ2IxVTZNUFB2WG9OZUQ0emdQTmtBTEhRRTJYS0lrQktVb0IwQU1nUEVnRS83WGhHcnptd0trb1VuM0loU2hUVzZDRXVMSW5lenFvQ3VRSGcwSzBrS0JxdjE0QzlaUWZTQTJBaFB3NmdnZ1A0azYxUGwzMUZCK0J4a2o4Z1NUSkZBTW9CV1JMWVpzZ05RUFdEcU51U0d3Q0JiU2txRUw5eW1WU2dvZUNFdUZneEFRYUE1UUhKQUk2cUFCNVJUS0JQa3NiYTkyN2xwZDY5RldNTXdIOFUvS2Nxbm43NFlRcjREejlkQmcyWU9HTmdBQjU1WEhFQVVvdTN2OHg5anI5dmxoZ0NNZ0ZZNEFjSXVsK1hsR3pBbmt6QVFWMlVGQWxSRTNWa0IyREtDbUNYdTE4RHdHYTdZajRKd0NNTXdEUUgwSythdXc3QVBBRjRXQUh3WVdHQUFhZzk5UWorOUR4MlFJVFZ4WFptQUFLVndtNFo4Z0ZBYXlKYUUzdW82MDFBMG10SjV3WXBUS0xiZ1paRVdRa2N5Z2JBclFJNE92WWNjL2thZ0s3K3ZWeitSOHI2RlJOSUFEQ2ZGb0JIQmZDUEFBQUhJTUFCTkpXVkhmV3pSVURDS2lBYmdHRkJpUVF2NFRQY3RUYWdmYzV1VFhXRDhtV0h0ZjZReGZGMlZnRDEyYUlBQUVnb1BrQUQrcC9qQnE4QzhNSGUvNXhaUEFCSXlRQ2VybEI5QUFCOEtRSEEvNHQvTGYvbzFOWXZ3UUVJY2lkekFMMFFpT1NmdnBBZkFNVVB5dWJYdTJtaUtlSGRsdXdGU0FYdXdndlFpdUJhTmdMMTJjTmdQNklBQTZBNC9iRTRBTzd2VU5KUlRhQy9YNjN5UEkrOFZ0V0FNbFVEdmtRbThBVVZ3T053QUhKMDNPc3U2NGl3TW9lVXVBcklCdUFDTXdJZ2VJbTVnYXNnNEhnbENjQWFQVDRBRlRoVVQ3Y01ad053S0RPQW1Gc0ZzTW8xWUdzaWdLMGsvOTR1MVFUNnUrSWE4SDQ2QUYwZURrRG8vTWV0ekFGT1hSOTc3ZzJmeEo5NFRQR0FtVFdBRHRPeFNPRHhFSUZhallCVnZYQ1BkUklMcWdybzA2RVVBT205UUJJQWFBQVNuTDFieS9wVkFHUFA4NW9tQTBBYUlPUUVzUFdyQ2dEWjg0ODNSSWhjOXczNFZ0UkJtZnptYVVNQkFHN3hjME5Td0VPYllNc05EYVpyZG43Tm9BTEE4UU1LQkRQSUJlQUY5QVh5UEpNaEJ1QkdmNGNLZ0dYMDJNYm9rbFFOSUFCNzkwSmtuNGUyTXZzRThYME80UHpXUDNtNlRET0JNUTNBMHhvQW9RY3VRcENENUFDN09sVURHQzRFZ0JJSmhPN1hpUjllWVljT2JOTzdRaXU3YVFsdmNUbE1Ka2ZXNGxoOTJsaW81QUVkY0lKVUVqdnEzbHUybFFDOEwzMmRBNkFFajhTUEJGeXNqTnNzaUYxZmZYb3JRdjc1OCtlZmp3UG8xd0E4L0VnY1FJQmxnQzFZQWtRby9GTU9NR2tvQ01CS0s3Y0MvK3ZkQWt2N3NDell4cS9iVkZSZ2plMFBPMnltWkFLbWZIYkxkUUJJQTdxVWhEYXVBZXdQamtjOEltdkFibXVlRnNUNXJ1ZjVJdi84ZVQyQUw2V1lBQWtzZDM0REFZRFdnTXlmU1gyR3dnQlFpWmkxVUhzQ2RJT3d2QXd0ZDlnMUFxUUx6TGRnd3hCOW40a3FrQVpCZlgzcWFsQmdBRVFXQm4xSkFDUmZ4OU5iang4bUZ5UjFyaTU1Mk4zR25UY3crZWQ1eE5NRGVGd0hnR2VDeU9NOFh1d1lsUGxFM3R3anRCb0tCWUQ5Y3NVUlVqQ0VEbHhqR1ZIY0NMZ0tSQjNVQjN3dGEyR0ExVVpTQU9CVDMzQnJBUGlhYm0vWis5d0pTaWY3ZTZIN3NpekZXa0plYjZnbDZLY21ROUYvK01aV0lIajZrYStLd2tJNkFIM1AvQ0VyN0pIOFpSUXNsZDJ1dnNJQkRBczhGa29nUURxd1JrSmFGVGZJQ054bFlCdzJpZ1FOMmRiRjlha0VVZ0FvYXpvRkFPNHdRaG9qK0lNNFU5K0JNZWFkclF2VDhrd1NQWWZQd3cvNlZBM29VZ0E4L2pnQllQdmVyK0xvdXhjcmdESWZaWUJjL3BYQ0FhaEdJRXV2Y3l2NEFXVkVEalVRNEhIR1Faa2JnWlV0aWl6WmE4UkpzV0NJQ3BTUlZBQStCZ0FHajY4YnJndDlZd3pDZC9uRytqczYycjNYNjhLNHhobEhIVjRLM0RpcEFkajZ0Y2Y1K05MVzc4RUVmdVBkVzJ6K3g4b29MV0JhSE8rSEtBeUFvWmtkb0JWa01SRG9scFY4QUQzZ3pBd0lBenRrampZNTZ6YmNIWkhkQmxLV1JVd0RJaDFKQVBZeUFNY2E0WUUvRmh0M2V0MzRDMTA0U2VpUGRIVjFkWFNOWFordDZ4R3AxMVlNc0tWOU13QTg4cVdIRlFMbkFlRGxHWkQxWDE4Y1V3TWdXd1JPcmc4QWRVNnhUOUVkOERBQ1EvWnJ1bkJJcjFMU2cyeDNIZlJXcDhWeTdWcDJBcWtBWWgxcUZPQUE5ajVmaHZ2YjJscmg3K3BtRjlzN090ejlRZmhCRnNZOHZiNnVqamVnQitOMTRXN1diOXhNR3hrQThQVGpEOGNCa0twNnh0bjhCeFEzenY3bStnQ28yWUFnTWl2QWpwbTlnUzJQbVN0d05GanY4aldEclFIbkRSMEZxVUF5Z0lybktlaWZZMTlHSk1jMzlrWkhWOWM1bDRnSi9Odi9zN3VWd29FbmNyVC9qYkl1WWtCNjBEcU4yT2gvbi9rQVpnSU1BR3JnMTlGSlVkWjFHRFV3bmdKTkc5WU5ZRmptNjBLNW02eUFHcU1HRzlqV09lYmZZYXRWanB2TDhsVzhOb0ZHc2dKQ29RcWdpd0FJQk9BNG9oN0VFanh3ZkQ5MHY5RXg1anZuZ3ZUN0dpZC80OHkvTmt6MnNlanVDWFoxbFpWMXRGKy92dHBEWGhLNmN1N3h1QW1RbTRUOFk4Zkx1c0xLZVhCZFA4dzZBS2dueWlnbERMQ2NFQTh2VVRCQTYrUlY5UVFBZ1pGZnRqVlk3WG90eUE2ZzNxOEhJQWtudTJqeUVmWENVeUgwTWJ6aEh2TUZVTkFmbU5ibHI4TnRsSnlKbmdoamNPcDZ5eXJyVlJTa2x3S0hHWUFicUFBS25jei9Ld2t3QVVpM0Jzb2ZBUFhRTWlVZ0hXQ3JDcmtXWXBxc1AxQlBCUGw3L0pLbUJYYThVcHNsRHRTbjBRQTR3WHBKQ0h0b1B1SDRRaTBkNVBoZytqalZwTnJ1R2ZVdWtjbHBZbUR1dk9IamVvRDBRS0pYRHhBYkgzLzQ4RXY0UnNMWEVmLzUvRlArbDlVQjVBWGdUTE42c1FCaWdZZUphcjVzcitXbllJQ2xKOXdUQ2JORURWb3dTQWdjN09Sb1dnQUloV28rb0FJNEtncTFWZ1lRanU5NnFQME4wbjJhZkdsZmV0ZmR6R3doMm5tRDZVSEw5Zm1ZbjRWR1Y4QUZnd2hlOTNZZy8vUEkybHNvV2VYUEF3QzdaSVJiT25TQUp3U0NvSHgreVVNekp3VWlFWTVHamw2bTQ5Y01nU2t0Z1VNNFNYQ28vaTBkQU83a2hXaHNITGxiUlVkL1B5WlZrQWJtSmczcHJwRGtlc0Q2R0tKaHFNSHhzbjVLRDVUM1ByRCtQZFh4SE9TUHZ3VXpiZGd3Z0RnQkNRUmVvbU5ncW4rNTQrZTFCdGhsaERrd3hJazF2RTlrdDZhVm4yOFdzV0JnNGdBUTJ5bFpsM3BXcjMram5YVGZkeGlGVENaOWR0ZkVYYUsvTjBocU1PLzFzaFRKUDcvWVhzSHlQMzRtSjdmOCtRRzQyQ2FvT1NFSWVBUlo5OWFPK3VRT2FVR1B5QThFWGJWZUE0S0c5QVFPc2U1cWgwVUJVTkdGdENVNC9nMXZSOWtiSFVkdnNQT01qWWE4UmpNUGpUZTZLc3FPdjNIcSt2VzYyUGoxL3JMakZWMW93Nlk3VFVqK05zTm1BRENvRlRKOHZUdmZEd1JFOWZpRXJIOTNDT1lRNlhtSjI4ZlFaVklEUjRvZEtNY0dMUTdyREh1MUtBZ0E1K1lSdGlvT1lQSjdSd1ZoWU9DamhuekgzODgxVDVENkJZNzdmT1FTdmQ2dTQ4ZmZRQ2xJVWpPZ25QTG5DMkJGYTZZWFBJZS9Cak5RMTFpYU5UQnRlQ2tjVTUyQnVkWnFZV0ZSdnhiZ3kyYkg0QStpaXVyYzZLam9QOVhlY2VDQXUrc0czTDdRT20zNEIwUHVPK1QwN3FDNVRXWU15anI2Mnl1ZU85NFYwYzFKYnZuekJhQThVTTdFZlNud3RjTUJTZGJPMGdseEduREduYkFFL2hLVGZCVVBseU1vV0pTcUVBb3FEaVNNZ3p4OTRPQWlYUjJ3Mlk0dXVqaEVGL1VLR3JjL1JwOXB0QXZaMzNNOC9XWGZDN0xBUE9UUEg4Q0QwNEw2cWJ0ZlA4eWpnU3EzN2hkd0J0MDlOeU4zV0JVSmFqRG9vRXRKTEZRMUpMMnZqZkxrU2ZsSUFFaDZjcVVUT1IxZjJ2RUNIcGlIdExIcjM0RDVkM0gzVjVLdi9oY0NnT1dFV2pBNHJLUUV5YU5FOFFhUnBRaFBHMlh6c3JYaGJicWJCQ2NHWlZWNDJYelZ4bGVEaUFMc0U3V3RTM3ArS3d6S2RsT2hGcHIrbUdyODdGTU9ieklBcFh1RzRmVi9QOEE5UVpMOC9DWjZ5QWsxaVBWRXVialJ0Y0cxcUtCSlh6S0V1eFhvekFRRFFGRkE2RnUzK0JlUkdZcEJtbjVFLzRBMkMybTJnVGNCQUNzUnFTNC9BRi9JOHIvMEE5TDZ3OEZZSUtxL280c3BoSjFmdkVxSlVBbnFBUVNnZGQyelR4bFJUNHZ6ajdDcjJCWHMxbTVBdzg4ODVTOE1BRytsNWUrT1NSNmtCTi9YWjBXcERCQVliMFlVVTZGRDA3V1hIVzh4NFhHcGhPbHFITUFYenF4VGZQaWwwZFdRbDZhLzY1eTYvY00rVGh2dUNRQkRjNXVnblJvVW9RU0gyUm81N1dCdmNjRWRmR0twaDNMR05SdS9hWkEyQ2FpdlJnRlFRUUFHMWdWZ2NxNVZsb0plbEg2T0grL2czaS9QL0g4REFKVFRkY3FYOGNNWkh1WXpMS2QxQit3L2RDOTEwMnRrdEFRMktWVWpMS2dUTkdBOThqZFQyYWpGNmUwNGp0d3ZrbWlNQzRaN0IwRHRKV1dWSU1rREFnRldyOVpmU1pjSVFlN3hzQmM0YUEvVjRmaHRDd1BnMkNBQXFDSVdqNlQ5V1ByZUdOVTVwM3pkLzdvQktEMzFXckVRNC9XWGRIK1NFaFJsRDY0WUU5aTd2UTM4M1Y1VTBOL1dBUGpXQVlCcXB2NDZaTkJZREpaMTlVcWEwZEZ4M09tQ1B0VTZBS0F3bzgvOUVCRmhCNVQ0YUFSMDF4T1NudmdqMUV2Um9MMWMvUGJiRHE0Qndyb0FORkpOeEZNSDQzOERqWVZkNTZLeTlxVndNNnJROTkxN0RvQ1pRVnpqNGV1QmdKYkpjb0x3Mm04azNEQkJ6VllKd3pJVUJ6QlFvT2NYZmdUeDJ5dG85cldWdjdveTZTdFFsUFVCTUN6SWVwdEhTRVJBNEZvZ3BNZ1BNYnVwc3pZdGdJcXlRZ0NjbUc0VDFJcjVjK2dvOFhYcXZpUjlRd1daLzBZQUdJWmZUWmhybGhVd2R5anJFZ00xZGU1QjlkaWNGc0NOUWdDd3RXOTNaSDdSTzlieEhDSy9qNi9MZFYrdHIzQkIxZ3VBSHpXT096cWhHMVhKcndVTys2V1UrY2ZzNDdKUjJlNndiZ1RBY0RONUhuL3dPc1F2dyt4MytIb2xXWE45ZlBFemJMaWZBRjQ3MktZUCtFaU1QTitISVdpV29FdVF6R0Zxc1hqYmJzMEFZQ0puT2FLUnZwWVlydk02VC9XVCtGaEJkc3NKc1U4UURxNUxqUFVEaUI4eVV4ZkNncGtRQkw0ZjhDZm5SZ1NnMWtLdmVLWUY4TGRuY2tzdmVWYXZlM0Y0K3JubnNPZmg2NVFTdzI1S0UvajlBV0NZZkRVNSswZHlDRFY0M2RPdDF3RDVEaDFEYzZqdm1ldWRJQnlaSkgvc056SitoYjYrQ2I0Zk5COWFQTlgxQnVsK2w3cTg0Q2JJTUxRdXZHdjRWUUNBYWJZbVp6L2RjSVpmbzlxcHFEREFkOWhOQlVDN1ZYblZOdzVBWmdDRS81aDI0aWY1Sm9nZzlxNjJlQmU5MkJROFRwTi9Mc3BURHZZcXZNUmV2aTB3OTlsVUFQSFVXSThBYWhBNGZDN2c3MWFmYWFZeHN3MnlhNjhhS3dESUJPUXZKR25BOEFJMlA3andubkFkS3NidC9SM0htZCtQZE9vWFgvVHdMOUMyOWhsK2xRQU13OGtJNkgzdVFCZ0lEbjgvNE1GdWxicURhbzVlWGJ0c1UyN3QxZVVCc3FZQlQwNDJOMCszdFhGczBvOWlxMU9ZK25iY0JvS2N4NGV3OTVJVWovbHFGVzVkdm45VEFiQ2tRRE5KZlhKRW96Y2M4SXVTd0RkUStXMmJWOWRtQm0yT2wxVUFvakRRVEtPdHRlM3JYR0d3MHhjSlRtR0gvRlI3ZjhYeHZXZ2gvYXJ2Um9TdHVVcjAxNXBCQVZvWE52aTlid29BeElPdmF6NHA3cHRGUC9RQTQzODRId2w0bEExVTVicE5WU200QnFoM2NPS2FVMDlucjYrdXJzWHJKYlhIekI5bmRoOEpkRXU2a0F2Unpld2VrOWFERy83T053a0FFTFFLU1VHUjJVTFVFdzRmUm12YnVYT1JjSStuVzQyUGFvMHM4bFZvZ0NSMiszOFVEZ2JyNWx0T2tlaVlkK3o1blQrKzl6aXRkVm5OV0U1Y2NQUEw3NFdGM3pQOCtnQmdTL1EwZFRHa1FWQ0VTQ1J5K1BCNWZJejBkbm84L202K2I4Y0FkSFROdDdSQTdwWlQ3V05vaGZMUnJKOC9oNG4zUWUxN2labWN2TVprZ2I5MS9aWFVld1FnalR2VUlFZ0U0VnlFVkNFU09YNE8raEFSRlJPbytDcnJrai8rM042dHg0OC8veHpwZk5uM3Z1b0xubVA1bEw3Z0ZuLzBBcTZ2ZVpPKzUwMEZBRVBnMGFza3BUcENFTG85cjM4ZnVnQVJRZURHUzJRSjRiTGpXODgvLy96ejFBQU53WThIZzhlUFI4NzF3bThteXM0VlFMM0NwM1Y2Y3RPKzQwMEd3RGF1V3ptQWtqU2xjc0xnOS9RQ3d4SnJrWW1jOUgydjdIdStvTzk3TjZBZ3ZkdzZCRm1XMDlVWTZWT2FTMXB2TGF4czRyZTcrUUFvZjIxTk50a2taUkI0QXpkV2R4N0lISTEyaTl3cEtJSnIzazYzOGNhOFBoYjhCemY1ZTcwbkFBd3J6YSsySm00V0pXd2d4bWRWQzR0NlF5OFIwajd4SXJTaUxXN1R2OVY3QTRDWndzSFdwT3BvU3FXZ0pLT1dKQUJRdHJwWnl2Ti8vL01Cd0JhTFg4KzRhWkl5eFhFUG55Zy9iL1JabUx4SDMrTTlCY0FLT2JmYXRJcGw0c3lyRkJJbDFuUGhmZjZ2OXQwejZlOERBQTVodWszSjMrSWladE4vYmVKYjIvb1c3dkUzZHo4QThCWHVyVnUzWG8wbnN1bnY2STA3aXpiODllYko5Kzc5TjNhL0FHaVpVdDkwU25hVEdETGIrcWI3N3VNM2RMOEJZTkRPeldUZlFScXQycGltMy9aUmY5enYzZC92NWxjQVFEZCs5OEdMeHk2K3R2S2gvL1M3djdKdjRmOEh3ZHB3dWFYUDdHUUFBQUFBU1VWT1JLNUNZSUk9IiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQU1BQUFCcnJGaFVBQUFEQUZCTVZFVmZYMWNrRmhoYlhoMVVIaFlwWEI4aU55SWdPeDhpTnlDV2xwVnJpbDBpUXg1Y0hHWHczK1Zid1NBM2FUT2I2Qy9PM3FRa1JCdWRuVzcvQUFEL3F2Ly9BUCtBblZqL2YvOWRkRVI1aVlVZkQyLy9xcXAvLzM4QVZWV3FWV3BFWURLTmNZMlptVE9oc1pFQUFQLy8vMzkvalg5VnFsVS9nMEozZDRpbXFxTnZmWG5BMTNTcUFGVkFYQ25NekxKL0FQODhVRW5OMzhJQS8vOEFBQUQyOS9RQ0ZoVUVHU1BuNk9iVTE5UUtKU1VSTnhFSUpoSUFDdzdGeWNpa3FxdVBscGljb3FTeHQ3Zkk5MUxTK1c2eDlUWk5xQ2tZUXhPNDlVeFZ0U2R2eHlrV054WHAvcEF3Vnk2eDVtc3VtQ1owcDFPVzVDNkoyUzFNV0ZpV25hRW9TQ3pGK3prQVZRQTBaektUdVdvVWh5WnRtRkRlNE4zVitJcTl3c0pTZDBrUUp4Q3Y2VkVJRnc2dDJtMERGeElFRmhKWGgwc0Fmd0NSMkU4bk56Um91VFJtaVU0NW95WkZhRFZ3dDAwWU5pU0ZxVlpLYUV0TWVEVUhGdzkzeFVzSkp3MkVqSTA0UlVZQ0JnVjYwaWxxeFJ3VU5oSWpTUnFLeVZPNTJJZ0xKdzRKRmd5cHlIT202ellFRlE4Wk5oVTBtQnh0ZDNiSzZZc1BLQkNUeG1vT0tBN3UvcVZLcVJ3QkNncmc0ZDR5ZERNWU14UlZ0UnlOdDFVQ0NRZTU5RzV3bUdoYVpXWWxLaEZKbUN3VEpoSjRwMnVWMkdZUEZnd1ZOUkwvLy80cVZCcUlxbXNOZXloamEyMVBoVG1aNUU0dGlDOEEvd0FQS0Fyai9YaDdnNFRGNjNSQ1MwNkgyUndBT3dDN3diNjM1NFZZbEVocWlXa0NEQXkweW9nV2hodkQ3Vk45Zlh5VXVJbFRWbElBS1NrNldFTWlMVEJEbXh3cGpCb3dPQzU2MHh3bVN5TWNSQ2N5UFVFWU15Q1JwSk1TSmlJQkRROGNRUmt2T0JRTWZCekIyNHNxVlFBVktpRjcwazAwWjBOa3JEUnJhR3pkNGVCYnRrZTV2c0Jqdmh1WTVtWVphaXdwT1NrYk14cDN0bVFCRFJDNzhZSmdpRDRoUXh3bktDVWpReDFsa3pzeFJTdFdxRVUyZEVGV1htR2wyVlZDWFRvYVFSYWh2VzZKaDRjY2tTZDJmWUYvZjEzLy82cVltSmdzUmlyLy93QTBBRFF2Umk2Q3pUTStvQjRrT1J5aHhsMHNWU3lCbTJpbnA2YzNVeWtkTlNPY3dvODJSek01SGoxM3lXUWhPUm9HTEk5V0FBQUJBSFJTVGxNVkV3a0grVnVtNXg3a2RBVVMvd3IvL1pnSEFRTUIvUUxiSVFVREFnTUUyZ2tGcmdFQ2hBUCtEMVMxL2dPL0NnTFlpZ0VBL3YzOS92NzkrdnY5L3Y3Ky92Nysvdi8rL1A3Ly9ySDkvUDcrL2YvLy92Nzgvd1A5L1AvOS92MysvVkwrU3YzTHFQMEMvdjMrKy83Ny92MzkvZnRzL3MzKy9pNy8vOC84L2Yyckwvei9rR3IrL3YxdC9ZZjkvMm4rL1ZiLy9FLysvdjRXL2pEKy9oU1BBdno4L3Y3OS92NEJFUDcrL2Y3L0JQNysvZjJNL1AvK0NQNEpCdjMrL3Y0VS82djkvclAreEt1dEV2NzlCckQvL2Y0Ti92NysvLzc5TWpEOXkvNzZzUkxMK3hiKy92NzkrOWo5RS8vK0J3TW96Z0VGVVAvL05Qd0c5UW5WeHY0d0N2OUpPNStLOEFBQVJDeEpSRUZVZU5yZHZRZGdXOGVaNzBzN1BkbHMzMXZmdmZmMTNzRkRBT2NjTkVJRUNSSVFTQW9XYUJBRUswUVFKaWwyeXV5aXhLSnVzYWhSRWsxWlBWYXpZMnNsbDloeEhDZnZ4aVgyeG5hcTA3T2IrMTZTM2MzMjl2N2Z6RGtIQngwZ0tTVjdKeElqeVJMSjd6ZGZtMisrbVNreTNLZXhQZjdMLytwREdJWUhqdUdYRjFmK2pmN3YwRERjMzFGMFg3L2FjQi9HOUJjd0JscS84SVhXMW9HQmdaSEtQWE56YzBjdUhsdFowZjdhanY5c0FQdzcrdkJ2Vnd3TDB4QzhWUkFFYzhLUUpGRVVYZmdwc1RFeGQzclA2VDlkK2U3dk13ZzcvclBRZ0pYaHZ1azJRU2d4cHh1USthOW1XMXJHcCtwMjdnekdPZ01lbHlpQmhhdnk5SkVULzhmOWduQXZBUXczVDdjSzVpeERFbFl2T1ozT0tuWE1QdlhVYXJoejFBVVFFL3VPTko2Z1QzSmgrejgvQUJjTWh1OHVMTFJoNXMyWStwVFpwei9qZnlnS1BtZHBlUlBHYnZyb2RJWkMrL2RYelk1UDdZeDBlbUFZbFpXZlpCQjJiUC9ucGdHTnJWenRTK0xpQzN6STVBY0UrcStTWkJZbEFDajFlcHVheXBYUlZONzBXVktKL1ZXaDhkV3dIKzZoOHNndi8zbHB3TEhtNXJZQlB2T0srRnpxbDJ1djFzN1liRGFydzJReUdvMkhqTFVDQU94MGxudGQ0dWpaUUcva0E5L1JzYWJ5VWxLSjh0TFNVcUlRZXVwZmhEMHdoMDhlZVNFeGtQNzZBaGp1YXkxaGc2bDVTUW1FTHpGRGNJdkpXSncwT0lEU2NxK29Ea2wwblEyY0M0NTV5NkVYVUFjRlFoRFdNRko1NHRkZkF5NnVMTFFKSmZHQmlUY1BMZHNzcXVpWTkzcmpvWG9qRFQwQXhNRXZWbjYrc25LRVUwQm85UFR1SFB0aEV5bkRaNTBoT01lcDJGbFJHdGl6VWtUdTVkY1d3SENyd09hZGY0RDBMODlZVFlyazlTWTI2bzNHWkExd2tnWlVjb0NOSnhyM1ZUSVFvT0R5UUJlYVNCV2dDUHREVTdGUjZNRzdtNThrYlJZQXBEbnF6SnRKK3VqbEJpNDdreHdXa00wRUtqKzFZOGNGVGJLVkV5ZE9jMjBRei9ZZTljSWZ3REVpUnBJcGNFdlkvbXNIWUFIeFhpZjkwS0NGU1UraXA1TmRBZEN0QWRDRlVDWDVtV3pjVXltT01nYStGcWZpRk90NlI2WEtJKy8rdW1uQVNuTnIzTzRGT1RwRGM4KzAzcExHOStVQW9GczUvUUdNb3BMMHdCWFllUVVNb0FiN1o4a1NLait5aVVxd1lRQXJ0M1RpeStaYU80bGNUOEpiWVBQRnhlc0NvTlB6ZjJMbTREcDM5QW9RbERyM3p3WkhSVmZsdTc4MkduQXdRZnpMSmtYenMwKytIa0JwSmdCeENJMTdpSUhINTNVeWp6aTdpZ1JwajJHVElrTFJCc1VYNHVKSEx4dVoxNFBzRnBPcE9OZlFhY0JJdGpvQzh3a25tQzNFcHVBUUNRRzBvUEtYdjJJTitIZUdaK1plRlVvRVRYd2JpVSthRCttTnhjV2JCVUJSaFArVm5LSW9mdmlvb2dVeGwvalJsZHViNEFvMm9BRksxa01mWmZPZ0pyN0ZWSnpYS0FBQUgzOXdnaXpoN05GRk9JT3FxdkVBL3QySmpSTW9Xbi9lbzRWOTJUeGo0dUxuWWZweEFGSjJKNWlpQmhjTUs0MlZTQnNETzUwd2hGQlZuVWNjK2VXRzQ4RjZBZlFKbXZJTHl5WnUrcFlDeEM4Y2dNTDlDTlFnQUVOb2NsYjlkcEE1dzE4QmdHTzZ2RStvZFZDV2J5cG85blVBU2dzRGdFRXhvZmVITEMrWTZoUXI5eHpia0JLc0I4Q3diczBqTDJ1ZTMxS0krT3ZWQUNic0hCS0RJS1ZHbDZwOGNJYkQ5MWtERmxyVnJJOEFXSXNQS2NaZlhOaklsUWhsUXpDSjdNZ3o3eVFsR08rRUhYejdQZ0o0Z0U4L0FxQXdKSUdCUlFsOXh1TDdCWUFoV0VGUTdQVTZQMXRhVmJYVEpaNWVmemdvV2svd1k4VXRLWFlUbFo2b1l2M0Z4WVVETUJjV0J2VUQyZEVSTEpiR21ETjh5ck9PejdCT0FIMmErbnRPenY5SUxwSFhqRFQveHVKMUFUQ3ZHd0JiaFp4R2JraXJaYVJGNHNpZWRRYkV3Z0EwQzRybFM3RzY0TWtvQU5pTVRINWo0UWhxSlEzQWdHRjllMjF6THJHVGxzcVhxdXBFOFhmV1Z5d3BDTUMwd0FBSWd2L2txcWYzSkJrQzZUK3JkaG52dXdaZ05UVDVPMUlkTHhhTWU4UWY3ekU4ZVU4QlVNMkxwbCtRZXVwaWt1Q0xRQUhNV1BnVkd3c0hZTnIyVTZxTGJ3d0FqWWxZRmR5QTg3T1hRdDhVeGNaN3FnRUxBbk4vSlVKM3NLNUhrTHZmOXdCQXJkRmlLbFI4bytOeWxBcW1aQUsralFIWWJxZ2N2ZUw4SWNJQmxPQ3ZFQS9mdlhjQUZnUm0vZVQ5Z3FOeWllQ3Y2eGFZRDZ3dkNFQzlmWm1rSitFbDg0WTFZSWRoajFqbnZESTZlcFIyMkg3aUVyOVZzQ01veXR2OUtlR3ZaelVteVhDRFBTY2xBTERWVzR6Ry9BRTQxc3hzaXhpZlNkb01BQ2dVU0VGbjZKeUxFa1BtQ1A3MkhtbkFBcDkrV1Fxdmhza01TdVRJSitqLytUWlBmZ0JNMEh5MllRYnAvWjZJbi9iSWZCc0Y4S0dCVHVlbG5kaGpQNGVBR0pydEZMKzQ1eDRBZUUzUmY3azdlTkxEbDRIU1VnL2tOMXZ5Qm1EcE1iUDJBRXgrTkJ6MG5henpiQWFBSFlaOVo3M08vMlUwOEdGWHdFdlJvRmNjYlRTYzJXUUFENmpaWDNSSmxWK1FUc0lIQ2xHVEFpQ243dGV5eWFlNUQwUjg3L3VDa1FDWkFBRm8yZ2lBN1laR2NkNTU2VWVmK09TM1hCN21DaU1vbVJiOXQ1c0w0SmJxL3BhQ1VWa0I0RjhpSDdoc3pFZCs0eXRESkQ0K2d3anBmZTh2OVdMSGt6a0JBTmpTVlBoYVFEOWVHQWc2cTJKekJrT2xhM1FLQlBZSFJWZGpBVWxoVVQ3eTgrelhjekltcVdVUStVNUVvQ0NRVC9uUENtcllEY2ZraDMwbk1mZDNKSEtCZk0vY1Y3NVJBSVlKT0lHcHZuOVBCRnhqenM4eUFuc01EMjRlZ0FWQlRmNGpVcndNMHVPWDJaK2FoMnF4K1d2UHZCcXdEc2xrK29Ma3dlUUhJNTV1ZmFmUXhnRnNOOHdoRTVqOUhjTnZNZ0pIeVFwV1JkZnB6ZE1BSmY4UmFsY2pnaEFISUFsYVFaU0dZSTR1WXkrMFBzWDExY3FzSVVMeUJIMCtYOFRGbHBISzlETUFwUnNHY0VSQ0V2QWY2TmYvY05vbEhpVWRBSUc1b2swQ3NNRFNYMEgyMUVXb3owRW8wUlZEbU95czI0TTZBV1JTOU5yYXl6YXJaaGFtR1d5V01QRmpKMzJ4MXpINWtwbG5RRG9BM2cyYXdBdFN4T21NOFY4ekF2QURxeTdYU05Fem13RmdtTHMvR2ZvdktDdkIrSkNqZHR0ZzdjdFJzOEJJY0RDVTVONnRYYk01VEVhYldXWXpmaGhSTCthUlNQVjFzOCthcEdBQ0d3VmdxQXc0blVlSEZYdFFyTUFudXI1anVMMEpBTnJTMkwrbUJHdktUSnNjRHR0eTdaQTVXaUp6QXljSzhsMzRQbmgrTVJBazA1Y0VLVjJYMk1ZQlBHbllNOXJpYkRsdCtEbjk3aUowWUl3SUJFVi9vK0cvMkRDQWFUYnBXUDJTL2FzS3I4aHZkaVNuK1NhTEZTRE1BdGNHNmhFVHBBQ1VQK3lub0pmYUxyWkpHa0NaZ1BOdjFOL3RvMWlBaFVGTWRIM3VYLy8xQmdHOHl2Vy9lMmxKb3VxWG53WVVuaVhGVjAxSzJ3c1d3NGtacjhXMjlyS1pwdzdkc1pOTFlUK3NRRENYcE8wVDNNa0FqR3dJZ0dIQUJ5Y3dySzBQUlJjYUNpN3Q3NlY4WUdNQVh1V2V6cnkwUk1ZY0RZZkRQWGNBZ0FxaU1tMkVGaHNUaDU2Q0k0cS9GYWJaWnlqTUdRRDROZzRBaHQvcmROWXRhTldRU3ZFc3N1S3EvV0h4aXhzRG9DWUFrWk4rV2EyRXNrZ0ExKzRvVHBVL0VjTU1NdVhWaUNncDhtZm9GTjBFQURzTWphTlhTcjJuNDduUHQwUVBJOUFwL3ZqZERRQllVQkxBOEVtVzgyaXhEem94UkZXZzR2VENxd0Nzc2xtSVJQQXZKQ0ZMcTZ4dk0wemdCZFFFNGs0QWxiSktzWmNjNFN5cXhlOXVYeStBWVM2dEhLQlZEMDk1VlBsbm1KRDE2ZVNQMjRHcHhDd0VWaWwybU84MWdBY0hQb0FUV05DdEFTdkZDQkg0c2dzcDRXK3VFOENyWE92OUozdmk4WTg3ZDF0bTlkZTdBU3lBL0ZqemxtUWhvQUtZMkpEOFR4cm1PcDNPblF1Nmt1aWtLTElLU1ozb24xdWZCcXpjWWhxUEFCQk96SDRvK2hsem1ML3FCQVR4WkRpOSs5Y0RhTnFnQnB3eC9FTXJpdVBPVHd4cjFiQWRoaE04SWFLRjBkeTZBTEFOQUl5YlMxSUNBTmxzeVdUK3ljc2hLMkkvNHFlVXRWMmVoMEVYMjk5YzcrYlc4RVJzRnNLRy90V3c1Z2UzSXlsR2VvUjlzMDZYYXowQXFBSk9CSHBPdnBRb1AzTi82SFRPTnZXcUV6Q1RBeFdGWEFCYVJNa3pIdnpad1hYdThSNnNqSTJIV2o0NDl4ZFZWYkVGemVCQmdBZkRXWStyTW1zN1ZWSG1ETGhFOXNNQjZnSElROHpQbTR6NUFDaEdCZEREQ2wrNUFJaGlYVldvemo4OXZMN1pyL0tlRXdjR1hFZXhUZHFzKzA5ZjVLRmdTaHlkeTFZcExrcmYvc0c4SFhNQWV2bHJtYW9meWsvKzRtV2hSS29MWndVZ0tRQ2t6cm9RdWgwbUZncXpoSU1mZy9oWGZLTURmUy84MnprcFdGVzFPcWRDM1A1N2pkd1J3ZzJNN3NueVNZdlNSa0JlQXdqZlRIQUFLSUJodlcrcXowLzg0bUliL0Vqd3BGQ1NBd0I4d0krUFRJdWp3Vm0wdjMzMElMNytNM2xXcWdkaTlFL09UaXdjWTkvMVFDL21PeDVRZnRIb3dpS0JjbUpYdGkyam9neGJnR3dKMUowNi82WTg5WjhLb1lKWjZLbUxac21EVkNlSXhkQ0pmUUsyZXZlSGduL1RuS2Z5ajVEeUJ6SDdGNVUvdWRqbWFkay9wVnRZcVc1ZzFGWDVENzlaQUlBRnZnU1VsdTdJZXYrMy9CYk52K21RTVY4Q3hydUFPTitURDRCL0NTTTkwZHdxOXJaVVZkWDlxK21GVCtVSWZJYURBekV2OVV1Mk5iK21OMTF4WjFYTHo5UndTSTRRYnVBS3NvSFJ5dC9QSDhCS3E1SUMzOVE3QUxtV21qOHgvNmtta0ZFRmhvUVM4ZVJTZmhwQTMvU0RqUU5pNTN4b2Ywdm53RUoyMng4SWoxYzVNZnR6U2Fjc0p3ZDZRNkhPQmEwUU1DTDZxRVFXeTdJd1RBVndrSHZBS05XOTlmSFBSUHB2U21NQ0dRSGNsTTFTREhhVUU4Q0l1dUgvWU9NMDJnQkRWUzJ4RVhJR3Q5UE4vaVFGdnFxUTcreEEzN0hVTFl6cHdQWDlzVnZheGhtV3hqd1dpbmtEVUlwZ1FxeEgxczEvVkpIZm1MLzQzQW1Fc3dSQ1NRMkQrb0xJaVducHJDK0VwdkRvcmZTMlQ2NHZkUFNzZFBDQnRCdWgwNjZwL2F0OWFrWjQydFhKWTZIcjlIZWZ5UTlBSzZ2OXlYZVdkUHFQL05mSTU3OGdBRWFrUW9HNlRrSEt4d1RpVFhEdlRRdWpzWmFxMEdybjNNTEZKQ0VYSnNMZUt1L1J6dGErQnpJRnpPR0piNGFtdmpXc0dRR0xoVEhSLzdremVRRlk0RG13dE9TWGRkVS9oNkwvYnhVRUFFMGdraC9WWkhPK0FKNVJkUDVFMzREWU8xVVZhZ20zSlRXbmgwbjVQUU1Icy9iRlRaK2RuZlVQODJoNlFxU0NXVlhJNHhySnp3UnVjUVBvdWFsM2dEYklYMjhxV0FPS1o5QUZjVEp6TnB3QzRQWUwycWJ2dmdIeFhEczJ2RC94blFWK0Z0V3dzakRST1ZYbFBPcVIrbFl5eXY0bUVQNjhhRUdzMjQrOCtBd3B5UjVYZ0s4THp6Ym1BMkJZcWVVdGRjY1ZRSjZoTmhqbDNOZWhRd1VBd0hwSWlNeG5jQUxVSVpQR0I2aVc4TzI1TnJIM2FLaHFkcWZuVmVqemYzTkxJcDA0ZW5oa3VqRkhpS1MxbkJUNzdkWFRhblVrU09sUVdCUS9lU1kzQUZZR0Z1UndPTzRCV1FCVTVDOFFnQVZPd0RNZktSeUFFdFFtSkxSRmgwS3JQNXFZbnVoc0NUbVBCc1FzczYvSDhHNmJaL2JMSCszNzMwSHlEMzhzc2tqZ2NybUtkdVFDTUNrd0Z4aTF4WGNCNUNHMHdhbnlGd2lnK0dXaHBQdWtMNzBYekEzQVVMUm5uL2poTjd4d0JqdW5RcUdqbldMYlIvSnRnZm51d2tqZHJPZWc0WGVQR1Q3Skk0RXYvYTV4VVdvT0pBaDNodUtiZ0NVT25meW0rdnBDZkFEV1EyWXBXSmMrRThnQjRJemhqOG1MdlRjZ25mM0FlNm1LeE85Yk9aT2YrQi8vT0Z2U3hrS2ZRRjc5NU1wM2FMK00vR0JsTGhOb1ZyZTNkQkhRMm1BcHBqTkFHUUZrSTJCRFpUU2N3UWtRQU1tWEJVRFJtM1JnNkxYM0prUlB5NVd6MHNSN2VhOFMvNmUvcGhEd29ZUC80ZnJVLzdaQXplVWU3Z2ZUNVlORnFXVUFJcURzK1FyeXNna3BnTVcwVGdBV3BFSUJMSW1sd2dIb3htbnBKK1BTdXM0S1ZoNjlIaHYramYvYUl3VXY0WWhKcCtqNjB4UVYwZ09ZVkk0K1VoSEVIQjFhVzhZTzM2QkZyd0NGQWpCR0phSDcvWnZyQWZDbWJnTmNuQitYaWdwdkF3V3dDYy80WC8xTnZVMGM5VHBaUHJndks0QnA3dld1WW9mYlFkMVBOcERBY1grZEFnQkFRVTZ3ZUZtbVRDQ3pFOHdNNEpuNGQ0aGV3QzhQWEZ6ZmxzSENGK2ZuUGE5NEVBcHgwS3BYSExtWXhRVDRUb0JnVm1SdE1OWGk3TDhsd1FJQW9MNFErVkVVTVF1eHV1NjBSWkhzQUJLYklXZWw5UUdnYVEyT296THF1Z0lWR0VjRDFiY3pBK2hUdHoxTURxdkRnWjh2SXlCYUhIb0xLQmdBT1FFUHZLQ1VXUU55N1E1dlp4cXdYZ0N3bTRPZFUwSDBFVkkyaEhYeGljd0FsQmpvTURyc1ZrWUFHOTIxR3dSZ2pKWkkzZW05b0FiQWxSZUFZK3RVQUJ6TEgvN09QTTZYdFpBS3VGSkNZWkd1RUtRVXZreFdKci9EQ244NDA1QU13RlJRSWtCTjhSS0tJbExXbmFIY0FNWUxCckI5K3dVdE14N2U1M2VKTWFmelVoV2FhazlrQXNBVlFIWVlHNndPUmdCRlRYbm03WVppeTBZQXpGQk40TmtNRzZUM0NJQWFMaWViKzFvcmNicjBTYW9ndXRSQWtGUWlMa29vQkpYSUw5ZWJTSHhTQWhzZENIRllpblh5Rnc3QVNrN2c3L3pwQVlqNUFaaWpNRmlRQmhTdEhHenVteEJITzFmclBKVC9QbWxBaVRoWWhjSUF0c3pUYThBeFhnbVVCOUhuZ3VrSGdJWkJBRUE4TkpvMkFzQmtGc3d2TFdVRUVNd1BRRUVhTUh6d1lPdUlKeHlzR3cvaHhvWFJJM3pHY2NRS054QlVQWVhhMEtmU2FnQzNnQklMS1FCRFlLRVdCd2Q2M3ZRK3dIU29NQ2ZJVDhhazNSdVE4Z3lEaFpuQXlzU0lwek5XTjA0M2N6bmgrRnZVRlJCVXdPZGszZFN1OTlJQjRFbUE2Z0laZ0dXVUJGSUFwT3dMNVRvZ0VjMWNEcmtYQUF6N3hNajRmcEtkRFEzQURzTVhYV2VWRlVIQ1ZsbFJZaGJvTUZyc3FnYlVFZ0Ewd2VxZFlHcFZLRWNZZkZsUTd0RmFkeUpVcUJPY25CYS9lVVdSUHc3Z1NjTVJ2bEZFaThJSEw2UUM0QmFBNHE5REJkQ2dBakJsa3o4N0FTNi9ZUDdCeTFIZVFybmVSS2dnSjlqY1NzZHEyWEJPYVVXQUZSZHRrNVNpazloL0l0VUVsQmd3WTdSWUZSOFkxd0M5OUljT0hTcWtMRHpFNUMraDgrVVd4eUI2Q0V0WWx4VS9Mc01BbE42TFBPRGJmZnhFcFI0QWFtTXVWaG9LK1JOYXFUbUExNVFzMEdwcXNQSWdxQUV3SlVhQlEvV0Z5VS9IQkt6eFB6RlpaMnFqL0dZNUZVQitKakN3VWtqNis2QVl1SklFWUR1NXdSaHZJdFdYaG9xVVVwaG1BVlkrTXBqQW9RSUFHUDJzUDBadzZIckgxTlphYU1NOTFJQmpiYjBoWjdJSmtBcXdTTmlDZlBnWEZ4SUJLREZnK1MyVHBnRFdobVVXQmhzU2ZVQjkvajVnaUI4UnNoWVhwejFaUzBueXZRSHc3eWNDSVd3SnRyUmp2cWRFRlFCMVVxT2ZEaXFBMjBlU1RVQlpDTm9wQzFJSEFaRHRWa2RpR013YmdQRXFrNzhrWmY3dlBZQStEM3FHU244NDZwcHlRZ09PeEZOalVYV0R1ajhzMGpXRm0rTVdRQUJtWkxOOEdRQXM2d0pRSzdQNDU4Z3cvL2NRd0xSL0Z2Y0t0SjlGODlWWTFYemMzaTg4b05qQXJFdlhOMVNrV3dndXN5eElHWGJISUFETU9LenJBekNqMC8vTTY4UjdBT0MxdnRHV1MweitJMysvVDJ4cGlRTWdHOEQ5ZmJDQnNPaTZtR0FDU2haa016Ylk0d1RZYW5DdHdXNU15b1B5U2dVdjg1Q2ZlZjVWQU9YbG13eGduMnVxQ3ZwL1ZxSUs4SndyTWhyMytCZFdScWcrWEZyMUV5b082Z0NvTFJHT2VqMEFLL1g0RERYWTNqSVZEbUJRcC8vWmJwQWdBSnVhQ2VMS3JicXF6M0w1NlpidU9VbFhDdDlCYmhDM2NUbVJEV3IxNGFKNERIaVpwWUZ4TDJDbm82R09iYVljQU5JZ2dQengrR2U4andEK0hudkJtSDh2azErcEtPdjNBaWF4S0w3RVYwU3FZaFJwZmVIWUF0QzVBQnAwRk1wcWI4Z0p3SmhTQ1dYbm83bis1OUtBVFMySlZZcXJtUCttZ0JiN0RHZCtOcWV2cDFleUt5ZG9SYlJQcHdHM1ZCZGdTUVJBWng0R3JZNzZISXVCWkJtMzZmMWZWZ0NidkJiNE52NWlWVk9wTnlERm85eVovMjVTZitYRWFaWU9YMEljR0luN0FOVUZXRTBXdlF1d09wQUtDc3RJaG5NQlNLb0J5YnI4eDJqTWZvdk1KZ0o0a3Y0ZXpmK0hwY3hIWnh1Vk9OQ3BiWk9SQmlqN0FSWmxKYWdCb0ZSd0tOVUpaRStHRy9nSmVWdDIvZGV1MGNrYlFPNjdrdWFZL3BmMzZ1WS81YXAreElGT0pSZFNVb0VpZFNtTVUxRDZOSWdYQmJHU2RkaXY1VllCbzY0bGdJNUljUG1MamNXYkJrQjRMZWNKVWo3L2g4VzV6SnRvTzVnTk9QVTJVS1QyaGRGUzJKN29BNnkwU2NydXdzNnVBVHBKcVFSWWd2d3B0L3dhZ0pZYzV3WHlBNEREY3p0cC9nUFNub3ZadHRDeEpFeTBBUUE0eU92aFNJTzJKY3JmRUVVdVdHdEpkZ0wxbWVPQVhuNmpzYmg0OHpRZ2t3L1l2djFKS3ZxK1Z5bjZtUDNudkVsbVJPd053UWFDWkFNN0dJQUgydFJPTUVlU0Jsald5QVlzTm9zcG56aUFuNmE3VFA2MWZPUXZERUQ2TUtoTjlSK2dFYWpLV1Y3ZUt4N0p0WWs4NGpwTDY0RXAxUWtVYVQ3UWxBTEFZYWZiVW13b2pPWUhnQmRBaE5yaXZHNVdRZy9keGpYZzNjYTV1VDk5QVpjc0JxdXVsRGYxaXFkejdwbWMvckJyaWdmQ1N0VUVXdFZlVUd1eUQzREFvNlhhUUgybVpybGFVaGhOL2p3QVVMdjgrdGNDT0RCWUtZbitVV2tBZDRwaC9yM2svM0xHeXJnVEVDYzVnR2FsSUY1dlNwYWZad0pSVklWeUFsQjZBVEQvUThiODVDY0EzUVJnUGFudzdkdG4yUFVoZ2RYeEVCNGhHQ1g1a2Y5OUpOdm5lWk4zWVU2T2lPRkw1QVFrWGg0dlV1dWhhOGw1SUFHNERBQ0NQY1VHMG9RQkkwNkprZnpSZXZWSTFiMEdZR2lVZ3FHcUVON2xxSm9OUWY3RGtxN2VQM2tpUGlacFBHRDQrRE9xRjJRcndpazg1dktwQ3d5QXNpZVdzQlpXQURoSzJKTFlsaVIvdXRMd1pTYi9YZXFweis5ZUhRQXdiOFFFdmpzUTI0L0NCNnY4UWY1ZTZYUmMvbjFpMGhoUU5RRHRGbnhGT092aU5sRDBjNlVZWUs5UGpvSktaVmlJTnRpd0hxaW5mY0hNeXlFYks0Q1QvSGx1bVcwUXdBWER4T2dzRm42bER6RUM4SDl6V3Y2M0ErWFBRRStuTnNLQmVMZjhkaHdwcE1wZ2FWV1A2UG9JZmx0MFRGc0pPT3lwTm9BZFltUUlGdDR3WUVuYks4eWtkVEE3TXFzMzYrVnpzOVFHTmVBOWtTcS81VnUyYkNrdjMrSWNFMGR1Njd3anFnTDd0Y2Q3cXZaUEpYUksvMWdNZzF4VlRCcmRCNDVGQnEwYWtnb0FOV0ZhRVVZSEIyMTJoem9hK0pNQkNmSTM4SHVDSEtyL3krOXFiZVlEOGsyRmo2Vmt2aEZZL2hiMk5zMFdwOWRWZWVhQ0RvQ3JyZ3BOUWNxb1NnUlF5WjBBSGFSNVFRTWdtSytaMGdHZ0xXSzJtNE8ydWRxWm45cVkvSllHaThOeFRkVUh1bFdYRWtCa0RIbjYvNVJVT0NlQStXUUFPd3p2MGp3K3hNUi82S0ZTcjY3eVJaY29BQURmR3lNTFFkWWo2bnV1MERGRk93YTRnQXk3TFVVWFd6UGxRUXdBYlJFclowZ0UxanBwcmwyYnNWbXRiemM0K0QzcWhPRmxkcDJPTFYvL3Z5NEFTV3VCQ3crT2RJYjRZelJiY052NlVaMExpQU40aUVZS2dIM3dnc2dFY0ppTVR0VVc5V21iUXRZMFBzREJ6bzlKOFd0aTJOMDVVUGhvOU9yeURCU0NuaEtJeW14Zk1YLy9WekNBZEZHZ0VtWC9VbklDWU9Ec2xkN1RxNGNld0VQSkFGQVkzSWxNd09saHpTSkZCelVBOWhRQWRxd0djUFJ0ZFdrcEZxYkxNNFNFd2E1VWlkWU9Ec21rL3orSUg2bmViQUFmU1FHd0E4Y2lSU3ovbkJ5QTB5ZnFZcUFHNEtGMEdxQVdCa3VkV0JCT3hnSGdWSmd0alFhWTZTWVFYMmRQT0xKMHNtNzFKRUQwZVB6ZGtxRGNGRlBDYnN4aGlTUTlLMUtJL0lWVmhCSVdRMDllTVB4eVFvemdBQUVTQUx6SHRJZ211TWtMOGU1YUFuQzBTcEUvV1FOUUZFRVlnTzVjaWxHcnhIWUZBSlZEVWdHd0tDZ0ZUOUlkTXBMVTdTY09xODgrK3l4VUFpQzZ1U0xRZzFyeWtMRlFCU2l3Skpib0JQZEpBUndlOGpyL0l1ajFudW9LaUFPVCt1N2FIQUNHUlJZR0xnWHB5ckVkUlFmVll5RVdtOTFPVm1CUFhBdklkSWtRdjAyVk9RTEdJYlowOGxrR0l0enB4MmtBNGFwUm0vL0NUQ0R2RGhITkNUNXBLRG95TWZvdlFsRC9SWjlMY3RIYmZIdVNWMGxaQVNncllqaE9pbzVGZmVyQldGTWFBTXdDNnZ5NkU0UnFNR0FnZWlLdlBQdDN6K0tTMU12RnVoVlNjV0UrSUI4Tm1QOXlQQXE4TmlHR1p5RytzeDI3dko5c2JteWNPMkZJQlZDWEVZQmFGaXR0RVNsQlZFMEFBTFp4QUFtN2cyUUJRVUZJdmtaTGVWcUJTUGpSQ0VzM2pCc0xpd0hzWnVrOEFUU0tkWFhjQjJ3M1BEQTM0SytyY3VKWnZnL3dIdUdKREpXL1N0ZE9EVUJwZVRLQVBTd09NZ0REQnRVRTF0N2lKcUJDc0Z2dDI5NitpZ1crLzJSbld2SDVxMUxRaHlXY2tKY2RKbFBCQVBMVUFNTkhLdWxoMG4wbkhxQ3Rud0ZYTUJRcUwxLzBqVW9USjRqSWs2bnYxQ1lEdURTV29nRUVBRHN5OElKRjhkV3dCb0FJMEFjSENSaGU4Z3VaQ0xBdzRIbXFtNXFMR296M1JBTXcvNUtyTXhqc2NVbjczdnZsUHJIenk3aEplckVGbmY5ekdjOVBKUUVvVFFSQVJ3blZSRUFIWUVZUGdBOVVBM0FMYUNRbVpaR2Y3cGQ5OWc1c2dMMm50aTROYUtHdHNRdHZacm9KdGxIcUhkK1BNUnVreDVaV21mWUh6MHI3am1XOWIxb0g0S0VrQUN3UmlDbUp3TDdmMXdQWXBoZmZhdU14WUNrc2wyUlRnUklodGtTOU5DWkw4VG9Ca0FiODl4L1BjUEhiRVNtR3RrY3MrMFA3NTZIOVNHL0t4enpzRnZFZCtRUDRpeFFBVkJSeS9naGg0STh6QW9BR29MY1BGMG41Y3dIdy9KMUVsNnRaak1YckIzRDdtZlJudTQ5TmVFTE9waVpLK1oyaEt6VDk3YjNpd0o0VFdZL1A3Y2dOb0Fja0w0VWwxOGd2OUQ0Z0VRRHJENkNMaEVxeUF5Z1I1M0hTZnNpMElRQ0dGekxkbkIzYjM3UmxDMXYxTytrNTBuTXU2ZlRGeEtlNDlIVnc1aEp6bVFBT1ZIZXlWRkJ5RFdoUllMa2VQaURSQmxnUXhFVXlPUUNZaFNVNmFtOVI0MEJ4b1psZ3R1M3hmNkw5WHVWRldyd3o1c1AxYUVjTUthWC8vL0xOWjk3OEg5OThzK2pqWnpRTldJMERLRWZLUXdGZk80YzJ5Y3VDenAxNkFKUUpidE1Ec05IZUtPNFM5ZWNHMElNREVlaXp2MlpjRjRDV3pBRG9GcENubkx1M3NEVnZlZE5pUUtJbkovWGFmK1pQVCtPNTd1Lzg3R2Zmb2ZHenorM1pNN2VTckFFS2dELysvd3h4UHF3aVVBY1QwS0lBQVNBVmVPVVZEVUNVQlVFcE53RHhXWStBMWNBMTAvb0FaQXVEeUlKREJJQXRlcjBpRC8zNjhUbFhZdlhUaGNySS81TWJnS2dBRU4rTnJ3WUJZTnUyYlF6QU50SUZLNjEwZ21FaEZ3QVErQ3Q2YjhaaE1XMitDYnduOVlhYVZBQysxSTMvTTU5emRUNDFOZlVVeG0vajU5UlRZV3lPcFFENGk3UUFTbjhDQUhPcUJxQWVRUElEd0RZMjdGYVdCU3dGc2ljQnltdGJaQU16SnN2bUEyaVV6bDZoSlM4QlFPZFBTdXI3THovbml1aktuMVc0TnlvWndKYmR6cWxVQUxOeEFDVUpBSmdhNEFOM0FmNlRmamtQQU5MZklSY2FNalZzT29DTGxleVlCL09CaTcxU21wMnZ6N25DVmM0cnl1bUFVcnBNVmdPd2hZbS9aWGQxaWdsTXVNVHhKQURDWFl0cEd3ZkFCZ0JjUlJDNGMxSVNjcXVBSUN6ZHBFT20zQVkyRHdCcS95NEtBdDdGeGNXbXNVNXBYNXJPRndEWTc0eG52UXpBWCtKMHlNNHFhQTM5V2ZWbkZBRFBmRnhMRXlaWXB4QUQwS2Y2QUhPRHlXN1Q1QWNCcXhrQXdrdDVXQUQweC9Nc0ZrWjJuZ3dXQ0dCM0ZpZTRiM1NxcW1seHpIVzI5eHd1NUo5TGR5MGVBZUJ6VGROZHFtaUFBbURMUTFzZ3Z3SWdvVjdDQU5UcEFGQXVhOVVEc051cEZrQjVjRDVEUWh3UWxvMk9RbDVjVWdCVVp3Q0FMWnhXei9WUTA2SlBISmlRcEltNTlFdmZiNUVHcEFDQUNUakxtZncxMVJvQVF6WUFnbXdsQUpyOE51dWdRTTlJK1BNRElOKzhpZEtZaVQyNXN6a0FualQ4aytTWjVmSmZ4RjVuSmkveHVRd0FnZ1NBNXIrbUpnY0E1ZlpZNFJXVHc2WWIxcC9DQXJweEJVNWVBQVQvczVKcUE1dGlBclFLN3B6Rkt1Q2NlSHJGa09XNWJXNEM2dEFBNExoOEU1UC9NeGtBWEdFQVJBQlF0c2JrbjlZN0VqUmdqUzBGODVNZk5sRG54MGxyNDdYOGRzVnlBaUQ1c2ZYWDVPMlY5bVh2ZU9BYXNJWFplNUlHbE5mQS91TWFjUHVaOUFDVWkxT3dHRWpVQUx5TUlOOEo1d3RBdUJrVFdCd29DSUNVWWdJWGxBOXpXQVJoL2c5THVYbytNbXRBZWZXTDFSeEE2VkdKb2tBOERPNWplUURXQXBvR1lOMWJXOStRQUFBdlk4ZzlBVGxmQUI2eUFhdXBnSGNIMC91QUJ4b2JYekQ4NGpUdXg3emliVDg3TVBlcE03a0E5Q29ha0FRZzlGdmsveFFBb2g0QWJZOHlBQjh3QU1xQk1XUkNsZ1FBdE9WeDA1K3ZCaUFPK0NrWmJOaVFFNXhzYnNQM05OQTJJQWIzTnpXTnVjVGZ6SGx4Q2xMaHFyUUFuSkM4aHVSWEFiejVqTzdhWlRvNWd2MDBwZ0Y5U2pKak1TVUFvSHJnemU2OEFjaExNVjRZS3k0MnJ0Y0h2TllxeG40eU5iWHFRVlhmMitTanlKL3o0cFIwQVA2U0FXaUg2TCtsMHdDRC90NXBMSWUzT0R2UnB0YW50c2hRSExUckNWQVV2Q25rRCtBT3JRZFlZYXh3Si9qNU04cGhINXo2RGFIdnB5WFVCUGxIa21MZkM0YVYyOSs5WGZTZjJMaGRkRHNyZ0E4QW9McjZNNTlKRXdXd05TVDFoQlFBZUl4RjJSNUdwNmcxTHI0ZEYyUEwwWm44QVpTWW1RMndYS2dnSjZnQmVIQjZGSEVmSlU4OEg5aUVxdi9Fa1NUOWIvend5SUIrakZRT0p3TW8xNWxBZTgxbmFqZ0E3Z1QxR2lDaHQyQ0wwd01BRHhRWlRpZ0Exb3lPd2JnRjBCMUMvaDQ1Yi9saEw3aUF6WXk3WjlZQm9QSU1PN3pwcTJyYVRjdStKbHI0VENUZHJrdEhuczVHd3BFdy9hQ0IyM0tiOHdKUWt3eWdrUUJzMmVJZHBlWXA2aFFWbEZ0RDQxNXcwRTVSc0haSXpsOERoRHV2d0czYWFVMWNPQUJtQU5pdjRpMC8xRHFuYkhkcXdadHRFSG4yNjhjb0FmaGlSZ0NRUGkwQVJFRlJpbFh0WmpjNkQyaWRvblJld0xKTldRWmdWMnlJSHRVdzV5OC9QQWJad0JyaXdMcnlnSjhiSnNSWjZ2bGhBTHhuK1ltV00vSHRnaDBFQUxsUktlLzd1UklLTVFDVkFGQ2FBVUJOV2dCMEl3VmVLdDFkM2lJcEFKUzMxR1NyMFFFQ2c1ZG4xbXFIN2dxSmQ2cmxGd2RZY2JnK3kxRzVyQUJjczVvR2VFY24vazNLZFRjQU1Jc0NJUjlOenBDcUFTRTlnQWdBSE5NQTFHVFNnQ2tBT0twcWdIS1ByanowZzlxaEtOOEVaL3UvaGNsUHVSRCt5ZHYwQ0cwQkFKcXFVUlJseis1T01CUGdCZUF4Y1YveTJ2Y3YwUmNHRGRCa1RRL0EyUnNIc0t1R2pWMDFTV0Z3WllEZW9kbGQ3aFBGN29IZkxZcGZwS3NUblAydk1QbVZYR2pRNUNqZzJWMEJBRTRwQlJFOG5obHF3bnNMcU9Fc0JsTlM0TnUzMHdCb1pDWVFCMUM5V3dQd0FRQVFnVjI3M01rQWhpWEo3eXpkWGY0QnBRSGFtU0cxOFVkdEI1UGxRdVUzeTRnRGNLV08rdnppQUh0M21Hc0FUNFFtOENSQzArN2RVSUIyMTBEeTF0L3REQnFnQjdEN00wMEpHckRyeFYyN09JREVLREFpZFliS2QrTndrUXFnamI4Z0k2amFUejJCYTJ1RjI0QWZjUURGNFR6WHhDcUFkaFhBeXNUbzJPSWlpbjlqbmpUWEpleGdBRXJUQUZDY0lCWS9BSEFPQUM0Q3dEZWROZTRNQUNZbDZadFlMRGRoaTFFQmNFdFJBZlBRMWRybFFSd1Nha0FuSkdzVExneUFaT3RXMWdONXQ4b1NBQzBWYnBURVhqeksxeXVpL0wwajNha296MnhwR2g5UVZjbzhZL1dqTlM5eURkQUFrUGh1QU5pWkFBQkJ3T2ZjdmZ1SG94SjlJUTFBQ1F2aUZqUkE4bUYxUkF1MUF1RW1OZ2xmTnJIQ1dKN04wcjRuZEFEKytrVGpnRFFndGZWTlpqZ1dkamFVRGtDSTBxY3ROWS9XRUlCektRQWVkV05EUVV3TUF2UE82dkl4UkVGSmYzYVlKbzlKanU0SXBJSlc3QTBLQlRvQkR6WUp6UTBXL2dwWlBnQUVBRGlsWHc0Zk83Rnk4VUhsTkpSeStsY1JueEloSFlEZFNRQnFYcXpaOWVLTHV4TUFxQ01CQUlVYkZNU3F5N3RZR3NDUHp5dFZNU3ptN0pjSEwxOGVwSUc5c1NHNVFBMlFYb0VOMkV6WUk2clBUd09TQVd6UDNpcDBkallUZ0YySTl5L3VlckZhRCtEUjlBQldCaVFQcWlYbEVVRkVzR1VBenJTcEMwS0xnMG12SklSMm9WQVZ1TG1NT0VEbjdhbU4rSkF4OTVraENvTnBpNktUalRTYW0vRURQeHNiVHhpNEJ1eldGbjRjd08rSUFGQk55ZzRGK013VFdoUWdBSnhBa2dud3BkRHVhcStIcWdINkd5VDRGYktEbHhVQXBBS1hDMUlCczlCTjFYSGg3dktNSFUxVGI1a3NyS0U4R3dBaEU0RGhFYmJWK1RGdHozT2ZEZ0NEVU9ya1VZQUE3S3JoQkFpQXhBR0VDWUNDQUFEaTdmTGZicU5FdUxxNkJmanBFeFRwYmhPVm81WUd1d2JBWm1lN1F3WGt3djVYN3Fqdk1wcWp0VE80amhVMzBGQkR1VEViZ1BZTUFGYkhwMXJHMlhqcXkyRnhUMFlBZ1ZDVFd3SHdhRFVEY0pFQmNEL0tDTHp6V0NJQXd3QmRMbG16QmZkZHN3eVVYNkx5ZFNVVHNpczJ3QVlJV0F0WURpRVZSa2VsUExSOFY4c25hbWZvM0cyOW9nckcvQUhRbVE4OG9vRjd4V2xVNFM3UXVTUUF1d0ZBVWdFOHlnTCtybDBhZ0FsSkEvQllFZ0JrQVI1blUwMzVPYkpBRGNDMDRnU3dtTE5CY3FZRUFMQU5iVEw1cGtOQ2VKWGVvcWFtK1FiYlQ2L2lpVWFaUUpSRThRQ3JwZDZvblRkTHVqK0FoY0hQcHdPQXpvZ21aWVJpb21JQ3p0M1Z2N1ViQUtxcnl6bUFiNkhiQlFCZXBJREhBVkFkalFFZzgzZDNWRlM0bS9RQStrUzhVbHRkMCs2SC9CTWZVZ0UwSzQ5clkwbnN1S3lVQkxnUnpNaDVBVUE5QkUvclFZWGl0MFhOWERYVFVSTUNJVVNYYlV3Vm1IdGtGRXpGUDVBSlFIdEdBT1Bvak5pQ3hjR1czVTJoQ0IwSlBVSlJBSFhlM1NDUURHQVg5M2M2QUl2dUN2ZGpGUmhsSFU4a0FkanByR2tmRXdGZ1duZVZscUJkS0VtU0t3eTIyYWxYTHA4T0FXa0o5VVA0RU40MHIwR3dyUTBSaFJLaWNQY3FVWUFsc0JCaHN0d2xFd2kyMTJRRndDTGU3aFFBMVRvQUFRTGdUZ2VnNGpFTUlFZ0FNQ0NSQzZqMlFYNzY5d21YcWJFMkFZdDFVRmNheERaNVZNN0gvVkVGNlNyMXpDZXJ1cWxoY0ptcEFqdGdjWGRveGtZUUxHdnNOalZvQUFCSWYzc21uUW1FcXRXMVB3ZlFxQUNvSnZscm11SUFubEM4dmZ2UkdnQm8xQUVnRFhnc0FRQ1dnaUJXODBRdnVZRGgrSFY2ZmNxajhnSlNBUUtnNUFLc2NjeWN3d3J3SUljTjdiVHlUOW1Ucy9yenBkcTFXaGF1Q2dxRzZNd005dDdORWsrRUFPRHplZ0MzVXdFNE5RQ0xOVndGYWg2dDlyb0l3QmZoMHA1NEJ3U1l5NnVKTzhGRkdBRCs5NWdPQU8wTTlFSHJzR1hRTWdyNVd4L1FYYWo0ZGNVR2xsRVpqS3NBR1lIZHhzb0RXZFdmMmlqczJ2UW5uckNOZTRYQldyUHlhS3Q2cWFBQ29ER3RCamlyRlF2WW5RSmcxNlB1NmlzTXdMY0lBQlRnMFRRQXVBRWNxRkNkSUI0c3VEZ2dTUzJMdTJxNkpNVUZKQUVRNUJLTFJWY2Nwb1laRzRXQ3JPcmZ3ODNmYU14MHdGaDMxYmF0TnNwYjYveENITUErdzhwcjMzMkJ4cmUvVFI4WmdDa25pVW90TGdSZ253NUF0ZnZSWFc1VkErQUVPUUJtQW91SkFNZ0NEdWhOb0ZrUzhQZmRUWm9GYUFDVU5nRW9jb0lLS0wwQ0dZMkEzbVNNVWdHWnpnc2tYa0NjOGNZcHVtWkV2cmxFMzRMaUF6ei8xMGVsRVRYcEd4RXJGUUFRZGplQ25nN0FsVkxhN1dLeUtnQXFtUTl3S3lwQUFCcFZBQWZJQnh3b0E0QWdpL2pzMWpnOGFvRlNDWXNCclN1cDErcENCY3lXaGdRVllJN3dzcHd1SDZBSGlHMDNLZEROS084dzViaHdTYUZBbDdOMHIwb0tnRlBJell2OXVrNC9YQ21pQWlEcDRmS2NZUTFBZGZXdVI5MTZBSW9KTUFMdkpBQW9ZMEV3RVFERmdISjNEWXNCYlFtWHFsNXNWWStCNEVrRlcvSndYRTRMQU85UjBTYXkyWXJGcjhtU0R3RCtOaStkdjF2eUNCekFQQUFZL2RMcWw4ZS96SDZNaitvMGdBOHNjVFFOY0N0TG5CUUFHRG9BbllzZFpYejh1UTVBczRScVdKTzdQVURxMS9iek5GZHJzMGlZcEFJMktnL1lTcEx6QWN6OHpBd2RvQnRpY2MxaXloT0FrUjZreFRtTG0zdzVEQUJDVDcwb1BWWEZDLzZvOXcra0FwQVlBTmVWSmpYaXVWTTFnSHlBTndYQUkzdkwyalVBRTJRQmJqY3NRT0JaZ0E3QXBCb0lzYUJ2Mkphb0FHUUZpSVlKMmcvQloyajZoUm5jdFZ5ZmZPRllkZ0FXdHZOcVZoTWhpUUZ3L2htcllyZlBNZ0NuSlQyQWN4ekFLSElldHp0VkE5NTVsT3ZGT3pYZVRnRDRROE9FMExNSTg0ZjRaWTlzUGZDVm9DQ3A2NER1MmFaSDI0T2tBQVBKdDh0UHF3QklCWkpNQU5FUVY0dkplZ0RtNVI2SjFOL0JjanRUQVFCQUFHbXdjS2RiaUFOd0FZQWk3M1V4RlVCY0E5eHhBS0lPQUZlTXg5dzZBTkNBUjJoc2hRWUlnbkxjVUlpRmF0eW5LQUpKZmNrQWxGZTJCUElDamlRVklCMndZM0VjZjM0b09oT2xSTCtXMUwvaG1pWFZBcklBTUpJS21Ga1VBSUF4VVFnYlJ6VUFUNlFDYU5JQWVIK29KWDJKQUQ3TlE5NHV2UWJzWmZMREJEUU5hSVVMOUxwM01SY29UYWE4TVBHcXFnSXY0M1Q4b0MxMW9IdFdpRmMvYVBwdE5QM1hHaXdGQWFCeUlidHhWTlVBZ1p6Z1ZCNGFNT3B0ZjBjQjhJNE9RUHRqano2V0NLQXRMUUFrQWIzTzlnNjRRTE1hQXhJQXFNL04wNVVSRm51cS9IQUVnNEphSzZlRHBGZE5oL0FFRFR0R255Y0FYaXZsTjA2d0J4YTRCc0FFaEtueUd0N1M0MDBFZ1AzOTZzVTRnQTdGQkRwcVdsUUEzbmFXOGhJQU42N1NVd0I0SzdZeUE5aTZWUVBRS3FFVzlHY2RYU0k5OE5PYzVwa2REUUM4Z01XV2pvRFZIbFZ6SXBwK0xQTWRpdng1YTRDeWMwamJJam9Bb2pCVm1nTEFUZExUanlZT1FISjUyeXZjbjRiNG4zWlhwQU53WUpmM2NCekEzcTE4UEtJQXdETEE4NDJtanY0STFlTmJWOUlBT0tqbE4vVE1RaG9DY0lWa0JpeWJyOFdWMDVoK2RxTkVXZ0taQVJRclhnQkdFR3pmUlQ0QUFPckthYTcxQUx4dXZydVpBS0NzNHRNVkhSMmZycWpZZFVvQkVQQzJIMURUL3JRQXRuN2xCZ0U0QVl0YkRiazd4cGdMYkUzNzFGWXI2VGNwdDlsaGFiQ2xJN0J0bThOR2FVeVUzYlZLRjJsa2tqL05wWE02QXNYRmEzSWNRSThSZXhYbGJMcFZBQlBTMUtJQ3dOMmgxd0JsUEFZQUFnQjhualRnZ1BLSEI5dzZBR1VhZ1A0YndvRGhOaWxBeUZ2bVBzNjhiMTlhQU5xaW1EYTQwdm5CYmR0NGtRaTVBdDRkc0RwMENwQW1FbVoyZ3Z6ZUZXWUNDZ0JoZnBHTEN3Q3RETUE4QTRETUg3a3NBOUFzaWREMng3aXM3K2dBL0ZrY3dCL3BBQ2ppN3lVQThQbTBERmdjVXhWZ0pTMEF2bEhPa2p5WWRqb2pvS04xZzdUNGNlREdhY2UxYTlmV0JjRElyeDZYVkFEaFF3a0FCbGpPeGdHNFNXSU9vQTlCVEp0c1ZRUElCN2pUQTlCcmdQUS9md1RudkwzZWpnNGVBNmN6UExqNEtuOXFqZ1g0aGdhK0d0YVd4V29mUFJycFlTTldVNzJEZGxGMUk0OTdCM1dlTUJsQTA1OGxBVUMxMjEzeFdCS0F4MVJaZFFCMnBRZndQQmYvNFVmNm9mWEwrR0pIbldObFk3UUVVVmJDYVFBc0tIZENzR3pJNG1Eblo5UmhVMzVIdXdVQ3ZiOERGY2dPd0pndEU2Qzc5elFUTU1FSmVuVUFtQWw0M2U4Y1VHcGFXUUFJQkVCWjl3Q0FGZ2IvU05VQURnRHlZeG5VNGZZSkNTNHc1YzNSTmtiQWJKYmx1d2p3OWdRQ3ltbXFiYlJoSkMrLzdUaGswcnVBTkRaZ05HWlRnU0ZaMDRCbGt5VFVOYmw1UTB1TEFxQ3U2VUJGQjVlMlhRVndDZzQvQzRDOTdsT2VPQUJGZmdhQXhKNWZIQ3ZyOXllNndCUUFDK3lRbkJEbGZyQWhIUUIrb081dWd4VTVjSFlBaDdJRGlKc0Exd0EzZGZXNEFhQlZBMURCQzV2dGh4VUE3U2thOEhrQzhPZHhBSUZFQUgveThNTVBrdytnSTVET0p5bzZvQXYwWlRPL09qdkpqd21hYVYvRFNrWVFsMXY3QlcwYmN4c3daUWRBS3BBeEd6QW1BR0FhZ0swTi9OUUFQTUd6TzN4c0QyZ0FOSFBmTmE4QmNDdEo3eU43T3dDZ1dRVndIclAvc0FJQXE4K1d4ZjZ5L2xIbUFmcCtrZm5oNVduZUtqVEVsZ1FOTUlKdHlvbGluUkpZS1JEV05sanI0M2xnSVdGQXVXL056d0M0RXdEVUpBQmc2djVZUlJrQUNCekFQQWRRbGdDZ0pRNmc0cFJIVUFGc2Zmajh3MzlDR25EK0h3TjAvTW5aZnFBTFNTQ01vVFhieTlNclgrZGVnQm1CaFJlSGtnaEFCOGhUNHA0dGJTR1Fua0I5TmllZ0FuQVRnTGRFRG9ER3FUaUFDZzJBcEFFb0s2TTZWNWtPd0NrOWdFQUNBRFlldVNHeEhLaWlBcXNBQWpDZDlmSDFnNG9LMEc2QVlnUjJCUUQvZ1VIZE0vS2dBN2NNSW1QVUFVZ05oSWN5WnNSeEFCSmJDeWdBS2xRQVFwMnE3am9BWS8wSFZJZm5ubGVkb0I1QXV4NkFNbTZRMkhXTC9RZTZBcndXUDV3VkFBcmtyRmR1aU5XNkczQ1dURDFWcjU0dFJ5QmNvMjFndW1rejBRMG1Ld0dlWjh6c0NZZDBHcUFDUUEyN1F0TUFCUUNFMVFINDg0d0F0ajZ5RlFBMEV6aWxBdGlLeUMrSFErMWxIVUdXQTVXMEdiSURVUG9tb3pUTHk1WnJGcXM5ZVdEVG1GWkU3QVdhSEtsQWZXWTc0R0V3RHVDSkR2ZUJNbXhsSmdDQXJrUFlyd1NVVkhpc3Ywd3RkYm9UVEVESmVpdjZVd0NjUDR3djQ1LzFWcFIxK2FrT0lBaVRPUUN3cGpISWQwZEpoeHBzS1FUc3RHRW9yMW0ybWQ3S2tReGx5UWI4RE1CWE5BQXN6WWVGRXdCS1NBaUFJcTBPQUMvMG9kU3BBcEE4cHpyVXBQZnBOQURPMGF6UE94RUJzQmxTZ2kvWlpzZ0ZZSmpiZ0puYVBiZ2JTRkVCdGxHQVY1aElCYTQxWkltRjlabGRJZmNCL2U0dVVhYkZFTmQ0UFlDYXZXVWFBRUUxZ2IxVTZNUFB2WG9OZUQ0emdQTmtBTEhRRTJYS0lrQktVb0IwQU1nUEVnRS83WGhHcnptd0trb1VuM0loU2hUVzZDRXVMSW5lenFvQ3VRSGcwSzBrS0JxdjE0QzlaUWZTQTJBaFB3NmdnZ1A0azYxUGwzMUZCK0J4a2o4Z1NUSkZBTW9CV1JMWVpzZ05RUFdEcU51U0d3Q0JiU2txRUw5eW1WU2dvZUNFdUZneEFRYUE1UUhKQUk2cUFCNVJUS0JQa3NiYTkyN2xwZDY5RldNTXdIOFUvS2Nxbm43NFlRcjREejlkQmcyWU9HTmdBQjU1WEhFQVVvdTN2OHg5anI5dmxoZ0NNZ0ZZNEFjSXVsK1hsR3pBbmt6QVFWMlVGQWxSRTNWa0IyREtDbUNYdTE4RHdHYTdZajRKd0NNTXdEUUgwSythdXc3QVBBRjRXQUh3WVdHQUFhZzk5UWorOUR4MlFJVFZ4WFptQUFLVndtNFo4Z0ZBYXlKYUUzdW82MDFBMG10SjV3WXBUS0xiZ1paRVdRa2N5Z2JBclFJNE92WWNjL2thZ0s3K3ZWeitSOHI2RlJOSUFEQ2ZGb0JIQmZDUEFBQUhJTUFCTkpXVkhmV3pSVURDS2lBYmdHRkJpUVF2NFRQY3RUYWdmYzV1VFhXRDhtV0h0ZjZReGZGMlZnRDEyYUlBQUVnb1BrQUQrcC9qQnE4QzhNSGUvNXhaUEFCSXlRQ2VybEI5QUFCOEtRSEEvNHQvTGYvbzFOWXZ3UUVJY2lkekFMMFFpT1NmdnBBZkFNVVB5dWJYdTJtaUtlSGRsdXdGU0FYdXdndlFpdUJhTmdMMTJjTmdQNklBQTZBNC9iRTRBTzd2VU5KUlRhQy9YNjN5UEkrOFZ0V0FNbFVEdmtRbThBVVZ3T053QUhKMDNPc3U2NGl3TW9lVXVBcklCdUFDTXdJZ2VJbTVnYXNnNEhnbENjQWFQVDRBRlRoVVQ3Y01ad053S0RPQW1Gc0ZzTW8xWUdzaWdLMGsvOTR1MVFUNnUrSWE4SDQ2QUYwZURrRG8vTWV0ekFGT1hSOTc3ZzJmeEo5NFRQR0FtVFdBRHRPeFNPRHhFSUZhallCVnZYQ1BkUklMcWdybzA2RVVBT205UUJJQWFBQVNuTDFieS9wVkFHUFA4NW9tQTBBYUlPUUVzUFdyQ2dEWjg0ODNSSWhjOXczNFZ0UkJtZnptYVVNQkFHN3hjME5Td0VPYllNc05EYVpyZG43Tm9BTEE4UU1LQkRQSUJlQUY5QVh5UEpNaEJ1QkdmNGNLZ0dYMDJNYm9rbFFOSUFCNzkwSmtuNGUyTXZzRThYME80UHpXUDNtNlRET0JNUTNBMHhvQW9RY3VRcENENUFDN09sVURHQzRFZ0JJSmhPN1hpUjllWVljT2JOTzdRaXU3YVFsdmNUbE1Ka2ZXNGxoOTJsaW81QUVkY0lKVUVqdnEzbHUybFFDOEwzMmRBNkFFajhTUEJGeXNqTnNzaUYxZmZYb3JRdjc1OCtlZmp3UG8xd0E4L0VnY1FJQmxnQzFZQWtRby9GTU9NR2tvQ01CS0s3Y0MvK3ZkQWt2N3NDell4cS9iVkZSZ2plMFBPMnltWkFLbWZIYkxkUUJJQTdxVWhEYXVBZXdQamtjOEltdkFibXVlRnNUNXJ1ZjVJdi84ZVQyQUw2V1lBQWtzZDM0REFZRFdnTXlmU1gyR3dnQlFpWmkxVUhzQ2RJT3d2QXd0ZDlnMUFxUUx6TGRnd3hCOW40a3FrQVpCZlgzcWFsQmdBRVFXQm4xSkFDUmZ4OU5iang4bUZ5UjFyaTU1Mk4zR25UY3crZWQ1eE5NRGVGd0hnR2VDeU9NOFh1d1lsUGxFM3R3anRCb0tCWUQ5Y3NVUlVqQ0VEbHhqR1ZIY0NMZ0tSQjNVQjN3dGEyR0ExVVpTQU9CVDMzQnJBUGlhYm0vWis5d0pTaWY3ZTZIN3NpekZXa0plYjZnbDZLY21ROUYvK01aV0lIajZrYStLd2tJNkFIM1AvQ0VyN0pIOFpSUXNsZDJ1dnNJQkRBczhGa29nUURxd1JrSmFGVGZJQ054bFlCdzJpZ1FOMmRiRjlha0VVZ0FvYXpvRkFPNHdRaG9qK0lNNFU5K0JNZWFkclF2VDhrd1NQWWZQd3cvNlZBM29VZ0E4L2pnQllQdmVyK0xvdXhjcmdESWZaWUJjL3BYQ0FhaEdJRXV2Y3l2NEFXVkVEalVRNEhIR1Faa2JnWlV0aWl6WmE4UkpzV0NJQ3BTUlZBQStCZ0FHajY4YnJndDlZd3pDZC9uRytqczYycjNYNjhLNHhobEhIVjRLM0RpcEFkajZ0Y2Y1K05MVzc4RUVmdVBkVzJ6K3g4b29MV0JhSE8rSEtBeUFvWmtkb0JWa01SRG9scFY4QUQzZ3pBd0lBenRrampZNTZ6YmNIWkhkQmxLV1JVd0RJaDFKQVBZeUFNY2E0WUUvRmh0M2V0MzRDMTA0U2VpUGRIVjFkWFNOWFordDZ4R3AxMVlNc0tWOU13QTg4cVdIRlFMbkFlRGxHWkQxWDE4Y1V3TWdXd1JPcmc4QWRVNnhUOUVkOERBQ1EvWnJ1bkJJcjFMU2cyeDNIZlJXcDhWeTdWcDJBcWtBWWgxcUZPQUE5ajVmaHZ2YjJscmg3K3BtRjlzN090ejlRZmhCRnNZOHZiNnVqamVnQitOMTRXN1diOXhNR3hrQThQVGpEOGNCa0twNnh0bjhCeFEzenY3bStnQ28yWUFnTWl2QWpwbTlnUzJQbVN0d05GanY4aldEclFIbkRSMEZxVUF5Z0lybktlaWZZMTlHSk1jMzlrWkhWOWM1bDRnSi9Odi9zN3VWd29FbmNyVC9qYkl1WWtCNjBEcU4yT2gvbi9rQVpnSU1BR3JnMTlGSlVkWjFHRFV3bmdKTkc5WU5ZRmptNjBLNW02eUFHcU1HRzlqV09lYmZZYXRWanB2TDhsVzhOb0ZHc2dKQ29RcWdpd0FJQk9BNG9oN0VFanh3ZkQ5MHY5RXg1anZuZ3ZUN0dpZC80OHkvTmt6MnNlanVDWFoxbFpWMXRGKy92dHBEWGhLNmN1N3h1QW1RbTRUOFk4Zkx1c0xLZVhCZFA4dzZBS2dueWlnbERMQ2NFQTh2VVRCQTYrUlY5UVFBZ1pGZnRqVlk3WG90eUE2ZzNxOEhJQWtudTJqeUVmWENVeUgwTWJ6aEh2TUZVTkFmbU5ibHI4TnRsSnlKbmdoamNPcDZ5eXJyVlJTa2x3S0hHWUFicUFBS25jei9Ld2t3QVVpM0Jzb2ZBUFhRTWlVZ0hXQ3JDcmtXWXBxc1AxQlBCUGw3L0pLbUJYYThVcHNsRHRTbjBRQTR3WHBKQ0h0b1B1SDRRaTBkNVBoZytqalZwTnJ1R2ZVdWtjbHBZbUR1dk9IamVvRDBRS0pYRHhBYkgzLzQ4RXY0UnNMWEVmLzUvRlArbDlVQjVBWGdUTE42c1FCaWdZZUphcjVzcitXbllJQ2xKOXdUQ2JORURWb3dTQWdjN09Sb1dnQUloV28rb0FJNEtncTFWZ1lRanU5NnFQME4wbjJhZkdsZmV0ZmR6R3doMm5tRDZVSEw5Zm1ZbjRWR1Y4QUZnd2hlOTNZZy8vUEkybHNvV2VYUEF3QzdaSVJiT25TQUp3U0NvSHgreVVNekp3VWlFWTVHamw2bTQ5Y01nU2t0Z1VNNFNYQ28vaTBkQU83a2hXaHNITGxiUlVkL1B5WlZrQWJtSmczcHJwRGtlc0Q2R0tKaHFNSHhzbjVLRDVUM1ByRCtQZFh4SE9TUHZ3VXpiZGd3Z0RnQkNRUmVvbU5ncW4rNTQrZTFCdGhsaERrd3hJazF2RTlrdDZhVm4yOFdzV0JnNGdBUTJ5bFpsM3BXcjMram5YVGZkeGlGVENaOWR0ZkVYYUsvTjBocU1PLzFzaFRKUDcvWVhzSHlQMzRtSjdmOCtRRzQyQ2FvT1NFSWVBUlo5OWFPK3VRT2FVR1B5QThFWGJWZUE0S0c5QVFPc2U1cWgwVUJVTkdGdENVNC9nMXZSOWtiSFVkdnNQT01qWWE4UmpNUGpUZTZLc3FPdjNIcSt2VzYyUGoxL3JMakZWMW93Nlk3VFVqK05zTm1BRENvRlRKOHZUdmZEd1JFOWZpRXJIOTNDT1lRNlhtSjI4ZlFaVklEUjRvZEtNY0dMUTdyREh1MUtBZ0E1K1lSdGlvT1lQSjdSd1ZoWU9DamhuekgzODgxVDVENkJZNzdmT1FTdmQ2dTQ4ZmZRQ2xJVWpPZ25QTG5DMkJGYTZZWFBJZS9Cak5RMTFpYU5UQnRlQ2tjVTUyQnVkWnFZV0ZSdnhiZ3kyYkg0QStpaXVyYzZLam9QOVhlY2VDQXUrc0czTDdRT20zNEIwUHVPK1QwN3FDNVRXWU15anI2Mnl1ZU85NFYwYzFKYnZuekJhQThVTTdFZlNud3RjTUJTZGJPMGdseEduREduYkFFL2hLVGZCVVBseU1vV0pTcUVBb3FEaVNNZ3p4OTRPQWlYUjJ3Mlk0dXVqaEVGL1VLR3JjL1JwOXB0QXZaMzNNOC9XWGZDN0xBUE9UUEg4Q0QwNEw2cWJ0ZlA4eWpnU3EzN2hkd0J0MDlOeU4zV0JVSmFqRG9vRXRKTEZRMUpMMnZqZkxrU2ZsSUFFaDZjcVVUT1IxZjJ2RUNIcGlIdExIcjM0RDVkM0gzVjVLdi9oY0NnT1dFV2pBNHJLUUV5YU5FOFFhUnBRaFBHMlh6c3JYaGJicWJCQ2NHWlZWNDJYelZ4bGVEaUFMc0U3V3RTM3ArS3d6S2RsT2hGcHIrbUdyODdGTU9ieklBcFh1RzRmVi9QOEE5UVpMOC9DWjZ5QWsxaVBWRXVialJ0Y0cxcUtCSlh6S0V1eFhvekFRRFFGRkE2RnUzK0JlUkdZcEJtbjVFLzRBMkMybTJnVGNCQUNzUnFTNC9BRi9JOHIvMEE5TDZ3OEZZSUtxL280c3BoSjFmdkVxSlVBbnFBUVNnZGQyelR4bFJUNHZ6ajdDcjJCWHMxbTVBdzg4ODVTOE1BRytsNWUrT1NSNmtCTi9YWjBXcERCQVliMFlVVTZGRDA3V1hIVzh4NFhHcGhPbHFITUFYenF4VGZQaWwwZFdRbDZhLzY1eTYvY00rVGh2dUNRQkRjNXVnblJvVW9RU0gyUm81N1dCdmNjRWRmR0twaDNMR05SdS9hWkEyQ2FpdlJnRlFRUUFHMWdWZ2NxNVZsb0plbEg2T0grL2czaS9QL0g4REFKVFRkY3FYOGNNWkh1WXpMS2QxQit3L2RDOTEwMnRrdEFRMktWVWpMS2dUTkdBOThqZFQyYWpGNmUwNGp0d3ZrbWlNQzRaN0IwRHRKV1dWSU1rREFnRldyOVpmU1pjSVFlN3hzQmM0YUEvVjRmaHRDd1BnMkNBQXFDSVdqNlQ5V1ByZUdOVTVwM3pkLzdvQktEMzFXckVRNC9XWGRIK1NFaFJsRDY0WUU5aTd2UTM4M1Y1VTBOL1dBUGpXQVlCcXB2NDZaTkJZREpaMTlVcWEwZEZ4M09tQ1B0VTZBS0F3bzgvOUVCRmhCNVQ0YUFSMDF4T1NudmdqMUV2Um9MMWMvUGJiRHE0Qndyb0FORkpOeEZNSDQzOERqWVZkNTZLeTlxVndNNnJROTkxN0RvQ1pRVnpqNGV1QmdKYkpjb0x3Mm04azNEQkJ6VllKd3pJVUJ6QlFvT2NYZmdUeDJ5dG85cldWdjdveTZTdFFsUFVCTUN6SWVwdEhTRVJBNEZvZ3BNZ1BNYnVwc3pZdGdJcXlRZ0NjbUc0VDFJcjVjK2dvOFhYcXZpUjlRd1daLzBZQUdJWmZUWmhybGhVd2R5anJFZ00xZGU1QjlkaWNGc0NOUWdDd3RXOTNaSDdSTzlieEhDSy9qNi9MZFYrdHIzQkIxZ3VBSHpXT096cWhHMVhKcndVTys2V1UrY2ZzNDdKUjJlNndiZ1RBY0RONUhuL3dPc1F2dyt4MytIb2xXWE45ZlBFemJMaWZBRjQ3MktZUCtFaU1QTitISVdpV29FdVF6R0Zxc1hqYmJzMEFZQ0puT2FLUnZwWVlydk02VC9XVCtGaEJkc3NKc1U4UURxNUxqUFVEaUI4eVV4ZkNncGtRQkw0ZjhDZm5SZ1NnMWtLdmVLWUY4TGRuY2tzdmVWYXZlM0Y0K3JubnNPZmg2NVFTdzI1S0UvajlBV0NZZkRVNSswZHlDRFY0M2RPdDF3RDVEaDFEYzZqdm1ldWRJQnlaSkgvc056SitoYjYrQ2I0Zk5COWFQTlgxQnVsK2w3cTg0Q2JJTUxRdXZHdjRWUUNBYWJZbVp6L2RjSVpmbzlxcHFEREFkOWhOQlVDN1ZYblZOdzVBWmdDRS81aDI0aWY1Sm9nZzlxNjJlQmU5MkJROFRwTi9Mc3BURHZZcXZNUmV2aTB3OTlsVUFQSFVXSThBYWhBNGZDN2c3MWFmYWFZeHN3MnlhNjhhS3dESUJPUXZKR25BOEFJMlA3andubkFkS3NidC9SM0htZCtQZE9vWFgvVHdMOUMyOWhsK2xRQU13OGtJNkgzdVFCZ0lEbjgvNE1GdWxicURhbzVlWGJ0c1UyN3QxZVVCc3FZQlQwNDJOMCszdFhGczBvOWlxMU9ZK25iY0JvS2N4NGV3OTVJVWovbHFGVzVkdm45VEFiQ2tRRE5KZlhKRW96Y2M4SXVTd0RkUStXMmJWOWRtQm0yT2wxVUFvakRRVEtPdHRlM3JYR0d3MHhjSlRtR0gvRlI3ZjhYeHZXZ2gvYXJ2Um9TdHVVcjAxNXBCQVZvWE52aTlid29BeElPdmF6NHA3cHRGUC9RQTQzODRId2w0bEExVTVicE5WU200QnFoM2NPS2FVMDlucjYrdXJzWHJKYlhIekI5bmRoOEpkRXU2a0F2Unpld2VrOWFERy83T053a0FFTFFLU1VHUjJVTFVFdzRmUm12YnVYT1JjSStuVzQyUGFvMHM4bFZvZ0NSMiszOFVEZ2JyNWx0T2tlaVlkK3o1blQrKzl6aXRkVm5OV0U1Y2NQUEw3NFdGM3pQOCtnQmdTL1EwZFRHa1FWQ0VTQ1J5K1BCNWZJejBkbm84L202K2I4Y0FkSFROdDdSQTdwWlQ3V05vaGZMUnJKOC9oNG4zUWUxN2labWN2TVprZ2I5MS9aWFVld1FnalR2VUlFZ0U0VnlFVkNFU09YNE8raEFSRlJPbytDcnJrai8rM042dHg0OC8veHpwZk5uM3Z1b0xubVA1bEw3Z0ZuLzBBcTZ2ZVpPKzUwMEZBRVBnMGFza3BUcENFTG85cjM4ZnVnQVJRZURHUzJRSjRiTGpXODgvLy96ejFBQU53WThIZzhlUFI4NzF3bThteXM0VlFMM0NwM1Y2Y3RPKzQwMEd3RGF1V3ptQWtqU2xjc0xnOS9RQ3d4SnJrWW1jOUgydjdIdStvTzk3TjZBZ3ZkdzZCRm1XMDlVWTZWT2FTMXB2TGF4czRyZTcrUUFvZjIxTk50a2taUkI0QXpkV2R4N0lISTEyaTl3cEtJSnIzazYzOGNhOFBoYjhCemY1ZTcwbkFBd3J6YSsySm00V0pXd2d4bWRWQzR0NlF5OFIwajd4SXJTaUxXN1R2OVY3QTRDWndzSFdwT3BvU3FXZ0pLT1dKQUJRdHJwWnl2Ti8vL01Cd0JhTFg4KzRhWkl5eFhFUG55Zy9iL1JabUx4SDMrTTlCY0FLT2JmYXRJcGw0c3lyRkJJbDFuUGhmZjZ2OXQwejZlOERBQTVodWszSjMrSWladE4vYmVKYjIvb1c3dkUzZHo4QThCWHVyVnUzWG8wbnN1bnY2STA3aXpiODllYko5Kzc5TjNhL0FHaVpVdDkwU25hVEdETGIrcWI3N3VNM2RMOEJZTkRPeldUZlFScXQycGltMy9aUmY5enYzZC92NWxjQVFEZCs5OEdMeHk2K3R2S2gvL1M3djdKdjRmOEh3ZHB3dWFYUDdHUUFBQUFBU1VWT1JLNUNZSUk9IiB4PSIwIiB5PSIwIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIvPg0KPC9zdmc+DQo=") center 50% / 800px no-repeat;
  opacity: 0.02;
  pointer-events: none;
  z-index: 0;
  filter: grayscale(100%);
}

/* Hide standard Streamlit header */
header[data-testid="stHeader"] {
  background: transparent !important;
}

.block-container { position: relative; z-index: 1; padding-top: 2rem; }

.login-shell {
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
}
.login-card {
  width: min(440px, 100%);
  padding: 30px 28px 26px 28px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, 0.10), transparent 34%),
    linear-gradient(160deg, rgba(15, 23, 42, 0.94), rgba(17, 24, 39, 0.92));
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.login-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}
.login-logo {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 34% 28%, rgba(148, 163, 184, 0.10), transparent 50%),
    linear-gradient(180deg, rgba(27, 35, 52, 0.96), rgba(14, 20, 33, 1));
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 18px 38px rgba(0,0,0,0.36);
  overflow: hidden;
}
.login-logo img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  opacity: 0.96;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.26));
}
.login-title {
  margin: 0;
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
  color: #F8FAFC;
}
.login-subtitle {
  margin-top: 7px;
  font-size: 12px;
  color: #60A5FA;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.login-card [data-testid="stForm"] {
  border: 0;
  padding: 0;
  background: transparent;
}
.login-card input {
  background: rgba(15, 23, 42, 0.82) !important;
  color: #F8FAFC !important;
}
.login-card button[kind="primary"] {
  width: 100%;
  margin-top: 8px;
}

.nowtrade-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at top, rgba(59, 130, 246, 0.16), transparent 36%),
    rgba(4, 10, 18, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.nowtrade-loading-card {
  width: min(420px, calc(100vw - 48px));
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(15, 23, 42, 0.96), rgba(17, 24, 39, 0.94));
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.55);
  padding: 28px 26px 24px 26px;
  text-align: center;
}
.nowtrade-loading-brand {
  width: 86px;
  height: 86px;
  margin: 0 auto 18px auto;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at top, rgba(96, 165, 250, 0.16), transparent 58%),
    linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 1));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.42),
    0 0 32px rgba(96, 165, 250, 0.10);
  animation: nowtrade-logo-pulse 1.8s ease-in-out infinite;
  overflow: hidden;
}
.nowtrade-loading-brand img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.35));
  opacity: 0.96;
}
.nowtrade-loading-brand-fallback {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #60A5FA 0%, #34D399 100%);
  box-shadow: 0 0 22px rgba(96, 165, 250, 0.38);
}
.nowtrade-loading-title {
  color: #F8FAFC;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.2px;
}
.nowtrade-loading-text {
  margin-top: 8px;
  color: #CBD5E1;
  font-size: 13px;
  line-height: 1.5;
}
.nowtrade-loading-track {
  margin-top: 18px;
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
  overflow: hidden;
}
.nowtrade-loading-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #60A5FA 0%, #34D399 100%);
  box-shadow: 0 0 20px rgba(52, 211, 153, 0.22);
}
.nowtrade-loading-meta {
  margin-top: 10px;
  color: #94A3B8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}
@keyframes nowtrade-logo-pulse {
  0% { transform: translateY(0px) scale(1); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.42), 0 0 32px rgba(96, 165, 250, 0.10); }
  50% { transform: translateY(-2px) scale(1.02); box-shadow: 0 22px 46px rgba(0, 0, 0, 0.46), 0 0 42px rgba(52, 211, 153, 0.12); }
  100% { transform: translateY(0px) scale(1); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.42), 0 0 32px rgba(96, 165, 250, 0.10); }
}

[data-testid="stSidebar"] {
  background: rgba(15, 23, 42, 0.6) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
}
[data-testid="stSidebar"] * {
  color: #CBD5E1 !important;
}
[data-testid="stSidebar"] h1, [data-testid="stSidebar"] h2, [data-testid="stSidebar"] h3 {
  color: #F8FAFC !important;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* Tabs styling */
.stTabs [data-baseweb="tab-list"] {
  gap: 12px; 
  background: rgba(30, 41, 59, 0.5); 
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px; 
  border-radius: 16px; 
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.stTabs [data-baseweb="tab"] {
  height: 44px; 
  padding: 0 24px; 
  border-radius: 12px; 
  background: transparent; 
  color: #94A3B8; 
  font-weight: 600;
  transition: all 0.3s ease;
}
.stTabs [data-baseweb="tab"]:hover {
  color: #F1F5F9;
  background: rgba(255, 255, 255, 0.05);
}
.stTabs [aria-selected="true"] {
  background: linear-gradient(135deg, #2563EB, #1D4ED8) !important; 
  color: #FFFFFF !important;
  box-shadow: 0 8px 16px rgba(37, 99, 235, 0.25);
  border: 1px solid rgba(255,255,255,0.1);
}

/* Buttons */
button[kind="primary"], .stDownloadButton button, .stButton button {
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
button[kind="primary"]:hover, .stDownloadButton button:hover, .stButton button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(16, 185, 129, 0.35) !important;
  background: linear-gradient(135deg, #34D399 0%, #10B981 100%) !important;
}

/* Inputs */
div[data-baseweb="select"] > div, .stNumberInput div[data-baseweb="input"] > div {
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(15, 23, 42, 0.8) !important;
  color: #F8FAFC !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: border-color 0.2s;
}
div[data-baseweb="select"] > div:hover, .stNumberInput div[data-baseweb="input"] > div:hover {
  border-color: rgba(59, 130, 246, 0.5) !important;
}
.stNumberInput input {
  background: rgba(15, 23, 42, 0.8) !important;
  color: #F8FAFC !important;
}
.stNumberInput button,
.stNumberInput [data-testid="stNumberInputStepUp"],
.stNumberInput [data-testid="stNumberInputStepDown"] {
  background: rgba(15, 23, 42, 0.8) !important;
  background-color: rgba(15, 23, 42, 0.8) !important;
  color: #CBD5E1 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}
.stNumberInput button svg,
.stNumberInput [data-testid="stNumberInputStepUp"] svg,
.stNumberInput [data-testid="stNumberInputStepDown"] svg {
  color: #CBD5E1 !important;
  fill: #CBD5E1 !important;
  stroke: #CBD5E1 !important;
}
.stRadio [role="radiogroup"] {
  padding: 6px; 
  border-radius: 12px; 
  background: rgba(30, 41, 59, 0.6); 
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.st-key-live_dashboard_section,
.st-key-live_dashboard_section_control,
.st-key-history_dashboard_section,
.st-key-history_dashboard_section_control,
[data-testid="stSegmentedControl"] {
  width: min(100%, 1040px) !important;
  max-width: 1040px;
  margin: 6px 0 10px 0;
  overflow-x: auto;
  overflow-y: hidden;
}
.st-key-live_dashboard_section [data-baseweb="button-group"],
.st-key-live_dashboard_section_control [data-baseweb="button-group"],
.st-key-history_dashboard_section [data-baseweb="button-group"],
.st-key-history_dashboard_section_control [data-baseweb="button-group"],
.st-key-live_dashboard_section [role="radiogroup"],
.st-key-live_dashboard_section_control [role="radiogroup"],
.st-key-history_dashboard_section [role="radiogroup"],
.st-key-history_dashboard_section_control [role="radiogroup"],
[data-testid="stSegmentedControl"] [data-baseweb="button-group"],
[data-testid="stSegmentedControl"] [role="radiogroup"] {
  width: max-content !important;
  min-width: min(100%, 560px);
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  background: rgba(15, 23, 42, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
  overflow: hidden;
}
.st-key-live_dashboard_section button,
.st-key-live_dashboard_section_control button,
.st-key-history_dashboard_section button,
.st-key-history_dashboard_section_control button,
.st-key-live_dashboard_section [role="radio"],
.st-key-live_dashboard_section_control [role="radio"],
.st-key-history_dashboard_section [role="radio"],
.st-key-history_dashboard_section_control [role="radio"],
[data-testid="stSegmentedControl"] button,
[data-testid="stSegmentedControl"] [role="radio"] {
  flex: 0 0 auto !important;
  min-height: 40px;
  min-width: 96px;
  padding: 0 16px !important;
  border-radius: 0 !important;
  background: rgba(15, 23, 42, 0.96) !important;
  background-color: rgba(15, 23, 42, 0.96) !important;
  color: #D7DFED !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.10) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}
.st-key-live_dashboard_section button:last-child,
.st-key-live_dashboard_section_control button:last-child,
.st-key-history_dashboard_section button:last-child,
.st-key-history_dashboard_section_control button:last-child,
.st-key-live_dashboard_section [role="radio"]:last-child,
.st-key-live_dashboard_section_control [role="radio"]:last-child,
.st-key-history_dashboard_section [role="radio"]:last-child,
.st-key-history_dashboard_section_control [role="radio"]:last-child,
[data-testid="stSegmentedControl"] button:last-child,
[data-testid="stSegmentedControl"] [role="radio"]:last-child {
  border-right: 0 !important;
}
.st-key-live_dashboard_section button:hover,
.st-key-live_dashboard_section_control button:hover,
.st-key-history_dashboard_section button:hover,
.st-key-history_dashboard_section_control button:hover,
.st-key-live_dashboard_section [role="radio"]:hover,
.st-key-live_dashboard_section_control [role="radio"]:hover,
.st-key-history_dashboard_section [role="radio"]:hover,
.st-key-history_dashboard_section_control [role="radio"]:hover,
[data-testid="stSegmentedControl"] button:hover,
[data-testid="stSegmentedControl"] [role="radio"]:hover {
  color: #F8FAFC !important;
  background: rgba(19, 31, 50, 0.98) !important;
  background-color: rgba(19, 31, 50, 0.98) !important;
}
.st-key-live_dashboard_section button[aria-pressed="true"],
.st-key-live_dashboard_section_control button[aria-pressed="true"],
.st-key-history_dashboard_section button[aria-pressed="true"],
.st-key-history_dashboard_section_control button[aria-pressed="true"],
.st-key-live_dashboard_section [role="radio"][aria-checked="true"],
.st-key-live_dashboard_section_control [role="radio"][aria-checked="true"],
.st-key-history_dashboard_section [role="radio"][aria-checked="true"],
.st-key-history_dashboard_section_control [role="radio"][aria-checked="true"],
[data-testid="stSegmentedControl"] button[aria-pressed="true"],
[data-testid="stSegmentedControl"] [role="radio"][aria-checked="true"] {
  background: rgba(15, 23, 42, 0.98) !important;
  background-color: rgba(15, 23, 42, 0.98) !important;
  color: #FF5A5A !important;
  border-right-color: rgba(255, 255, 255, 0.10) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 90, 90, 0.85),
    inset 0 0 0 999px rgba(255, 75, 75, 0.02) !important;
}
.st-key-live_dashboard_section button p,
.st-key-live_dashboard_section_control button p,
.st-key-history_dashboard_section button p,
.st-key-history_dashboard_section_control button p,
.st-key-live_dashboard_section [role="radio"] p,
.st-key-live_dashboard_section_control [role="radio"] p,
.st-key-history_dashboard_section [role="radio"] p,
.st-key-history_dashboard_section_control [role="radio"] p,
[data-testid="stSegmentedControl"] button p,
[data-testid="stSegmentedControl"] [role="radio"] p {
  color: inherit !important;
  font-weight: inherit !important;
}

/* Tables */
.dashboard-table {
  --sticky-col-1-width: 160px;
  --sticky-col-2-width: 188px;
  --table-col-min-width: 92px;
}
.dashboard-table .table-shell {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  background: rgba(17, 24, 39, 0.75);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  margin-bottom: 24px;
}
.dashboard-table table { 
  width: 100%;
  min-width: max-content;
  border-collapse: collapse; 
  margin: 0; 
  font-size: 13px; 
  font-family: 'Inter', sans-serif;
}
.dashboard-table th, .dashboard-table td { 
  border: 1px solid rgba(255,255,255,0.04); 
  padding: 10px 14px; 
  text-align: center; 
  white-space: nowrap; 
  min-width: var(--table-col-min-width);
  box-sizing: border-box;
}
.dashboard-table th {
  background: rgba(31, 41, 55, 0.95);
  color: #9CA3AF; 
  font-weight: 600; 
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: sticky; 
  top: 0; 
  z-index: 3;
}
.dashboard-table td { 
  background: transparent; 
  color: #E5E7EB; 
}
.dashboard-table tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}
.dashboard-table .kv-table th { text-align: left; width: 160px; color: #9CA3AF;}
.dashboard-table .kv-table td { text-align: left; font-weight: 500; color: #F3F4F6; }
.dashboard-table table tr > *:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: var(--sticky-col-1-width);
  width: var(--sticky-col-1-width);
  max-width: var(--sticky-col-1-width);
}
.dashboard-table table th:first-child {
  z-index: 4;
}
.dashboard-table table td:first-child {
  background: rgba(17, 24, 39, 0.95);
  border-right: 1px solid rgba(255,255,255,0.06);
}
/* (regole sticky-column .roi-table rimosse 2026-06-18: la tabella Strategies non usa più
   .roi-table — vedi redesign .nt-strat-*. Nessun emettitore vivo di .roi-table.) */
.dashboard-table .market-table tr > *:first-child {
  min-width: 140px;
  width: 140px;
  max-width: 140px;
}
.dashboard-table .market-table th,
.dashboard-table .market-table td {
  min-width: 76px;
}
.dashboard-table .kv-table tr > *:first-child {
  min-width: 160px;
  width: 160px;
  max-width: 160px;
}

.dashboard-table .note { color: #6B7280; font-size: 12px; }
.dashboard-table .count.low-sample, .dashboard-table .low-sample { background: rgba(217, 119, 6, 0.15) !important; color: #FBBF24 !important; }
.dashboard-table .pos-low  { background: rgba(16, 185, 129, 0.08) !important; color: #6EE7B7 !important; }
.dashboard-table .pos-med  { background: rgba(16, 185, 129, 0.25) !important; color: #34D399 !important; font-weight: 600; text-shadow: 0 0 5px rgba(16,185,129,0.2); }
.dashboard-table .pos-high { background: rgba(16, 185, 129, 0.50) !important; color: #fff !important; font-weight: 800; text-shadow: 0 0 8px rgba(16,185,129,0.8); border: 1px solid rgba(16,185,129,0.8) !important; }
.dashboard-table .neg-low  { background: rgba(239, 68, 68, 0.08) !important; color: #FCA5A5 !important; }
.dashboard-table .neg-med  { background: rgba(239, 68, 68, 0.25) !important; color: #F87171 !important; font-weight: 600; text-shadow: 0 0 5px rgba(239,68,68,0.2); }
.dashboard-table .neg-high { background: rgba(239, 68, 68, 0.50) !important; color: #fff !important; font-weight: 800; text-shadow: 0 0 8px rgba(239,68,68,0.8); border: 1px solid rgba(239,68,68,0.8) !important; }
.dashboard-table .na { background: rgba(255, 255, 255, 0.05) !important; color: #6B7280 !important; }
.dashboard-stack {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.dashboard-stack .dashboard-table .table-shell {
  margin-bottom: 0;
}
.section-gap-lg {
  height: 30px;
}
.advisor-shell {
  margin: 10px 0 24px 0;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at top right, rgba(59, 130, 246, 0.12), transparent 32%),
    linear-gradient(145deg, rgba(17, 24, 39, 0.82), rgba(15, 23, 42, 0.9));
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(16px);
}
.advisor-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 14px;
}
.advisor-title {
  font-size: 16px;
  font-weight: 800;
  color: #F8FAFC;
  letter-spacing: -0.2px;
}
.advisor-subtitle {
  margin-top: 4px;
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.45;
}
.advisor-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 0 0;
}
.advisor-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(96, 165, 250, 0.18);
  background: rgba(30, 41, 59, 0.6);
  color: #CBD5E1;
  font-size: 11px;
  font-weight: 600;
}
.advisor-output {
  margin-top: 18px;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(15, 23, 42, 0.72);
}
.advisor-output h1, .advisor-output h2, .advisor-output h3, .advisor-output h4 {
  color: #F8FAFC;
  margin: 0 0 10px 0;
}
.advisor-output p {
  color: #CBD5E1;
  line-height: 1.6;
}
.advisor-output ul, .advisor-output ol {
  margin: 0 0 0 18px;
  color: #CBD5E1;
}
.advisor-output li {
  margin-bottom: 6px;
}
.advisor-disclaimer {
  margin-top: 14px;
  font-size: 11px;
  color: #64748B;
}

/* KPIs */
.kpi-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 12px 0 24px 0; }
.kpi-card {
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.7), rgba(15, 23, 42, 0.8));
  border: 1px solid rgba(255, 255, 255, 0.08); 
  border-radius: 16px; 
  padding: 16px 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); 
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.kpi-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
}
.kpi-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 255, 255, 0.15);
}
.kpi-label { font-size: 11px; color: #94A3B8; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; display:flex; align-items:center; gap:6px;}
.kpi-value { font-size: 18px; font-weight: 700; margin-top: 6px; color: #F8FAFC; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.kpi-sub { font-size: 22px; font-weight: 700; margin-top: 6px; color: #60A5FA; }
@keyframes kpi-blink { 0%,100% { opacity:1; } 50% { opacity:0.15; } }
.kpi-timer-blink { font-size: 36px; font-weight: 800; margin-top: 8px; color: #F87171; letter-spacing: 2px;
  text-shadow: 0 0 14px rgba(248,113,113,0.55); animation: kpi-blink 1.1s ease-in-out infinite; }

/* Badges */
.badge-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 20px 0; }
.badge {
  padding: 8px 14px; 
  border-radius: 8px; 
  border: 1px solid rgba(59, 130, 246, 0.3);
  background: rgba(30, 58, 138, 0.2); 
  color: #BFDBFE; 
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.2s;
}
.badge:hover {
  background: rgba(30, 58, 138, 0.4);
  border-color: rgba(59, 130, 246, 0.5);
}
.badge strong { color: #60A5FA; font-weight: 700; }

/* Edge Grid */
.edge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 12px 0 24px 0; }
.edge-card {
  border-radius: 16px; 
  padding: 18px; 
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(17, 24, 39, 0.7);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25); 
  backdrop-filter: blur(12px);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.edge-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
  background: rgba(31, 41, 55, 0.8);
  border-color: rgba(255,255,255,0.12);
}
.edge-card h4 { margin: 0 0 12px 0; font-size: 15px; color: #F3F4F6; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 700; }
.edge-metric { font-size: 13px; margin: 6px 0; color: #9CA3AF; }
.edge-metric strong { color: #E5E7EB; font-weight: 600; font-family: 'Inter', sans-serif; font-size: 14px; text-shadow: 0 1px 2px rgba(0,0,0,0.5);}
.edge-pill { 
  display: flex; 
  align-items: center;
  justify-content: center;
  margin-top: 14px; 
  padding: 8px 12px; 
  border-radius: 8px; 
  font-size: 12px; 
  font-weight: 700; 
  letter-spacing: 0.5px;
  text-transform: uppercase;
  width: 100%;
}
.edge-pos { background: rgba(16, 185, 129, 0.15); color: #34D399; border: 1px solid rgba(16, 185, 129, 0.3); box-shadow: 0 0 15px rgba(16,185,129,0.1); }
.edge-neg { background: rgba(239, 68, 68, 0.15); color: #F87171; border: 1px solid rgba(239, 68, 68, 0.3); box-shadow: 0 0 15px rgba(239,68,68,0.1); }
.edge-flat { background: rgba(75, 85, 99, 0.2); color: #9CA3AF; border: 1px solid rgba(75, 85, 99, 0.4); }

/* Product Hero */
.product-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  min-height: 96px;
  padding: 20px 32px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(30, 41, 59, 0.7) 50%, rgba(15, 23, 42, 0.9) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4), inset 0 1px 1px rgba(255,255,255,0.05);
  backdrop-filter: blur(25px);
  margin-bottom: 16px;
}
.product-hero::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.8), rgba(59, 130, 246, 0.1));
  z-index: 2;
}
.product-hero::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 90% 50%, rgba(59, 130, 246, 0.1) 0%, transparent 40%);
  pointer-events: none;
}
.product-logo-wrap {
  position: relative; z-index: 1; flex: 0 0 64px; width: 64px; height: 64px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 28px;
  background:
    radial-gradient(circle at 34% 28%, rgba(148, 163, 184, 0.10), transparent 50%),
    radial-gradient(circle at 70% 66%, rgba(226, 232, 240, 0.06), transparent 40%),
    linear-gradient(180deg, rgba(27, 35, 52, 0.96), rgba(14, 20, 33, 1));
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.42), inset 0 1px 3px rgba(255,255,255,0.06);
  overflow: hidden;
}
.product-logo-wrap::before {
  content: "";
  position: absolute;
  inset: -14px;
  border-radius: 36px;
  background:
    radial-gradient(circle at 28% 28%, rgba(148, 163, 184, 0.10), transparent 48%),
    radial-gradient(circle at 72% 62%, rgba(255, 255, 255, 0.05), transparent 42%);
  filter: blur(18px);
  opacity: 0.6;
  pointer-events: none;
}
.product-logo-wrap::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 22px;
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.05), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.04), transparent 36%);
  pointer-events: none;
}
.product-logo-wrap img {
  width: 52px;
  height: 52px;
  border-radius: 0;
  object-fit: contain;
  opacity: 0.96;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.26)) saturate(0.98) contrast(1.02);
  transform: translateY(1px);
  -webkit-mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 62%, rgba(0,0,0,0.97) 76%, rgba(0,0,0,0.80) 90%, transparent 100%);
  mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 62%, rgba(0,0,0,0.97) 76%, rgba(0,0,0,0.80) 90%, transparent 100%);
}
.product-copy { position: relative; z-index: 1; }
.product-title {
  margin: 0; font-size: 40px; line-height: 0.9; letter-spacing: -0.05em; font-weight: 900;
  background: linear-gradient(to bottom, #FFFFFF 30%, #94A3B8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,0.4));
}
.product-subtitle { 
  margin: 12px 0 0 0; font-size: 14px; color: #60A5FA; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; opacity: 0.8;
}

.hero-visual-stats {
  display: flex; gap: 16px; position: relative; z-index: 1;
}
.stat-bubble {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 14px 20px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  min-width: 140px;
  backdrop-filter: blur(10px);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.stat-bubble:hover { transform: translateY(-5px); border-color: rgba(59, 130, 246, 0.4); }
.bubble-label { font-size: 10px; font-weight: 800; color: #64748B; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px; }
.bubble-value { font-size: 18px; font-weight: 700; color: #F8FAFC; }

.section-caption { color: #9CA3AF; font-size: 14px; margin-top: 4px; }

/* ── V2: Odds Movement Tracker ── */
.odds-movement {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  margin: 16px 0 24px 0;
}
.odds-move-card {
  background: rgba(17, 24, 39, 0.7); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px; padding: 16px 20px; position: relative; overflow: hidden;
  backdrop-filter: blur(12px);
}
.odds-move-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
}
.odds-move-card.steam::before { background: linear-gradient(90deg, transparent, #10B981, transparent); }
.odds-move-card.drift::before { background: linear-gradient(90deg, transparent, #EF4444, transparent); }
.odds-move-card.stable::before { background: linear-gradient(90deg, transparent, #6B7280, transparent); }
.odds-move-label { font-size: 10px; font-weight: 800; color: #64748B; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 10px; }
.odds-move-values { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.odds-move-val { font-size: 22px; font-weight: 800; color: #F8FAFC; }
.odds-move-arrow { font-size: 16px; }
.odds-move-delta {
  display: inline-block; padding: 3px 8px; border-radius: 6px;
  font-size: 11px; font-weight: 800; letter-spacing: 0.5px;
}
.delta-steam { background: rgba(16,185,129,0.15); color: #34D399; }
.delta-drift { background: rgba(239,68,68,0.15); color: #F87171; }
.delta-stable { background: rgba(107,114,128,0.15); color: #9CA3AF; }
.odds-move-bar { height: 4px; border-radius: 2px; background: #1E293B; margin-top: 12px; overflow: hidden; position: relative; }
.odds-move-bar-fill { height: 100%; border-radius: 2px; transition: width 0.5s ease; }

/* ── V2: Confidence Meter ── */
.confidence-card {
  box-sizing: border-box;
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.7), rgba(15, 23, 42, 0.8));
  border: 1px solid rgba(255,255,255,0.08); border-radius: 16px;
  height: auto !important; min-height: 238px !important; max-height: none !important;
  margin-top: 10px; padding: 16px 20px; text-align: center; position: relative; overflow: hidden;
  backdrop-filter: blur(12px); transition: transform 0.3s ease;
}
.confidence-card:hover { transform: translateY(-3px); }
.confidence-ring {
  width: 90px; height: 90px; margin: 8px auto;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 28px; font-weight: 900; color: #F8FAFC;
}
.confidence-msg { font-size: 11px; color: #94A3B8; margin-top: 8px; line-height: 1.3; }

/* ── V2: H2H Panel ── */
.h2h-panel {
  background: rgba(17, 24, 39, 0.7); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px; padding: 16px; backdrop-filter: blur(12px);
}
.h2h-row {
  display: flex; align-items: center; gap: 10px; padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03); font-size: 12px; color: #CBD5E1;
}
.h2h-row:last-child { border-bottom: none; }
.h2h-result {
  display: inline-block; width: 24px; height: 24px; border-radius: 6px;
  font-size: 10px; font-weight: 800; text-align: center; line-height: 24px; color: #fff;
  flex-shrink: 0;
}

/* ── V2: Momentum Indicator ── */
.momentum-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 8px 0 20px 0; }
.momentum-card {
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.7), rgba(15, 23, 42, 0.8));
  border: 1px solid rgba(255,255,255,0.08); border-radius: 16px;
  padding: 14px 18px; backdrop-filter: blur(12px);
}
.momentum-dots { display: flex; gap: 6px; margin: 8px 0; }
.momentum-dot {
  width: 28px; height: 28px; border-radius: 8px; display: flex;
  align-items: center; justify-content: center; font-size: 10px; font-weight: 800; color: #fff;
}
.dot-w { background: rgba(16,185,129,0.8); box-shadow: 0 0 8px rgba(16,185,129,0.3); }
.dot-d { background: rgba(245,158,11,0.8); box-shadow: 0 0 8px rgba(245,158,11,0.3); }
.dot-l { background: rgba(239,68,68,0.8); box-shadow: 0 0 8px rgba(239,68,68,0.3); }

/* ── V2: Minutaggio Distribution ── */
.minutaggio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 16px 0; }
.minutaggio-chart {
  background: rgba(17, 24, 39, 0.7); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px; padding: 16px; backdrop-filter: blur(12px);
}
.minutaggio-bars { display: flex; align-items: flex-end; gap: 8px; height: 100px; margin-top: 12px; }
.minutaggio-bar {
  flex: 1; border-radius: 6px 6px 0 0; position: relative; min-height: 4px;
  transition: height 0.5s ease;
}
.minutaggio-bar-label {
  position: absolute; bottom: -18px; left: 50%; transform: translateX(-50%);
  font-size: 8px; color: #64748B; font-weight: 700; white-space: nowrap;
}
.minutaggio-bar-pct {
  position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
  font-size: 9px; color: #F8FAFC; font-weight: 700;
}

/* ── V2: Radar Scanner ── */
.radar-shell {
  overflow-x: auto;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px;
  background: rgba(17,24,39,0.7);
}
.radar-table {
  width: max-content;
  min-width: 100%;
}
.radar-row {
  display: grid;
  grid-template-columns: minmax(320px, 2.5fr) 78px 76px minmax(160px, 1.2fr) 126px minmax(260px, 1.8fr) 96px 82px 76px;
  gap: 14px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 12px; color: #CBD5E1; align-items: center;
  transition: background 0.2s;
}
.radar-row:hover { background: rgba(255,255,255,0.03); }
.radar-row > div { min-width: 0; overflow: hidden; }
.radar-header {
  font-size: 10px; font-weight: 800; color: #64748B; text-transform: uppercase;
  letter-spacing: 1px; border-bottom: 2px solid rgba(255,255,255,0.08);
}
.radar-head-center {
  text-align: center;
}
.radar-head-right {
  text-align: right;
}
.radar-match-link {
  font-weight: 700;
  color: #F8FAFC;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
}
.radar-match-link:hover {
  color: #FFFFFF;
}
.radar-match-title,
.radar-league-cell,
.radar-strategy-cell,
.radar-reason-cell,
.radar-scope-cell {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.radar-reason-cell {
  color: #CBD5E1;
  font-size: 11px;
  font-weight: 600;
}
.radar-score-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 4px 8px;
  border-radius: 8px;
  background: rgba(255,255,255,0.05);
  color: #F8FAFC;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.radar-timer {
  color: #FCA5A5;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.radar-roi {
  justify-self: stretch;
  width: 100%;
  padding: 4px 10px;
  border-radius: 8px;
  text-align: center;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.radar-roi.pos-low {
  background: rgba(16, 185, 129, 0.08);
  color: #6EE7B7;
}
.radar-roi.pos-med {
  background: rgba(16, 185, 129, 0.22);
  color: #34D399;
  box-shadow: 0 0 12px rgba(16,185,129,0.08);
}
.radar-roi.pos-high {
  background: rgba(16, 185, 129, 0.42);
  color: #FFFFFF;
  border: 1px solid rgba(16,185,129,0.45);
  box-shadow: 0 0 14px rgba(16,185,129,0.16);
}
.radar-sample {
  justify-self: stretch;
  text-align: right;
  color: #94A3B8;
  font-variant-numeric: tabular-nums;
}

/* ── V2: Match Switcher ── */
.match-switcher {
  background: rgba(15, 23, 42, 0.5); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px; margin: 8px 0; overflow: hidden;
}
.match-switch-item {
  padding: 8px 12px; border-bottom: 1px solid rgba(255,255,255,0.03);
  font-size: 11px; color: #94A3B8; cursor: pointer; transition: background 0.2s;
}
.match-switch-item:hover { background: rgba(59, 130, 246, 0.1); color: #E2E8F0; }

@media (max-width: 1100px) {
  .product-hero { flex-direction: column; align-items: flex-start; padding: 24px; }
  .product-logo-wrap { width: 80px; height: 80px; flex-basis: 80px; }
  .product-title { font-size: 38px; }
  .product-subtitle { font-size: 14px; }
  .kpi-row, .edge-grid { grid-template-columns: 1fr; }
  .dashboard-table {
    --sticky-col-1-width: 144px;
    --sticky-col-2-width: 168px;
    --table-col-min-width: 84px;
  }
  .radar-row {
      grid-template-columns: minmax(300px, 2.4fr) 72px 68px minmax(150px, 1.1fr) 112px minmax(240px, 1.7fr) 88px 78px 70px;
      gap: 12px;
      padding: 9px 14px;
      font-size: 11px;
  }
  .radar-table {
    min-width: 1040px;
  }
}
@media (max-width: 820px) {
    .dashboard-table {
      --sticky-col-1-width: 132px;
      --sticky-col-2-width: 152px;
      --table-col-min-width: 78px;
    }
    .dashboard-table .market-table tr > *:first-child {
      min-width: 132px;
      width: 132px;
      max-width: 132px;
    }
    .radar-table {
      min-width: 980px;
    }
  .radar-row {
    grid-template-columns: minmax(280px, 2.2fr) 68px 64px minmax(140px, 1fr) 108px minmax(220px, 1.6fr) 84px 74px 66px;
    gap: 10px;
    padding: 8px 12px;
  }
}

