/* Design reminder — Neon Meridian locale: contrasto ciano/magenta senza dipendenze esterne. */
:root{--nm-ink:#070a1b;--nm-panel:#101842;--nm-text:#f4f7ff;--nm-muted:#a9b2d3;--nm-cyan:#61f4ff;--nm-magenta:#ff3eb5;--nm-line:rgba(151,181,255,.23);--nm-shadow:0 25px 70px rgba(0,0,0,.42)}
.landing-body,.future-auth,.app-body,.future-admin-body{background:#070a1b!important;color:var(--nm-text)!important}.landing-body:before,.app-body:before{background-image:linear-gradient(rgba(97,244,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(97,244,255,.035) 1px,transparent 1px)!important}.ambient,.noise{display:none!important}.future-kicker,.eyebrow-accent,.feature-number,.eyebrow{color:var(--nm-cyan)!important}.future-kicker>span,.signal-line{background:var(--nm-magenta)!important}.hero-copy h1 em,.future-statement h2 em,.feature-glass h3 em,.invite-band h2 em,.future-auth h2 em,.empty-chat h1 em{color:var(--nm-magenta)!important;font-style:normal!important;text-shadow:0 0 28px rgba(255,62,181,.28)!important}.landing-login,.future-primary,.btn-primary,.send-button{background:linear-gradient(105deg,var(--nm-cyan),#62d8ff 50%,var(--nm-magenta))!important;color:#07101e!important;border:0!important;box-shadow:0 14px 32px rgba(97,244,255,.22)!important;font-weight:800!important}.future-secondary,.btn-soft{border-color:rgba(97,244,255,.38)!important;color:var(--nm-text)!important}.hero-visual{background:linear-gradient(135deg,#101842,#1a1855 55%,#07101e)!important;border-color:var(--nm-line)!important}.feature-orbit-asset{background:radial-gradient(circle at 35% 35%,#d9fbff,#61f4ff 14%,rgba(101,114,240,.34) 44%,transparent 70%)!important}.invite-band{background:linear-gradient(115deg,rgba(9,16,45,.96),rgba(67,18,70,.9))!important;border-color:rgba(97,244,255,.34)!important}.future-auth-aside{background:linear-gradient(145deg,#0a1232,#1a174a)!important}.future-auth-panel,.modal-panel{background:linear-gradient(145deg,#1a2250,#090d25)!important;border-color:var(--nm-line)!important}.future-auth input,.future-auth textarea,.modal-form input{background:rgba(6,10,27,.75)!important;color:var(--nm-text)!important;border-color:var(--nm-line)!important}.app-body .sidebar,.app-body .chat-view,.future-admin-body .admin-rail{background:linear-gradient(160deg,#101842,#070a1b)!important}.app-body .chat-head,.app-body .composer{background:rgba(10,14,37,.94)!important;border-color:var(--nm-line)!important}.app-body .message-stage{background:radial-gradient(circle at 70% 10%,rgba(255,62,181,.1),transparent 30%),radial-gradient(circle at 20% 85%,rgba(97,244,255,.08),transparent 28%),#090d25!important}.app-body .conversation-item.is-active{background:linear-gradient(100deg,rgba(97,244,255,.16),rgba(255,62,181,.16))!important;border-color:rgba(97,244,255,.36)!important}.app-body #messageInput{background:#111a44!important;border-color:rgba(97,244,255,.28)!important;color:var(--nm-text)!important}.empty-chat:before{background:linear-gradient(135deg,rgba(9,14,37,.95),rgba(28,20,68,.88))!important;border-color:var(--nm-line)!important}.future-admin-body .admin-main{background:linear-gradient(120deg,#070a1b,#131641)!important}.future-admin-body .metric,.future-admin-body .paper-card,.future-admin-body .settings-card,.future-admin-body .users-table,.future-admin-body .logs-table{background:linear-gradient(145deg,rgba(23,30,67,.93),rgba(9,12,34,.9))!important;border-color:var(--nm-line)!important;box-shadow:var(--nm-shadow)!important}.future-admin-body .admin-nav.is-active{background:linear-gradient(100deg,rgba(97,244,255,.16),rgba(255,62,181,.16))!important;color:var(--nm-text)!important}

/* Profilo Neon Meridian — stato dispositivo visibile, dissociazione magenta, riassociazione ciano. */
.device-settings-card{display:grid;gap:15px;padding:17px;border:1px solid rgba(97,244,255,.27);background:linear-gradient(135deg,rgba(97,244,255,.1),rgba(255,62,181,.09));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.device-settings-head{display:flex;gap:12px;align-items:flex-start}.device-settings-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;color:var(--nm-cyan);border:1px solid rgba(97,244,255,.45);background:rgba(5,10,30,.68);font-size:19px;box-shadow:0 0 20px rgba(97,244,255,.12)}.device-settings-head .eyebrow{margin:0 0 3px;font-size:10px}.device-settings-head h3{margin:0;font-size:16px;color:var(--nm-text)}.device-settings-head p:not(.eyebrow){margin:5px 0 0;color:var(--nm-muted);font-size:12px;line-height:1.45}.device-settings-list{display:grid;gap:9px}.device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 10px;border:1px solid rgba(151,181,255,.19);background:rgba(4,8,26,.48)}.device-row span{display:grid;gap:3px;min-width:0}.device-row strong{font-size:12px;color:var(--nm-text)}.device-row small,.device-settings-loading{margin:0;color:var(--nm-muted);font-size:11px}.device-disconnect{margin:0!important;min-width:91px;padding:8px 9px!important;font-size:11px!important}

/* Navigazione Neon Meridian — tre canali netti, un segnale attivo e nessun bottone generico. */
.app-body .sidebar-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:13px 14px 15px;padding:6px;border:1px solid rgba(151,181,255,.2);background:linear-gradient(135deg,rgba(4,9,29,.92),rgba(22,30,73,.6));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 9px 28px rgba(0,0,0,.16)}.app-body .side-tab{position:relative;display:grid!important;place-items:center;gap:5px;min-height:66px;padding:8px 3px!important;border:1px solid transparent!important;background:transparent!important;color:#8290bd!important;font:700 10px/1.05 Manrope,sans-serif!important;letter-spacing:.045em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));transition:color 180ms cubic-bezier(.23,1,.32,1),background 180ms cubic-bezier(.23,1,.32,1),transform 180ms cubic-bezier(.23,1,.32,1)}.app-body .side-tab:hover{color:#e7faff!important;background:rgba(97,244,255,.08)!important}.app-body .side-tab:active{transform:scale(.97)}.app-body .side-tab .nav-sigil{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(151,181,255,.3);color:#9eafd7;background:rgba(4,8,25,.58);font:500 17px/1 Space Grotesk,sans-serif;transition:color 180ms cubic-bezier(.23,1,.32,1),border-color 180ms cubic-bezier(.23,1,.32,1),box-shadow 180ms cubic-bezier(.23,1,.32,1),background 180ms cubic-bezier(.23,1,.32,1)}.app-body .side-tab.is-active{color:#f4faff!important;background:linear-gradient(135deg,rgba(97,244,255,.2),rgba(255,62,181,.16))!important;border-color:rgba(97,244,255,.38)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}.app-body .side-tab.is-active .nav-sigil{color:#07101e;border-color:#a6f9ff;background:linear-gradient(135deg,#8cffff,#61d9ff 55%,#f771d0);box-shadow:0 0 18px rgba(97,244,255,.32)}.app-body .side-tab.is-active:after{content:"";position:absolute;right:9px;top:8px;width:5px;height:5px;background:var(--nm-magenta);box-shadow:0 0 11px var(--nm-magenta)}.app-body .mobile-nav{gap:7px;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:rgba(7,10,27,.96)!important;border-top-color:rgba(151,181,255,.23)!important;backdrop-filter:blur(18px)}.app-body .mobile-nav-item{position:relative;min-width:0!important;flex:1;display:grid!important;place-items:center;gap:4px;padding:5px 2px!important;color:#8290bd!important;font:700 9px/1 Manrope,sans-serif!important;letter-spacing:.045em;text-transform:uppercase}.app-body .mobile-nav-sigil{display:grid!important;place-items:center;width:26px;height:26px;border:1px solid rgba(151,181,255,.24);background:rgba(24,32,73,.5);color:#9eafd7;font:500 16px/1 Space Grotesk,sans-serif}.app-body .mobile-nav-item.is-active{color:#f4faff!important}.app-body .mobile-nav-item.is-active .mobile-nav-sigil{border-color:#a6f9ff;background:linear-gradient(135deg,#8cffff,#61d9ff 55%,#f771d0);color:#07101e;box-shadow:0 0 16px rgba(97,244,255,.28)}.app-body .mobile-nav-item.is-active:after{content:"";position:absolute;bottom:-4px;width:18px;height:2px;background:linear-gradient(90deg,var(--nm-cyan),var(--nm-magenta));box-shadow:0 0 9px var(--nm-cyan)}
@media(prefers-reduced-motion:reduce){.app-body .side-tab,.app-body .side-tab .nav-sigil{transition:none}}

/* Posizione privata Neon Meridian — coordinate leggibili, stato live ciano e azioni di controllo discrete. */
.composer .location-button{color:var(--nm-cyan)!important;border-color:rgba(97,244,255,.36)!important;background:linear-gradient(145deg,rgba(97,244,255,.1),rgba(255,62,181,.08))!important}.location-share-form{gap:16px}.location-privacy-note{margin:0;color:var(--nm-muted);font-size:.86rem;line-height:1.5}.location-card{min-width:260px;display:grid;grid-template-columns:auto 1fr;gap:8px 10px;padding:12px 13px;border:1px solid rgba(123,143,224,.34);background:rgba(5,11,32,.66);clip-path:polygon(0 8px,8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}.location-card.is-live{border-color:rgba(97,244,255,.7);box-shadow:inset 0 0 24px rgba(97,244,255,.08)}.location-card-mark{width:30px;height:30px;display:grid;place-items:center;color:var(--nm-cyan);font-size:1.35rem;border:1px solid currentColor}.location-card-copy{display:grid;gap:2px}.location-card-copy strong{font-size:.84rem}.location-card-copy small{color:var(--nm-muted);font-size:.72rem}.location-map-link{grid-column:2;color:var(--nm-cyan);font-size:.76rem;font-weight:800;text-decoration:none}.location-card-actions{grid-column:1/-1;display:flex;gap:8px}.location-card-actions button{border:1px solid rgba(255,255,255,.22);background:transparent;color:var(--nm-text);padding:6px 9px;font:700 .72rem/1 Manrope,sans-serif;cursor:pointer}.location-card-actions button:last-child{border-color:rgba(255,105,138,.6);color:#ffadc0}

/* Messaggi laterali Neon Meridian — due azioni sempre presenti, rivelate dal solo gesto orizzontale verso sinistra. */
.message-row{position:relative;isolation:isolate;width:78%;min-width:156px;overflow:hidden;touch-action:pan-y}.message-bubble{position:relative;z-index:2;will-change:transform;transition:transform 180ms cubic-bezier(.23,1,.32,1)}.swipe-actions{position:absolute;z-index:1;top:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(2,78px);width:156px;min-height:100%;opacity:0;pointer-events:none;transition:opacity 100ms linear}.swipe-actions.is-visible{opacity:1;pointer-events:auto}.swipe-actions button{min-width:0;border:0;color:#effdff;display:grid;place-content:center;gap:4px;font:800 14px/1 Manrope,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}.swipe-actions button b{font:700 23px/1 Space Grotesk,sans-serif}.swipe-actions button span{font-size:9px;text-transform:uppercase;letter-spacing:.055em}.swipe-reply{background:#174e70}.swipe-delete{background:#7d234d;color:#fff1f5!important}.swipe-actions button:active{filter:brightness(1.2);transform:scale(.97)}.message-row.is-swiped .message-bubble{transition-duration:140ms}.reply-quote{display:grid;gap:2px;margin:0 0 8px;padding:7px 9px;border-left:2px solid var(--nm-cyan);background:rgba(4,9,29,.34);font-size:.76rem}.reply-quote strong{color:var(--nm-cyan);font-size:.7rem}.reply-quote span{opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.reply-bar[hidden]{display:none!important}.reply-bar{display:flex;align-items:center;gap:10px;margin:0 14px;padding:8px 10px;border:1px solid rgba(97,244,255,.28);border-bottom:0;background:#0b1231}.reply-bar-mark{color:var(--nm-cyan);font-size:20px}.reply-bar span:not(.reply-bar-mark){display:grid;min-width:0;gap:1px;flex:1}.reply-bar strong{font-size:.75rem;color:var(--nm-cyan)}.reply-bar small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--nm-muted)}.reply-bar button{position:relative;z-index:3;border:0;background:transparent;color:var(--nm-text);font-size:22px;cursor:pointer;touch-action:manipulation}@media(max-width:720px){.message-row{width:88%}}
