html{--st-bg: #050811;--st-bg-2: #0a1022;--st-panel: rgba(14,22,44,0.62);--st-panel-solid: #0e162c;--st-line: rgba(120,180,255,0.14);--st-line-strong: rgba(120,200,255,0.32);--st-text: #e6f1ff;--st-muted: #8a9bbd;--st-cyan: #22d3ee;--st-magenta: #e879f9;--st-violet: #8b5cf6;--st-amber: #fbbf24;--st-font-display: "Orbitron","Rajdhani","Segoe UI",system-ui,sans-serif;--st-font: "Inter","Segoe UI",system-ui,sans-serif;--lumo-primary-color: var(--st-cyan);--lumo-primary-color-50pct: rgba(34,211,238,0.5);--lumo-primary-color-10pct: rgba(34,211,238,0.1);--lumo-primary-text-color: var(--st-cyan);--lumo-primary-contrast-color: #021018;--lumo-base-color: var(--st-panel-solid);--lumo-font-family: var(--st-font);--lumo-border-radius-m: 10px;--lumo-border-radius-l: 16px}body{margin: 0;background: var(--st-bg);color: var(--st-text);font-family: var(--st-font)}.app{position: relative;min-height: 100vh;overflow-x: hidden;background: radial-gradient(1200px 600px at 10% -10%,rgba(34,211,238,0.16),transparent 60%),radial-gradient(900px 600px at 110% 10%,rgba(232,121,249,0.14),transparent 60%),radial-gradient(800px 500px at 50% 120%,rgba(139,92,246,0.18),transparent 60%),linear-gradient(180deg,var(--st-bg) 0%,var(--st-bg-2) 100%)}.bg-grid{position: fixed;inset: -50%;pointer-events: none;background-image: linear-gradient(var(--st-line) 1px,transparent 1px),linear-gradient(90deg,var(--st-line) 1px,transparent 1px);background-size: 48px 48px;transform: perspective(900px) rotateX(58deg) translateY(-8%);mask-image: radial-gradient(ellipse at 50% 40%,#000 20%,transparent 70%);-webkit-mask-image: radial-gradient(ellipse at 50% 40%,#000 20%,transparent 70%);animation: grid-move 14s linear infinite;opacity: 0.55}@keyframes grid-move{from{background-position: 0 0,0 0}to{background-position: 0 48px,48px 0}}.shell{position: relative;max-width: 1180px;margin: 0 auto;padding: 28px 24px 64px;display: flex;flex-direction: column;gap: 22px}.header{display: flex;align-items: center;justify-content: space-between;gap: 16px;flex-wrap: wrap}.brand-box{display: flex;align-items: center;gap: 16px}.logo{width: 54px;height: 54px;border-radius: 16px;display: grid;place-items: center;background: linear-gradient(135deg,rgba(34,211,238,0.18),rgba(232,121,249,0.18));border: 1px solid var(--st-line-strong);box-shadow: 0 0 24px rgba(34,211,238,0.35),inset 0 0 18px rgba(232,121,249,0.18);color: var(--st-cyan)}.logo vaadin-icon{width: 28px;height: 28px;filter: drop-shadow(0 0 6px var(--st-cyan))}.brand{margin: 0;font-family: var(--st-font-display);font-weight: 900;font-size: clamp(1.6rem,3.2vw,2.3rem);letter-spacing: 0.22em;line-height: 1.1;background: linear-gradient(90deg,var(--st-cyan),#a5f3fc 40%,var(--st-magenta));-webkit-background-clip: text;background-clip: text;color: transparent;filter: drop-shadow(0 0 14px rgba(34,211,238,0.35))}.tagline{display: block;margin-top: 4px;color: var(--st-muted);font-size: 0.8rem;letter-spacing: 0.18em;text-transform: uppercase}.header-right{display: flex;align-items: center;gap: 14px;flex-wrap: wrap}.stats{display: flex;gap: 10px}.stat{min-width: 74px;padding: 8px 14px;border-radius: 12px;background: var(--st-panel);border: 1px solid var(--st-line);backdrop-filter: blur(10px);display: flex;flex-direction: column;align-items: center}.stat-value{font-family: var(--st-font-display);font-weight: 700;font-size: 1.15rem;color: var(--st-text)}.stat-label{font-size: 0.65rem;letter-spacing: 0.16em;text-transform: uppercase;color: var(--st-muted)}.btn-neon{--lumo-button-size: 42px;font-weight: 600;letter-spacing: 0.04em;color: #021018 !important;background: linear-gradient(135deg,var(--st-cyan),var(--st-violet)) !important;border-radius: 12px;box-shadow: 0 0 0 1px rgba(255,255,255,0.08),0 8px 24px rgba(34,211,238,0.3);transition: transform 0.15s ease,box-shadow 0.15s ease}.btn-neon:hover{transform: translateY(-1px);box-shadow: 0 0 0 1px rgba(255,255,255,.15),0 10px 32px rgba(139,92,246,0.45)}.search-panel{padding: 18px;border-radius: 20px;background: var(--st-panel);border: 1px solid var(--st-line);backdrop-filter: blur(14px);box-shadow: 0 20px 60px rgba(0,0,0,0.45);display: flex;flex-direction: column;gap: 14px}vaadin-text-field.search{--vaadin-input-field-height: 68px;--vaadin-input-field-background: rgba(3,8,20,0.75);--vaadin-input-field-value-font-size: 1.45rem;--lumo-text-field-size: 68px;font-size: 1.45rem;padding: 0}vaadin-text-field.search::part(input-field){height: 68px;border-radius: 14px;background: rgba(3,8,20,0.75);border: 1px solid var(--st-line-strong);box-shadow: inset 0 0 30px rgba(34,211,238,0.06);transition: box-shadow 0.2s ease,border-color 0.2s ease;padding-inline: 18px}vaadin-text-field.search[focused]::part(input-field){border-color: var(--st-cyan);box-shadow: 0 0 0 3px rgba(34,211,238,0.18),0 0 32px rgba(34,211,238,0.28),inset 0 0 30px rgba(34,211,238,0.08)}vaadin-text-field.search>vaadin-icon[slot="prefix"]{color: var(--st-cyan);width: 26px;height: 26px;margin-inline-end: 10px;filter: drop-shadow(0 0 6px rgba(34,211,238,0.7))}vaadin-text-field.search input{font-size: 1.45rem;font-weight: 500;color: var(--st-text);caret-color: var(--st-cyan)}vaadin-text-field.search input::placeholder{color: rgba(138,155,189,0.6);font-weight: 400}.kbd{font-family: ui-monospace,monospace;font-size: 0.7rem;padding: 3px 7px;border-radius: 6px;color: var(--st-muted);border: 1px solid var(--st-line-strong);margin-inline-start: 8px}.filters{display: flex;align-items: center;gap: 12px;flex-wrap: wrap}.segmented{display: inline-flex;padding: 4px;gap: 4px;border-radius: 12px;background: rgba(3,8,20,0.6);border: 1px solid var(--st-line)}.seg{margin: 0;min-width: 84px;color: var(--st-muted);background: transparent;border-radius: 9px;font-weight: 600;letter-spacing: 0.04em}.seg.active{color: #021018;background: var(--st-cyan);box-shadow: 0 0 18px rgba(34,211,238,0.45)}.seg.zona-b.active{background: var(--st-magenta);box-shadow: 0 0 18px rgba(232,121,249,0.45)}.filtro-quartiere{min-width: 280px;flex: 1;max-width: 420px}.zona-a{--zona: var(--st-cyan);--zona-rgb: 34,211,238}.zona-b{--zona: var(--st-magenta);--zona-rgb: 232,121,249}.zona-altro{--zona: var(--st-amber);--zona-rgb: 251,191,36}.hero{animation: rise 0.25s ease-out}@keyframes rise{from{opacity: 0;transform: translateY(6px)}to{opacity: 1;transform: none}}.hero-inner{position: relative;display: grid;grid-template-columns: 1fr auto;gap: 24px;align-items: stretch;padding: 26px 28px;border-radius: 22px;background: linear-gradient(120deg,rgba(var(--zona-rgb),0.16),transparent 55%),var(--st-panel);border: 1px solid rgba(var(--zona-rgb),0.45);box-shadow: 0 0 0 1px rgba(var(--zona-rgb),0.1),0 0 50px rgba(var(--zona-rgb),0.18);backdrop-filter: blur(14px);overflow: hidden}.hero-inner::before{content: "";position: absolute;left: 0;right: 0;height: 2px;top: 0;background: linear-gradient(90deg,transparent,var(--zona),transparent);animation: scan 3.2s ease-in-out infinite;opacity: 0.7}@keyframes scan{0%,100%{top: 0}50%{top: calc(100% - 2px)}}.hero-left{display: flex;flex-direction: column;gap: 10px;min-width: 0}.hero-label{font-family: var(--st-font-display);font-size: 0.7rem;letter-spacing: 0.3em;color: var(--zona)}.hero-nome{font-size: clamp(1.6rem,3.6vw,2.5rem);font-weight: 600;line-height: 1.15;color: var(--st-text);word-break: break-word}.hero-k{display: block;font-size: 0.65rem;letter-spacing: 0.25em;color: var(--st-muted);margin-bottom: 2px}.hero-quartiere{font-family: var(--st-font-display);font-size: clamp(1.05rem,2.2vw,1.4rem);font-weight: 700;letter-spacing: 0.06em;color: #fff}.hero-zona{min-width: 170px;padding: 16px 22px;border-radius: 18px;display: flex;flex-direction: column;align-items: center;justify-content: center;background: rgba(var(--zona-rgb),0.08);border: 1px solid rgba(var(--zona-rgb),0.5);box-shadow: inset 0 0 30px rgba(var(--zona-rgb),0.18)}.hero-zona-val{font-family: var(--st-font-display);font-weight: 900;font-size: 5rem;line-height: 1;color: var(--zona);text-shadow: 0 0 18px rgba(var(--zona-rgb),0.8),0 0 48px rgba(var(--zona-rgb),0.5)}.hero-zona-cal{margin-top: 6px;font-size: 0.75rem;color: var(--st-muted);letter-spacing: 0.06em}.hero-edit{position: absolute;top: 10px;right: 10px;color: var(--st-muted)}.hero-edit:hover{color: var(--st-text)}.results-header{display: flex;justify-content: space-between;align-items: center;padding: 0 4px}.count{font-size: 0.75rem;letter-spacing: 0.2em;text-transform: uppercase;color: var(--st-muted)}.cards{display: grid;grid-template-columns: repeat(auto-fill,minmax(290px,1fr));gap: 12px}.card{position: relative;display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 14px 16px 14px 18px;border-radius: 14px;background: var(--st-panel);border: 1px solid var(--st-line);backdrop-filter: blur(10px);cursor: pointer;outline: none;transition: transform 0.12s ease,border-color 0.12s ease,box-shadow 0.12s ease;overflow: hidden}.card::before{content: "";position: absolute;left: 0;top: 10px;bottom: 10px;width: 3px;border-radius: 3px;background: var(--zona);box-shadow: 0 0 10px var(--zona)}.card:hover,.card:focus-visible{transform: translateY(-2px);border-color: rgba(var(--zona-rgb),0.55);box-shadow: 0 8px 28px rgba(var(--zona-rgb),0.18)}.card.selected{border-color: var(--zona);box-shadow: 0 0 0 1px var(--zona),0 0 26px rgba(var(--zona-rgb),0.3)}.card-text{display: flex;flex-direction: column;gap: 3px;min-width: 0}.card-nome{font-weight: 600;font-size: 1rem;color: var(--st-text)}.card-quartiere{font-size: 0.72rem;letter-spacing: 0.1em;text-transform: uppercase;color: var(--st-muted)}.badge{flex: none;width: 42px;height: 42px;display: grid;place-items: center;border-radius: 12px;font-family: var(--st-font-display);font-weight: 900;font-size: 1.25rem;color: var(--zona);background: rgba(var(--zona-rgb),0.1);border: 1px solid rgba(var(--zona-rgb),0.5);text-shadow: 0 0 10px rgba(var(--zona-rgb),0.8)}.hl{color: #fff;background: linear-gradient(transparent 55%,rgba(34,211,238,0.45) 55%);border-radius: 2px}.empty{grid-column: 1 / -1;display: flex;flex-direction: column;align-items: center;gap: 8px;padding: 48px 16px;color: var(--st-muted);border: 1px dashed var(--st-line-strong);border-radius: 18px}.empty vaadin-icon{width: 40px;height: 40px;color: var(--st-cyan);opacity: 0.6}.empty>span:first-of-type{font-size: 1.1rem;color: var(--st-text)}.small{font-size: 0.8rem}vaadin-dialog.editor::part(overlay),vaadin-dialog-overlay.editor::part(overlay){background: var(--st-panel-solid);border: 1px solid var(--st-line-strong);box-shadow: 0 0 60px rgba(34,211,238,0.2)}.editor-form{display: flex;flex-direction: column;gap: 6px}@media (max-width: 640px){.shell{padding: 18px 14px 48px}.hero-inner{grid-template-columns: 1fr;padding: 20px}.hero-zona{flex-direction: row;gap: 14px;min-width: 0}.hero-zona-val{font-size: 3.2rem}.stats{display: none}.filtro-quartiere{min-width: 0;max-width: none}vaadin-text-field.search input{font-size: 1.1rem}}