:root{color-scheme:light;--bg:#f4f7fa;--surface:#fff;--text:#172c3b;--muted:#637888;--border:#dbe4eb;--accent:#007c80;--accent-strong:#00646a;--soft:#e7f5f4;--shadow:0 8px 28px rgba(24,47,65,.055)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#101a22;--surface:#192833;--text:#e7f0f4;--muted:#a2b5c1;--border:#334650;--accent:#4cc9bd;--accent-strong:#55d8cb;--soft:#203c41;--shadow:0 8px 30px rgba(0,0,0,.15)}}:root[data-theme=dark]{color-scheme:dark;--bg:#101a22;--surface:#192833;--text:#e7f0f4;--muted:#a2b5c1;--border:#334650;--accent:#4cc9bd;--accent-strong:#55d8cb;--soft:#203c41;--shadow:0 8px 30px rgba(0,0,0,.15)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:16px max(24px,calc((100vw - 1400px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-size:21px}.brand-sub{font-size:12px;color:var(--muted);border-left:1px solid var(--border);padding-left:10px}.top-actions{display:flex;align-items:center;gap:12px}.tag{background:var(--soft);color:var(--accent);padding:5px 10px;border-radius:20px;font-size:12px;font-weight:650}.theme-button,.secondary,.primary,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:9px;padding:9px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;background:var(--surface);color:var(--text)}.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:white}.primary:hover{filter:brightness(1.12)}.secondary:hover,.theme-button:hover{border-color:var(--accent);text-decoration:none}.shell{max-width:1440px;margin:auto;padding:28px 24px 70px}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.hero h1{font-size:clamp(27px,3vw,39px);line-height:1.15;margin:4px 0 10px}.eyebrow{letter-spacing:.13em;font-weight:700;font-size:11px;color:var(--accent);margin:0}.muted{color:var(--muted)}.small{font-size:12px;margin:5px 0}.hero-stat{border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:16px 22px;min-width:170px}.hero-stat span,.metric span{display:block;color:var(--muted);font-size:12px}.hero-stat strong{display:block;font-size:26px}.breadcrumb{margin-bottom:15px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow);margin-bottom:22px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 22px;border-bottom:1px solid var(--border)}h2{font-size:17px;margin:0}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:23px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.metric strong{display:block;font-size:26px;margin-top:6px}.metric small{font-size:13px;font-weight:500}.filters{padding-bottom:18px}.filter-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:14px;padding:18px 22px}.filter-grid label,.chart-field{font-size:12px;color:var(--muted);font-weight:650}select,input[type=date]{display:block;margin-top:6px;width:100%;min-height:40px;border-radius:8px;border:1px solid var(--border);padding:8px 10px;background:var(--surface);color:var(--text);font:inherit}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 22px}.chart-field{min-width:200px}.chart-wrap{padding:16px 22px}.chart-wrap svg{display:block;width:100%;height:auto;max-height:340px;overflow:visible}.chart-wrap text{fill:var(--muted);font-size:12px}.chart-wrap .grid{stroke:var(--border);stroke-width:1}.chart-wrap .plot{fill:none;stroke:var(--accent);stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}.chart-wrap .dot{fill:var(--accent)}.table-scroll{width:100%;overflow:auto;max-height:660px}table{width:100%;border-collapse:separate;border-spacing:0;text-align:left}th,td{white-space:nowrap;border-bottom:1px solid var(--border);padding:10px 12px;font-variant-numeric:tabular-nums}thead th{position:sticky;top:0;background:var(--surface);z-index:2;font-size:12px;color:var(--muted);font-weight:700}tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg) 65%,transparent)}tbody tr:hover{background:var(--soft)}.measure-table th,.measure-table td{font-size:12px;padding:9px 11px}.missing{color:var(--muted)}.empty{text-align:center;padding:30px}.pager{padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.pager div{display:flex;gap:10px}.glossary{padding:14px 22px}.glossary summary{cursor:pointer;font-weight:650}.glossary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.glossary-grid div{display:flex;gap:12px}.glossary-grid code{color:var(--accent);min-width:70px}.footer{max-width:1440px;margin:0 auto 30px;padding:0 24px;color:var(--muted);font-size:12px}.notice{font-size:12px;color:var(--muted)}@media(max-width:1000px){.metrics{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.glossary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{padding:12px 15px}.top-actions .tag,.brand-sub{display:none}.shell{padding:20px 12px}.hero{align-items:stretch;flex-direction:column}.hero-stat{min-width:0}.metrics{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.glossary-grid{grid-template-columns:1fr}.pager{align-items:flex-start;flex-direction:column}}

/* Sponsor e crediti: compatibili con tema chiaro e scuro */
.sponsor-footer {margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--border); font-size: 14px;}
.sponsor-section h2 {font-size: 14px; margin: 0 0 18px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em;}
.sponsor-logos {display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-bottom: 24px;}
.sponsor-logo {display: flex; align-items: center; justify-content: center; width: min(100%, 300px); min-height: 104px; padding: 14px; background: #fff; border: 1px solid #dce1e5; border-radius: 12px; box-sizing: border-box; transition: transform .15s ease, box-shadow .15s ease;}
.sponsor-logo:hover {transform: translateY(-2px); box-shadow: var(--shadow);}
.sponsor-logo img {display: block; width: 100%; max-height: 76px; object-fit: contain;}
.footer-credit {display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--border); padding-top: 16px;}
.footer-credit a {color: var(--accent); font-weight: 700;}
@media (max-width: 600px) {.sponsor-logos {gap: 12px;} .sponsor-logo {width: 100%;} .footer-credit {flex-direction: column;}}

/* Logo Altercodex nel footer, distinto dagli sponsor */
.powered-by {display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--muted); font-weight:600;}
.powered-by img {display:block; width:170px; max-width:40vw; height:auto; padding:5px 8px; background:#fff; border-radius:6px; box-sizing:border-box;}
.powered-by:hover {text-decoration:underline;}
@media (max-width:600px) {.powered-by img {width:155px;}}
