/* Exactpace — direzione C: multi-chain tech clarity */
.three-money{align-items:start}
.health-banner{position:relative;z-index:100;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:#fff4cf;border-bottom:1px solid #e7cf78;color:#55440b;font-size:13px;font-weight:700;line-height:1.45;text-align:center}.health-banner[hidden]{display:none}
:root,:root[data-theme="light"]{color-scheme:light;--paper:#f4f7f6;--surface:#fff;--mist:#d2e0dd;--soft:#e6efed;--ink:#102a2b;--muted:#526765;--gain:#14734b;--loss:#b4233c;--warn:#765000;--cyan:#15c5dc;--lime:var(--cyan);--shadow:0 8px 28px rgba(16,42,43,.09);--font:"Noto Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Sora","Noto Sans",sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--tabbar-h:78px;--r-card:22px;--r-control:16px}
:root[data-theme="dark"]{color-scheme:dark;--paper:#071414;--surface:#102222;--mist:#304a47;--soft:#1c3231;--ink:#f0faf7;--muted:#b3c9c4;--gain:#76e0a8;--loss:#ff9797;--warn:#ffd166;--cyan:#55e5f4;--lime:var(--cyan);--shadow:0 8px 30px rgba(0,0,0,.45)}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:#071414;--surface:#102222;--mist:#304a47;--soft:#1c3231;--ink:#f0faf7;--muted:#b3c9c4;--gain:#76e0a8;--loss:#ff9797;--warn:#ffd166;--cyan:#55e5f4;--lime:var(--cyan);--shadow:0 8px 30px rgba(0,0,0,.45)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}body{overscroll-behavior-y:auto}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.clickable{cursor:pointer}.brand,.page-title,.sheet-title,.card-title,.title,.vault-name,.pc-symbol,.empty-title,.confirm-box h3,.gate-hero h1{font-family:var(--font-display)}.num,.hero-value,.leader-pnl,.pc-pnl,.kpi-big,.mini b,.val,.move-amt,.kpi-cell b,.kpi-tile b,table.data .n,.position-grid b,.position-now b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.muted,.card-note,.field-hint{color:var(--muted)}.good,.is-pos{color:var(--gain)!important}.crit,.bad,.is-neg{color:var(--loss)!important}.warn{color:var(--warn)}.mono{font-family:var(--mono)}.ticker-link{color:inherit;text-decoration:none;display:inline-block}.ticker-link:hover,.ticker-link:focus-visible{text-decoration:underline}
#app{min-height:100dvh}.app-header{height:calc(86px + var(--safe-t));padding:var(--safe-t) 22px 15px;display:flex;align-items:flex-end;justify-content:space-between;max-width:560px;margin:auto}.brand{font-weight:900;font-size:20px;letter-spacing:-1px;display:flex;align-items:center;color:var(--ink)}.brand-dot{width:13px;height:13px;background:var(--lime);border:3px solid var(--ink);border-radius:50%;margin-right:7px;display:inline-block}.header-actions{display:flex;gap:4px}.avatar,.topbar-bell{width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center}.avatar{background:var(--ink);color:var(--lime);font-size:12px;font-weight:850}.topbar-bell{position:relative;background:transparent;color:var(--ink);padding:11px}.icon{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bell-badge,.tb-badge{position:absolute;background:var(--loss);color:#fff;border-radius:99px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;font-size:10px;font-weight:800}.bell-badge{right:0;top:0}.tb-badge{top:5px;left:calc(50% + 7px)}
.screen{width:100%;max-width:560px;margin:auto;padding:0 22px calc(var(--tabbar-h) + var(--safe-b) + 26px)}.eyebrow,.hero-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.page-title,.hero-value{font-size:40px;line-height:1.03;font-weight:850;letter-spacing:-2px;color:var(--ink);margin:6px 0}.hero-value{font-size:46px}.hero-value .unit{font-size:14px;letter-spacing:0;color:var(--muted);margin-left:5px}.subtitle{color:var(--muted);margin:0;font-size:14px}.section-head{font-size:13px;font-weight:850;margin:22px 0 7px;display:flex;justify-content:space-between;align-items:center}.text-link,.linklike{border:0;background:transparent;color:var(--ink);font-weight:780;min-height:44px;padding:0}.list{display:flex;flex-direction:column;gap:12px}
.card,.pos-card,.hist-card{background:var(--surface);border:0;border-radius:var(--r-card);padding:19px;box-shadow:var(--shadow);min-width:0}.card{margin-top:14px}.card.accent,.vault-card.is-joined{background:#102a2b;color:#f0faf7}.accent .card-note,.accent .eyebrow,.vault-card.is-joined .vault-chain,.vault-card.is-joined .card-note,.vault-card.is-joined .metric{color:#b3c9c4}.card-title,.title{font-size:21px;line-height:1.12;font-weight:830;letter-spacing:-.5px}.card-head,.row,.vault-head,.pc-row1,.hist-row1{display:flex;align-items:center;justify-content:space-between;gap:12px}.divider{height:1px;background:var(--mist);margin:15px 0}.accent .divider,.is-joined .divider{background:#343832}.pill,.badge{display:inline-flex;align-items:center;border:0;border-radius:99px;background:var(--mist);color:var(--ink);padding:7px 10px;font-size:12px;font-weight:750;white-space:nowrap}.pill.lime,.badge.is-in{background:var(--lime);color:#102a2b}.kpi-big,.leader-pnl{font-size:34px;line-height:1;font-weight:850;letter-spacing:-1.4px;margin:9px 0 5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini{background:var(--soft);border-radius:16px;padding:13px}.mini span{font-size:12px;color:var(--muted)}.mini b{display:block;font-size:18px;margin-top:5px}.metric{font-size:13px;color:var(--muted)}.metric b{color:inherit}.listrow,.move-row,.settings-row,.option{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--mist)}.listrow:last-child,.move-row:last-child,.settings-row:last-child,.option:last-child{border-bottom:0}
/* .option: riga come .settings-row ma su un <button> — reset dei soli stili
   di default del bottone, la spaziatura resta quella della riga (Ste, 24 set:
   "Accesso e password" e "Wallet e reti" sembravano un'unica voce perché
   .deposit-action azzerava il padding verticale). */
.option{background:none;border:0;border-bottom:1px solid var(--mist);width:100%;color:inherit;text-align:left}.money-action{margin-top:13px;padding-top:13px!important;border-top:1px solid var(--mist)!important}.move-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sheet-move-funds{display:flex;flex-direction:column;overflow:hidden}.sheet-move-funds .sheet-body{overflow-y:auto;flex:1}.sheet-move-funds .sheet-nav{position:static;padding:10px 22px calc(16px + var(--safe-b))}.sheet-move-funds .sheet-nav>*{flex:1}.move-review-info{display:flex;justify-content:flex-end;margin-top:8px}.move-progress{display:flex;align-items:center;gap:13px;padding:15px;border-radius:17px;background:var(--soft)}.move-progress-dot{width:13px;height:13px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px color-mix(in srgb,var(--lime) 22%,transparent)}.move-progress.good .move-progress-dot{background:var(--gain)}.move-progress.crit .move-progress-dot{background:var(--loss)}.move-progress.warn .move-progress-dot{background:#e5a72f}.join-bridge-proposal{margin-top:12px;padding:12px;border-radius:14px;background:var(--surface)}@media(max-width:520px){.move-grid{grid-template-columns:1fr}}.coin{width:42px;height:42px;flex:none;border-radius:14px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:16px;font-weight:850}.grow{flex:1;min-width:0;overflow-wrap:anywhere}.name,.move-kind{font-weight:780;font-size:15px}.small,.move-date,.hist-date{font-size:12px;color:var(--muted);margin-top:2px}.val,.move-amt{font-weight:800;text-align:right}.balance-card{margin-top:14px}.deposit-action{width:100%;background:none;border:0;color:inherit;padding:0;text-align:left}.chain-list{display:grid;gap:10px;margin-top:12px}.chain-row{background:var(--soft);border-radius:16px;padding:13px;display:flex;align-items:center;justify-content:space-between}.chain-row b{display:block}.chain-row small{color:var(--muted)}
.btn-primary,.btn-ghost,.btn-danger,.btn-soft,.btn-copy,.btn-mini{border:0;border-radius:var(--r-control);min-height:52px;padding:0 16px;font-weight:800;color:var(--ink)}.btn-primary{background:var(--lime);color:#102a2b}.btn-ghost,.btn-soft,.btn-copy,.btn-mini{background:var(--mist)}.btn-danger{background:transparent;color:var(--loss);outline:1px solid currentColor}.btn-danger.is-on{background:var(--loss);color:#fff}.btn-block{width:100%}.vault-actions,.pc-actions{display:flex;gap:8px;margin-top:16px}.vault-card{display:flex;flex-direction:column;gap:8px}.vault-name{font-size:21px;font-weight:830;letter-spacing:-.5px}.vault-chain{text-transform:capitalize;font-size:12px;color:var(--muted)}.vault-proof{display:flex;justify-content:space-between;margin-top:9px}.vault-state{font-size:12px;color:var(--muted);margin-top:4px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:0;background:var(--mist);color:var(--ink);border-radius:99px;padding:0 12px;min-height:44px}.chip[aria-pressed=true]{background:var(--ink);color:var(--lime)}
/* position-manage-buy-amount */ .buy-summary{margin:10px 0}.buy-summary .dl-row dd{text-align:right}
.tabbar{position:fixed;z-index:40;left:0;right:0;bottom:0;height:calc(var(--tabbar-h) + var(--safe-b));padding:9px max(8px,calc((100% - 560px)/2)) var(--safe-b);display:flex;background:color-mix(in srgb,var(--paper) 96%,transparent);border-top:1px solid var(--mist);backdrop-filter:blur(10px)}.tabbar button{position:relative;flex:1;min-height:58px;border:0;background:transparent;color:var(--muted);font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.tabbar button[aria-selected=true]{color:var(--ink);font-weight:800}.tabbar button[aria-selected=true]:before{content:"";width:19px;height:4px;border-radius:4px;background:var(--lime);position:absolute;top:-4px}.tb-icon .icon{width:20px;height:20px}
.seg{display:flex;background:var(--mist);padding:3px;border-radius:16px;gap:2px}.seg button{flex:1;border:0;background:transparent;color:var(--muted);border-radius:13px;min-height:44px;font-weight:750}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.positions-hero{margin-bottom:18px}.kpi-switch{margin-top:14px;max-width:360px}.kpi-switch button{min-height:38px}.val{text-align:right}.val .small{margin-top:2px}.pos-card{display:flex;flex-direction:column;gap:8px}.pc-symbol{font-size:21px;font-weight:830}.pc-pnl{font-size:18px;font-weight:830}.pc-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px}.hist-card{padding:14px 16px}.hist-reason{font-size:12px;color:var(--warn)}
.sheet-backdrop,.confirm-backdrop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.58);display:flex;align-items:flex-end}.confirm-backdrop{align-items:center;justify-content:center;padding:22px}.sheet{width:100%;max-width:560px;margin:0 auto;background:var(--surface);border-radius:28px 28px 0 0;max-height:92dvh;overflow:auto;padding-bottom:calc(22px + var(--safe-b));box-shadow:0 -20px 70px rgba(20,25,15,.2);animation:sheet-in .24s ease-out}.sheet:before{content:"";display:block;width:40px;height:5px;background:var(--mist);border-radius:5px;margin:10px auto 3px}.sheet-head{position:sticky;top:0;z-index:2;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:8px 22px}.sheet-close{width:44px;height:44px;border:0;border-radius:50%;background:var(--mist);color:var(--ink);font-size:18px}.sheet-body{padding:7px 22px;display:flex;flex-direction:column;gap:16px}.steps{display:flex;gap:6px}.step-dot{height:5px;flex:1;border-radius:5px;background:var(--mist)}.step-dot.is-active,.step-dot.is-done{background:var(--lime)}.sheet-title{font-size:30px;line-height:1.05;font-weight:850;letter-spacing:-1.2px}.sheet-nav{display:flex;gap:8px;position:sticky;bottom:0;background:var(--surface);padding-top:8px}.sheet-nav .btn-primary{flex:1}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:750;color:var(--muted)}.input{width:100%;min-width:0;min-height:52px;border:1px solid transparent;border-radius:16px;background:var(--soft);color:var(--ink);padding:0 14px;font-size:16px}.input:focus{border-color:var(--ink);outline:0}.amount-input{min-height:64px;border:2px solid var(--ink);font-size:26px;font-weight:850;background:transparent}.note,.sum-box,.warn-box{background:var(--soft);border-radius:15px;padding:13px;font-size:13px}.exit-choice{display:grid;gap:8px}.exit-card{width:100%;border:2px solid transparent;border-radius:16px;background:var(--soft);color:var(--ink);padding:14px;text-align:left}.exit-card[aria-pressed=true]{border-color:var(--ink)}.exit-title{display:block;font-weight:800}.exit-desc{display:block;color:var(--muted);font-size:12px;margin-top:3px}.exit-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.confirm-box{width:100%;max-width:340px;background:var(--surface);border-radius:22px;padding:20px}.confirm-box h3{font-size:21px;margin:0}.confirm-box p{color:var(--muted)}.confirm-actions{display:flex;gap:8px}.confirm-actions>*{flex:1}
/* review3 GPT Ripresa 3 punto 4: nello sheet del join la barra dei bottoni vive FUORI dall'area di scroll (prima era sticky dentro .sheet-body e copriva le ultime righe del modulo per tutto lo scroll). Il body scrolla e si ferma SOPRA la barra: nessuna riga puo' finirle sotto, a qualunque scroll. */
.sheet-join{display:flex;flex-direction:column;padding-bottom:0}.sheet-join .sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sheet-join .sheet-head{flex:none}.sheet-join .sheet-nav{position:static;padding:8px 22px calc(12px + var(--safe-b))}
.deposit-box{text-align:center}.deposit-box img,.deposit-box svg{background:#fff;padding:7px;border-radius:16px}.addr-row{display:flex;align-items:center;gap:8px;background:var(--soft);border-radius:16px;padding:8px 8px 8px 12px}.addr-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px var(--mono);flex:1}.details-box{font-size:12px;color:var(--muted)}.details-box summary{color:var(--ink);cursor:pointer;min-height:44px;display:flex;align-items:center;list-style:none}.details-open-label,.details-box[open] .details-closed-label{display:none}.details-box[open] .details-open-label{display:inline}.details-grid{display:grid;gap:5px}.dl-row{display:flex;justify-content:space-between;gap:10px}/* Giro 2 #1: le parole non si spezzano mai a metà (overflow-wrap spezza solo
   il necessario — hash lunghi, indirizzi); break-all tagliava "nes sun". */
.dl-row dd{margin:0;text-align:right;overflow-wrap:anywhere;word-break:normal}.empty{text-align:center;padding:30px 10px}.empty-art{width:94px;height:94px;border:2px solid var(--ink);border-radius:50%;margin:6px auto 24px;box-shadow:10px 10px 0 var(--lime);display:grid;place-items:center}.empty-art:after{content:"";width:30px;height:30px;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 8px var(--lime)}.empty-title{font-size:21px;font-weight:830}.empty-sub{color:var(--muted);margin-top:5px}.settings-card{padding-top:3px;padding-bottom:3px}.settings-label{font-weight:730}.settings-value{margin-left:auto;text-align:right;color:var(--muted)}.export-key-box,.resp{background:var(--paper);border-radius:16px;padding:12px;font:12px var(--mono);word-break:break-all}.resp:empty{display:none}.stack>*+*{margin-top:10px}.toggle{width:48px;height:29px;border:0;border-radius:20px;background:var(--ink);padding:4px}.toggle:after{content:"";display:block;width:21px;height:21px;border-radius:50%;background:var(--lime);margin-left:19px}.toggle.off{background:var(--mist)}.toggle.off:after{margin-left:0;background:var(--surface)}
.gate{min-height:100dvh;padding:70px 22px 24px;display:flex;justify-content:center}.gate-box{width:100%;max-width:390px}.gate-hero{margin-bottom:26px}.gate-hero .brand{font-size:32px}.gate-hero .brand-dot{width:20px;height:20px}.gate-hero h1{font-size:42px;line-height:1.02;letter-spacing:-2px;margin:22px 0 10px}.gate-tabs{display:flex;margin-bottom:14px}.gate-tabs button{flex:1;min-height:44px;border:0;border-bottom:2px solid var(--mist);background:transparent;color:var(--muted);font-weight:750}.gate-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--lime)}.gate-form{display:grid;gap:12px}.gate-error{color:var(--loss);min-height:20px;margin:0}.tos-box{background:var(--soft);border-radius:16px;padding:10px 13px}.tos-row{display:flex;gap:10px;align-items:flex-start;min-height:44px}.tos-row input{width:22px;height:22px;accent-color:var(--lime)}.tos-text,.tos-p{font-size:12px}.tos-h{font-weight:800}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-b) + 12px);z-index:90;display:grid;justify-items:center;gap:8px;pointer-events:none}.toast{max-width:90%;background:var(--ink);color:var(--paper);border-radius:16px;padding:10px 16px;box-shadow:var(--shadow)}.toast.is-error{background:var(--loss);color:#fff}.notif-item{display:block;border-bottom:1px solid var(--mist)}.notif-item .notif-row{border-bottom:0;padding-bottom:4px}.notif-item .notif-explorer-link{display:block;font-size:12px;padding:0 0 12px 44px;min-height:0}.notif-item .notif-retry{display:inline-flex;align-items:center;margin:0 0 12px 44px;min-height:44px;padding:0 16px;font-size:13px}.notif-row{display:flex;width:100%;gap:12px;padding:12px 0;border:0;border-bottom:1px solid var(--mist);background:transparent;color:var(--ink);text-align:left}.notif-row:disabled{opacity:1;cursor:default}.notif-main{display:block;flex:1}.notif-text,.notif-time{display:block}.notif-text{font-weight:700}.notif-time{color:var(--muted);font-size:11px}.notif-actions{display:grid;gap:6px}.home-leader-row{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid var(--mist);padding:12px 0;background:transparent;color:inherit;text-align:left}.home-leader-row:last-child{border-bottom:0}.home-leader-row .small,.home-leader-row .val{display:block}.three-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.three-money .mini{min-width:0;padding:11px}.three-money .mini b{font-size:16px;overflow-wrap:anywhere}.position-count,.position-updated{color:#b3c9c4;font-size:12px}.position-updated{margin-top:8px}
/* Giro 2 #4: la card nera in Home era spingente in verticale — il blocco
   "Dettagli" e la riga di aggiornamento si stringono attorno al numero. */
.accent .home-numbers summary{min-height:34px}.accent .home-numbers{margin-top:2px}.all-followed{margin-bottom:12px}
/* UXBRAND: passaggi iniziali separati dall'app, riepilogo economico e righe operative. */
/* position-manage-outcome */ .op-outcome{border-radius:14px;padding:12px;margin:10px 0;background:var(--soft);display:grid;gap:10px}.op-outcome p{margin:0;font-weight:700}.op-outcome[data-outcome="ok"] p{color:var(--gain)}.op-outcome[data-outcome="error"] p{color:var(--loss)}.op-outcome[data-outcome="pending"] p{color:var(--warn)}
.journey-backdrop{position:fixed;inset:0;z-index:80;background:var(--paper);display:grid;place-items:center;padding:22px;overflow:auto}body:has(.journey-backdrop) #app{visibility:hidden}body:has(.journey-backdrop)>.sheet-backdrop{z-index:85}.journey-card{width:min(100%,620px);background:var(--surface);border-radius:28px;padding:clamp(22px,5vw,42px);box-shadow:var(--shadow);display:grid;gap:16px}.journey-card h1{font:800 clamp(30px,5vw,48px)/1.04 var(--font-display);letter-spacing:-1.5px;margin:4px 0}.journey-card .brand{margin-bottom:12px}.risk-points{display:grid;gap:10px;margin:0;padding:0;list-style:none}.risk-points li{background:var(--soft);border-radius:14px;padding:12px 14px}.risk-points li:before{content:"✓";font-weight:900;color:var(--gain);margin-right:10px}.risk-consent{background:var(--soft);border:2px solid var(--mist);border-radius:16px;padding:12px}.risk-consent input{width:24px;height:24px;accent-color:var(--lime);flex:none}.onboarding-art{width:72px;height:72px;border-radius:22px;background:var(--lime);color:#102a2b;display:grid;place-items:center;font:800 32px var(--font-display)}.onboard-vaults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.onboard-vault{min-height:72px;border:2px solid transparent;background:var(--soft);color:var(--ink);border-radius:16px;padding:12px;text-align:left}.onboard-vault.is-selected{border-color:var(--ink)}.onboard-vault b,.onboard-vault span{display:block}.onboard-vault span{color:var(--muted);font-size:12px}.onboard-later{justify-self:center}.home-position-row{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid var(--mist);padding:12px 0;background:transparent;color:inherit;text-align:left}.home-position-row:last-child{border-bottom:0}.home-position-row .small,.home-position-row .val{display:block}.join-summary{background:var(--soft);border-radius:18px;padding:15px}.join-summary dl{display:grid;gap:8px;margin:12px 0 0}.join-summary .dl-row{border-top:1px solid var(--mist);padding-top:8px;align-items:flex-start}.join-summary dd{margin:0;max-width:62%;text-align:right}.notif-facts{display:block;color:var(--muted);font-size:12px;margin-top:3px}.label-with-info{display:inline-flex;align-items:center;gap:6px}.price-state{display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:var(--muted);font:700 11px/1.2 var(--font);white-space:nowrap}.price-state-live{color:var(--gain)}.price-state-untradeable{color:var(--loss)}.info-tip{position:relative;display:inline-flex!important;vertical-align:middle;overflow:visible}.info-trigger{position:relative;isolation:isolate;flex:none;width:20px;height:20px;min-height:20px;border:0;border-radius:0;background:transparent;color:var(--ink);font:800 11px var(--font);display:grid;place-items:center;padding:0}.info-trigger:before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border:1px solid var(--mist);border-radius:50%;background:var(--surface)}.info-popover{position:fixed;z-index:100;left:50%;bottom:16px;width:min(320px,calc(100vw - 32px));padding:12px 14px;border-radius:11px;background:var(--ink);color:var(--paper);font:500 13px/1.45 var(--font);text-transform:none;letter-spacing:normal;white-space:normal;text-align:left;box-shadow:var(--shadow);transform:translateX(-50%);visibility:hidden;opacity:0;pointer-events:none}.info-trigger:hover+.info-popover,.info-trigger:focus-visible+.info-popover,.info-trigger[aria-expanded=true]+.info-popover{visibility:visible;opacity:1}.price-state .info-tip,.kpi-cell .label-with-info,.kpi-tile .label-with-info,.position-grid .label-with-info{display:inline-flex!important}.chain-toggle-row .info-tip{display:inline-flex!important}.label-with-info .info-trigger,.price-state .info-trigger,.seg .info-trigger{width:20px;height:20px;min-height:20px;border:0;background:transparent;color:var(--ink);font-size:11px;flex:none}.info-popover,.info-tip .info-popover{width:min(320px,calc(100vw - 32px));padding:12px 14px;background:var(--ink);color:var(--paper);font-size:13px;line-height:1.45;font-weight:500;text-transform:none;letter-spacing:normal;white-space:normal;text-align:left}.label-with-info .info-popover,.price-state .info-popover{width:min(320px,calc(100vw - 32px));padding:12px 14px;background:var(--ink);color:var(--paper);font-size:13px;line-height:1.45;font-weight:500;text-transform:none;letter-spacing:normal;white-space:normal;text-align:left}@media(max-width:520px){.info-trigger,.label-with-info .info-trigger,.price-state .info-trigger,.seg .info-trigger{width:44px;height:44px;min-height:44px}.info-popover,.info-tip .info-popover,.label-with-info .info-popover,.price-state .info-popover{left:16px;right:16px;bottom:calc(16px + var(--safe-b));width:auto;transform:none}}@media(pointer:coarse){.info-trigger,.label-with-info .info-trigger,.price-state .info-trigger,.seg .info-trigger{width:44px;height:44px;min-height:44px}}
@media(max-width:520px){.journey-backdrop{padding:0;align-items:end}.journey-card{min-height:100dvh;border-radius:0;padding:calc(22px + var(--safe-t)) 22px calc(22px + var(--safe-b));align-content:center}.onboard-vaults{grid-template-columns:1fr}.join-summary .dl-row{display:grid}.join-summary dd{max-width:none;text-align:left}.label-with-info{align-items:flex-start}.three-money .label-with-info{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:3px}.three-money .info-trigger{grid-column:2;grid-row:1;margin-left:auto}}
.notif-dot{width:8px;height:8px;background:var(--lime);border-radius:50%}.wd-ok{width:64px;height:64px;margin:auto;border-radius:50%;background:var(--lime);color:#102a2b;display:grid;place-items:center;font-size:30px}.wd-ok-text{text-align:center}.label-row{display:flex;justify-content:space-between;align-items:center}.btn-mini{min-height:44px}.admin-intro{margin:0 0 8px;color:var(--muted)}.theme-picker{margin-left:auto;max-width:190px}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi-cell{background:var(--soft);border-radius:15px;padding:12px;min-width:0}.kpi-cell span{display:block;color:var(--muted);font-size:11px}.kpi-cell b{display:block;font-size:17px;margin-top:3px;overflow-wrap:anywhere}.vault-card-button{width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left}.admin-vault,.admin-user{border-top:1px solid var(--mist);padding-top:14px}/* UX-ADMIN #1: tabelle admin desktop dense con ricerca; su mobile tabelle e
   ricerca restano nascoste (admin-table/admin-desktop-only) e valgono le card. */
.admin-desktop-only{display:none}.admin-search{min-height:44px;font-size:14px;margin:0 0 10px;max-width:340px}.admin-mobile-list{display:grid;gap:12px}.admin-row-actions{white-space:nowrap;text-align:right}.admin-row-actions .btn-mini{margin-left:6px}
/* VAULTMODEL P6: dentro .admin-table le 3 azioni (Rinomina/Catene/Pausa) in
   una riga sola sforavano a 280px — da sole più della metà del deficit di
   larghezza della tabella. Qui vanno a capo su due righe, colonna più stretta. */
/* VAULTMODEL Ripresa 1 (coordinatore, 24/09 sera): le righe erano alte
   ~165px perche' i 3 bottoni andavano a capo su due/tre righe — qui una
   riga sola, compatta (padding/altezza ridotti SOLO dentro .admin-table,
   le card mobile restano invariate). */
.admin-table .admin-row-actions,.vault-catalog .admin-row-actions{white-space:nowrap;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:4px;max-width:none}
.admin-table .admin-row-actions .btn-mini{margin-left:0;padding:0 7px;min-height:30px;font-size:11px;white-space:nowrap}.btn-mini.is-danger{color:var(--loss)}.chain-edit{display:flex;flex-direction:column;gap:12px;background:var(--soft);padding:10px;border-radius:15px}.chain-edit .field label{font-size:12px}.chain-toggle-row{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--mist)}.chain-toggle-row input{width:24px;height:24px;accent-color:var(--lime);flex:none}.chain-toggle-row span{display:flex;flex-direction:row;align-items:center;white-space:nowrap;gap:6px}.chain-toggle-row .field-hint{margin:0}.chain-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chain-nt-positions{grid-column:1/-1}.chain-check{display:grid;place-items:center;gap:3px;font-size:11px;color:var(--muted)}.chain-check input{width:22px;height:22px;accent-color:var(--lime)}.entry-rule-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 0;border-top:1px solid var(--mist)}.entry-rule-row:first-child{border-top:0}.entry-rule-row .chain-check{display:flex;flex-direction:row;place-items:center;gap:8px;font-size:12px;color:var(--ink);flex:1 1 220px;text-align:left}.entry-rule-row .chain-check input{width:20px;height:20px;flex:none}.entry-rule-row .input{width:110px;flex:none;min-height:40px}.entry-rule-row .input:disabled{opacity:.45}.entry-rule-row .field-hint{flex-basis:100%;margin:0}.day-guard-block{background:var(--soft);border-radius:15px;padding:12px}.day-guard-block .section-head{margin-top:0}.day-guard-today{margin:10px 0 0;font-size:12px;font-weight:800;color:var(--ink)}.preview{background:var(--soft);border-radius:15px;padding:13px}.admin-leader-list{display:grid;gap:12px}.admin-leader{margin-top:0}.admin-chain-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}.admin-chain-tags .pill{padding:6px 9px}.admin-leader-metrics{display:grid;gap:5px;padding-top:5px;color:var(--muted);font-size:12px}.admin-leader-metrics b{color:var(--ink)}.admin-preview .dl-row{align-items:flex-start}.admin-preview dd{max-width:65%;overflow-wrap:anywhere}.admin-secondary{padding-top:14px}.admin-secondary summary{min-height:44px;display:flex;align-items:center;font-weight:800;cursor:pointer}.admin-secondary[open] summary{margin-bottom:10px}.btn-loading:after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}
/* position-manage-layout */ .pos-hero{background:var(--surface);border-radius:var(--r-card);padding:16px;margin:12px 0;box-shadow:var(--shadow)}.pos-hero-main span,.pos-hero-grid span,.pos-hero-exit span{display:block;font-size:12px;color:var(--muted)}.pos-hero-main b{font:800 30px/1.15 var(--mono)}.pos-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.pos-hero-grid b{font-family:var(--mono);overflow-wrap:anywhere}.pos-hero-exit{margin-top:12px}.pos-hero-exit .next-exit{margin-top:4px}.pos-state{background:var(--soft);color:var(--warn);border-radius:14px;padding:10px 12px;margin:0 0 12px;font-size:13px;font-weight:650}.pos-tech{margin-top:14px;color:var(--muted)}.pos-tech summary{min-height:44px;display:flex;align-items:center;font-weight:800;cursor:pointer}.pos-tech .mono{overflow-wrap:anywhere}@media(min-width:900px){.pos-hero-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* B1-fiducia (23 set 2026): storico e performance nella scheda vault */
.vhist-sub{font-size:13px;font-weight:850;margin:14px 0 7px}.vhist-table{display:grid;gap:8px}.vhist-row{background:var(--soft);border-radius:15px;padding:12px;display:flex;flex-direction:column;gap:5px}.vhist-metrics{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:12px;color:var(--muted)}.vhist-metrics b{color:var(--ink)}.vhist-reason{font-size:12px;color:var(--warn)}.pnl-chart{width:100%;height:auto;display:block;background:var(--soft);border-radius:15px;padding:8px}.pnl-chart rect.pos{fill:var(--gain)}.pnl-chart rect.neg{fill:var(--loss)}.pnl-chart line{stroke:var(--mist);stroke-width:1}.honest-note{background:var(--soft);border-left:3px solid var(--lime);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--muted)}
/* VAULTMODEL Fase 2: editor condiviso di uscita (ladder + preset). */
.exit-ladder-list{display:flex;flex-direction:column;gap:8px}.exit-ladder-row{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px;align-items:end}.exit-ladder-row .btn-mini{min-height:52px;padding:0}.exit-preset-seg button{font-size:12px;padding:0 4px}
@media(max-width:389px){.exit-ladder-row{grid-template-columns:1fr 1fr 32px}.exit-ladder-row .btn-mini{font-size:14px}}
/* N44b: impostazioni dell'iscrizione, separate dal flusso di join. */
.sheet-vault-settings{width:min(100%,720px)}.vault-settings-body{display:flex;flex-direction:column;gap:16px}.vault-settings-error{background:color-mix(in srgb,var(--loss) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--loss) 38%,var(--mist));border-radius:13px;color:var(--loss);font-size:13px;font-weight:750;padding:11px 12px}.vault-settings-warning{margin:0}.leader-token-settings{display:grid;gap:8px}.leader-token-setting{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--soft);border-radius:15px;padding:12px;cursor:pointer}.leader-token-setting>span:first-child{display:flex;flex-direction:column;min-width:0;gap:2px}.leader-token-setting small{color:var(--muted);overflow-wrap:anywhere}.leader-token-control{display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:190px;font-size:12px;font-weight:750;text-align:right}.leader-token-control input{width:22px;height:22px;accent-color:var(--lime);flex:none}.orphan-token-settings{display:grid;gap:8px}.orphan-token-settings .section-head{margin:0}.orphan-token-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--mist);padding-top:8px}.orphan-token-row .mono{min-width:0;overflow-wrap:anywhere}.vault-actions{display:flex;flex-wrap:wrap;gap:8px}.vault-actions>*{flex:1 1 auto;min-width:110px}
@media(max-width:480px){.leader-token-setting{align-items:flex-start;flex-direction:column}.leader-token-control{justify-content:flex-start;max-width:none;text-align:left}.vault-actions>*{flex-basis:100%}}
/* UX fase 2: andamento, catalogo candidati e card posizione ricca. */
.history-value-card{overflow:hidden}.history-value-card>.row{align-items:flex-start;gap:12px}.history-value-card>.row>div:first-child{min-width:0}.history-value-card>.row>.val{min-width:112px}.history-value-card>.row>.val .small{display:block}.history-view-tabs{width:210px;max-width:100%}.history-view-tabs button{min-height:38px}.chart-context{margin-top:7px;color:var(--muted);font-size:12px}.history-range{margin:16px 0 10px}.chart-value-legend{display:flex;justify-content:flex-end;gap:14px;color:var(--muted);font-size:11px;font-weight:750}.chart-value-legend span:before{content:"";display:inline-block;width:16px;height:3px;margin-right:6px;border-radius:99px;vertical-align:middle;background:var(--gain)}.chart-value-legend .chart-cash-key:before{background:var(--cyan)}.chart-wrap{position:relative}.chart-tip{position:absolute;top:6px;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:11px;font-weight:750;padding:4px 9px;border-radius:8px;pointer-events:none;white-space:nowrap;z-index:2}
.history-chart{display:block;width:100%;height:auto;min-height:190px;overflow:visible}.history-chart line{stroke:var(--mist);stroke-width:1}.history-chart text{fill:var(--muted);font:11px var(--font)}.history-chart .chart-area{fill:var(--gain);fill-opacity:.12}.history-chart .chart-line,.history-chart .chart-value-line,.history-chart .chart-cash-line{fill:none;stroke:var(--gain);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.history-chart .chart-last,.history-chart .chart-value-last{fill:var(--gain);stroke:var(--surface);stroke-width:3}.history-chart .chart-cash-area{fill:var(--cyan);fill-opacity:.1}.history-chart .chart-cash-line{stroke:var(--cyan);stroke-width:2}.history-chart.crit .chart-area{fill:var(--loss)}.history-chart.crit .chart-line,.history-chart.crit .chart-value-line{stroke:var(--loss)}.history-chart.crit .chart-last,.history-chart.crit .chart-value-last{fill:var(--loss)}.history-chart .flow line{stroke-width:1}.history-chart .flow circle{stroke:var(--surface);stroke-width:2}.history-chart .deposit line{stroke:var(--gain)}.history-chart .deposit circle{fill:var(--gain)}.history-chart .withdraw line{stroke:var(--loss)}.history-chart .withdraw circle{fill:var(--loss)}.chart-empty{display:grid;place-items:center;min-height:150px;color:var(--muted);background:var(--soft);border-radius:16px;margin-top:10px}.chart-method{margin-top:6px}.chart-method p{margin:0 0 8px}.candidate-card{margin-bottom:18px}.candidate-list{display:grid;margin-top:8px}.candidate-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--mist)}.candidate-row .val{flex:none}.nd{color:var(--muted);text-decoration:underline dotted;cursor:help}.rich-position{gap:12px}.position-block{border-top:1px solid var(--mist);padding-top:13px}.position-block-title{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:9px}.position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.position-grid>div,.position-now>div{background:var(--soft);border-radius:13px;padding:10px;min-width:0}.position-grid span,.position-now span{display:block;color:var(--muted);font-size:11px}.position-grid b,.position-now b{display:block;margin-top:3px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.position-now{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-bottom:9px}.position-now b{font-size:17px}.next-exit{font-weight:760;background:var(--soft);border-radius:13px;padding:11px}.partial-list{display:grid;gap:6px;margin-top:9px;font-size:12px}.partial-list .dl-row{border-top:1px solid var(--mist);padding-top:6px}.rich-position .field-hint{margin:7px 0 0}.rich-position .pc-actions{margin-top:12px}.rich-position .pos-details{font-size:inherit;color:inherit}.rich-position .pos-details>.position-block:first-of-type{border-top:0;padding-top:0}.pc-summary{margin-bottom:0}
.nt-card-line,.nt-risk-value{display:flex;align-items:center;gap:6px}.nt-light{display:inline-block;flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--muted)}.nt-light-green{background:var(--gain)}.nt-light-yellow,.nt-light-young{background:var(--warn)}.nt-light-red{background:var(--loss)}.nt-light-unknown{background:var(--muted)}
/* Tabelle responsive: sul telefono resta esattamente la presentazione a card. */
.table-wrap{max-width:100%;overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{padding:10px 9px;border-bottom:1px solid var(--mist);color:var(--muted);font-size:11px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}table.data th.sortable{cursor:pointer;user-select:none}table.data th.sortable:hover,table.data th.is-sorted{color:var(--ink)}table.data td{padding:12px 9px;border-bottom:1px solid var(--mist);vertical-align:middle}table.data .n{text-align:right;font-variant-numeric:tabular-nums}table.data tr.clickable{cursor:pointer}.vault-catalog,.positions-table,.history-table,.admin-table,.admin-key-hint{display:none}.home-kpi-row{display:none}
@keyframes sheet-in{from{transform:translateY(25px);opacity:.6}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:389px){.screen,.app-header{padding-left:16px;padding-right:16px}.page-title{font-size:36px}.three-money{grid-template-columns:1fr}.three-money .mini{display:flex;align-items:center;justify-content:space-between}.three-money .mini b{margin:0}.position-grid,.position-now{grid-template-columns:1fr}}@media(min-width:700px){.sheet-backdrop{align-items:center}.sheet{border-radius:28px;max-height:86dvh}}
/* Desktop reale (desk2, 24 set 2026): barra laterale fissa al posto dei tab
   in alto, griglia a più colonne, densità alta (meno padding, titoli più
   piccoli del mobile) — non più la vista mobile allargata. #app è già la
   griglia: i tre figli diretti (header, main.screen, nav.tabbar) si
   posizionano per grid-area senza toccare il loro ordine nel DOM. */
@media(min-width:700px) and (max-width:899px){
  .app-header,.screen{max-width:720px}.tabbar{max-width:720px;margin:auto}
}
/* UX-03 (audit 30/09): un solo breakpoint (700) per tabella contro card in Vault e Posizioni; il dettaglio è una pagina (#vault/<id>, #positions/<id>), niente pannello laterale. */
@media(min-width:700px){.vault-card-list,.positions-cards{display:none}.vault-catalog,.positions-table{display:block;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:auto}.positions-table{margin-top:14px;overflow-x:auto}.positions-table table,.history-table table{table-layout:fixed;width:100%}.positions-table table.data th{white-space:normal;overflow-wrap:anywhere}}
/* P33: posizioni chiuse, card sotto 700 e tabella sopra (stesso breakpoint di Vault e Posizioni) */
.closed-table{display:none}@media(min-width:700px){.closed-cards{display:none}.closed-table{display:block;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);overflow-x:auto}.closed-table table{table-layout:fixed;width:100%}.closed-table table.data th{white-space:normal;overflow-wrap:anywhere}.closed-table td{overflow-wrap:anywhere}}
/* UX-04: sulla pagina vault larga, token e round su due colonne (la pagina arrivava a 13.000 px) */
@media(min-width:900px){.detail-page .vhist-table{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vault-list{margin-top:18px}.detail-page{max-width:1040px}.back-link{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-weight:800;text-decoration:none}.back-link:hover{color:var(--ink)}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 6px}.detail-actions:empty{display:none}.pc-open-hint{margin-top:8px}
@media(min-width:900px){
  :root{--tabbar-h:0px}
  #app{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100dvh}
  .gate{grid-column:1/-1;grid-row:1/-1}
  .app-header{grid-column:1/-1;height:60px;max-width:none;margin:0;padding:0 28px;align-items:center}
  .screen{grid-column:2;grid-row:2;max-width:1440px;padding:20px 32px 44px;margin:0}
  .page-title{font-size:30px;letter-spacing:-1px}
  .hero-value{font-size:36px}
  .tabbar{grid-column:1;grid-row:2;position:static;flex-direction:column;align-items:stretch;width:auto;height:auto;transform:none;top:auto;left:auto;right:auto;bottom:auto;padding:18px 12px;gap:2px;background:var(--surface);border-right:1px solid var(--mist);backdrop-filter:none}
  .tabbar button{min-height:42px;flex:none;flex-direction:row;justify-content:flex-start;gap:11px;padding:0 12px;border-radius:11px;font-size:13px}
  .tabbar button[aria-selected=true]{background:var(--soft)}
  .tabbar button[aria-selected=true]:before{content:none}
  .toast-wrap{bottom:22px}
  .home-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 4px}
  .kpi-tile{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);padding:13px 15px;min-width:0}
  .kpi-tile span{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
  .kpi-tile b{display:block;font-size:21px;margin-top:6px;font-weight:850;letter-spacing:-.5px;overflow-wrap:anywhere}
  #homeAccentCard{display:none}
  .home-desktop-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);grid-template-areas:"chart leaders" "chart activity" "money money";gap:18px 22px;align-items:start;margin-top:16px}
  .home-desktop-grid [data-gr=chart]{grid-area:chart}
  .home-desktop-grid [data-gr=leaders]{grid-area:leaders}
  .home-desktop-grid [data-gr=activity]{grid-area:activity}
  .home-desktop-grid [data-gr=money]{grid-area:money}
  .home-desktop-grid .section-head{margin-top:0}
  .history-table,.admin-table{display:block;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:auto}.history-cards{display:none}.history-table{margin-top:14px}
  .sheet-backdrop{align-items:center;padding:32px}.sheet{border-radius:28px;max-width:680px}.confirm-box{max-width:420px}
  .settings-desktop-grid,.admin-desktop-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(340px,1.15fr);gap:22px;align-items:start;margin-top:14px}
  /* VAULTMODEL P6 (24 set 2026): le tabelle admin (min-width 680px, .admin-table
     table) erano strette nella colonna .85fr della griglia condivisa con
     .settings-desktop-grid — a 1440x900 restava meno di 500px, colonne come
     "Stato"/"In pausa" finivano tagliate fuori dal contenitore visibile (solo
     scroll interno, senza indizio). La lista prende la parte larga, il modulo
     "Aggiungi leader"/"Accesso admin" si accontenta della stretta: qui override
     mirato, .settings-desktop-grid resta quello di sempre. */
  .admin-desktop-grid{grid-template-columns:minmax(0,1fr)} /* 28/09 Ste: una colonna sola, card una sotto l'altra (la colonna da 220px le rendeva inutilizzabili) */
  .admin-leader-list{grid-template-columns:repeat(1,minmax(0,1fr))}.admin-key-hint{display:block;margin:14px 0;padding:10px 13px;border-left:3px solid var(--lime);background:var(--soft);border-radius:10px;color:var(--muted);font-size:12px}.admin-tabs{max-width:720px;margin:16px 0}.admin-table{margin:12px 0 18px}.admin-table tr:focus,.admin-table tr.is-key-open{outline:3px solid var(--lime);outline-offset:-3px}.admin-vault,.admin-user{scroll-margin-top:24px}.admin-desktop-only{display:block;max-width:340px}.admin-mobile-list{display:none}.admin-table table{min-width:680px}.admin-table td{padding:8px 6px}.admin-table th{padding:10px 6px}.admin-table .badge{white-space:nowrap}
}
/* GAS-TREASURY: pannello admin della tesoreria gas (gastreas-admin). */
.gt-deposit{margin-top:12px}.gt-deposit-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gt-deposit-row .addr-row{flex:1;min-width:220px}.qr-svg{display:inline-block;line-height:0}.qr-svg svg{background:#fff;padding:6px;border-radius:12px}
.gas-simple-list{display:grid;gap:10px}.gas-simple-row{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(110px,.8fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(190px,auto);gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--mist);border-radius:16px;background:var(--soft)}.gas-simple-chain{font-weight:850;overflow-wrap:anywhere}.gas-simple-value{display:grid;gap:2px}.gas-simple-value span{color:var(--muted);font-size:12px}.gas-simple-value b{font-size:15px}.gas-simple-status{justify-self:start}.gas-simple-refill{white-space:nowrap}.gas-auto-refill{padding-top:4px}.gas-details{border-top:1px solid var(--mist);padding-top:14px}.gas-details>summary{cursor:pointer;font-weight:850}.gas-details-body{margin-top:16px}.gas-details-body>#gasReportCard{box-shadow:none;border:1px solid var(--mist)}
.gas-operator-section{display:grid;gap:10px;border-top:1px solid var(--mist);padding-top:14px}.gas-operator-section>.card-note{margin:0}.gas-operator-list{display:grid;gap:8px}.gas-operator-row{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(190px,1.35fr) minmax(100px,.65fr) minmax(180px,1fr) auto;gap:12px;align-items:center;padding:11px 14px;border:1px solid var(--mist);border-radius:14px}.gas-operator-row .gas-simple-chain,.gas-operator-native,.gas-operator-stable,.gas-operator-copy{display:grid;gap:2px;min-width:0}.gas-operator-row span,.gas-operator-row small{color:var(--muted);font-size:12px}.gas-operator-row .gas-simple-chain span{color:inherit;font-size:inherit}.gas-operator-native b,.gas-operator-stable b{font-size:14px}.gas-operator-address{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;padding:0;border:0;background:none;color:var(--ink);cursor:pointer}.gas-operator-address>span{font-family:inherit;color:var(--accent);font-weight:800}.gas-operator-status:empty{display:none}
.gas-admin-tools{display:grid;gap:18px;margin-top:8px}.gas-admin-section{border-top:1px solid var(--mist);padding-top:16px}.gas-admin-section .section-head{margin-top:0}.gas-daily-grid,.gas-export-grid{display:grid;gap:10px}.gas-export-family{min-width:0;padding:12px;border-radius:16px;background:var(--soft)}.gas-export-family .settings-row{align-items:flex-start}.gas-export-family .settings-row>span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere;word-break:break-all}.gas-export-key{margin-top:10px;max-height:120px;overflow:auto}.gas-admin-section .warn-box{margin:0}.gas-admin-section .success-box a,.gas-admin-section .warn-box a{font-weight:850;text-decoration:underline}.gas-admin-section select.input{appearance:auto}.gas-admin-section .mono.input{font-size:12px}
@media(min-width:1200px){.gas-daily-grid,.gas-export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.gas-operator-row{grid-template-columns:1fr 1fr}.gas-operator-row .gas-simple-chain,.gas-operator-status{grid-column:1/-1}}
@media(max-width:700px){.gas-simple-row{grid-template-columns:1fr 1fr}.gas-simple-chain,.gas-simple-status,.gas-simple-refill{grid-column:1/-1}.gas-simple-refill{width:100%;white-space:normal}}
@media(max-width:520px){.gas-admin-tools{gap:14px}.gas-admin-section{padding-top:14px}.gas-export-family{padding:10px}.gas-admin-section .settings-row{align-items:flex-start;gap:8px}.gas-admin-section .settings-value{max-width:52%}.gas-admin-section .confirm-actions{grid-template-columns:1fr}.gas-simple-row{padding:12px}.gas-operator-row{grid-template-columns:1fr;padding:12px}.gas-operator-row .gas-simple-chain,.gas-operator-status{grid-column:auto}.gas-details-body{margin-top:12px}}

/* N42b: preferenze profilo. */
.profile-prefs-card{display:grid;gap:16px}
.profile-pref{display:grid;gap:8px}
.profile-pref+.profile-pref{border-top:1px solid var(--mist);padding-top:16px}
.profile-pref>label{font-weight:730}
.profile-pref-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.profile-pref-action .btn-soft{min-width:88px}
.profile-prefs-message{min-height:0;margin:0}
@media(max-width:520px){
  .profile-pref-action{grid-template-columns:1fr}
  .profile-pref-action .btn-soft{width:100%}
}

/* N49: kill switch globale e controlli di rischio. */
.kill-risk-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:16px 18px;border:2px solid var(--loss);border-radius:var(--r-card);background:color-mix(in srgb,var(--loss) 9%,var(--surface));box-shadow:var(--shadow)}
.kill-risk-banner .btn-primary{flex:none;min-height:44px}
.kill-risk-option.is-paused{color:var(--loss)}
.kill-risk-option>span:first-child{display:grid;gap:2px}
.risk-panel{padding-top:5px;padding-bottom:5px}
.risk-control-list{display:grid}
.risk-control{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--mist)}
.risk-control:last-child{border-bottom:0}
.risk-protects-label{font-weight:800}
.risk-control-value{flex:none;max-width:42%;padding:5px 9px;border-radius:999px;background:var(--soft);font-weight:800;text-align:right;overflow-wrap:anywhere}
@media(max-width:520px){
  .kill-risk-banner{align-items:stretch;flex-direction:column}
  .kill-risk-banner .btn-primary{width:100%}
  .risk-control{align-items:stretch;flex-direction:column;gap:8px}
  .risk-control-value{max-width:none;align-self:flex-start;text-align:left}
}
/* N47e: import wallet esistente. */
.wallet-import-open{margin-top:16px}
.wallet-import-form{display:grid;gap:16px}
.wallet-import-warnings{display:grid;gap:10px;background:var(--soft);border-radius:16px;padding:14px}
.wallet-import-warnings p{margin:0;color:var(--muted);font-size:13px}
.wallet-import-confirm{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:800;cursor:pointer}
.wallet-import-confirm input{width:22px;height:22px;flex:none;accent-color:var(--lime)}
.wallet-import-error{min-height:0;margin:0}
@media(min-width:700px){
  .wallet-import-sheet{max-width:620px}
  .wallet-import-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wallet-import-warnings,.wallet-import-confirm,.wallet-import-error,.wallet-import-form .btn-block{grid-column:1/-1}
}

/* admin: sezioni e card richiudibili (28/09) */
.admin-user-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.admin-user-actions>*{flex:1 1 180px;min-width:0}
.adm-head{cursor:pointer;user-select:none;position:relative;padding-right:28px}
.adm-head::after{content:'▾';position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;transition:transform .15s}
.adm-collapsed>.adm-head::after{transform:translateY(-50%) rotate(-90deg)}
.adm-collapsed>:not(.adm-head){display:none!important}

/* fee-user: override atomico per utente nella card admin Fee. */
.fee-override-section{display:grid;gap:8px;padding-top:4px}
.fee-override-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.fee-override-row small{display:block;color:var(--muted);margin-top:2px}
.fee-user-form{display:grid;gap:12px;padding-top:4px}
.fee-bps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:720px){
  .fee-override-row{grid-template-columns:minmax(0,1fr) auto}
  .fee-override-row .btn-mini{grid-column:1/-1}
  .fee-bps-grid{grid-template-columns:1fr}
}

/* Regola della singola posizione: riusa editor e righe responsive esistenti. */
.pos-rule-actions{margin-top:10px}
.pos-rule-editor{display:grid;gap:12px;margin-top:12px;padding:12px;background:var(--soft);border-radius:15px}
.pos-rule .gate-error:empty{display:none}
.alert-list{display:grid;gap:12px}
.alert-row{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--mist);overflow-wrap:anywhere}
.alert-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.alert-row-head time{color:var(--muted);font-size:12px}
.alert-row b{font-size:15px}

/* leader-holdings-ui: token del leader separati per rete attiva. */
.leader-token-groups{display:grid;gap:16px;margin-top:10px}
.leader-token-group{display:grid;gap:8px;min-width:0}
.leader-token-chain{display:flex;align-items:center;gap:8px;padding:0 2px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.leader-token-chain b{color:var(--text);font-size:13px}
.leader-token-chain span:last-child{margin-left:auto}
@media(max-width:480px){.leader-token-group .val{max-width:46%;text-align:right}.leader-token-group .mono{overflow-wrap:anywhere}}
/* UX-11: senza "Puoi investire fino a" (non calcolabile) restano 2 riquadri */
@media(min-width:390px){.three-money.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* leader-weight-tokens: casella admin "Conta nel peso" + badge token morto */
.leader-weight-control{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:13px;color:var(--muted)}
.leader-dead-badge{margin-left:auto;color:var(--warn);border-color:var(--warn)}

/* manual-open: foglio "Apri posizione" */
.open-pos-cta{margin:12px 0 4px}.open-paste{display:flex;gap:8px}.open-paste .input{flex:1}.open-addr{overflow-wrap:anywhere}.open-token{background:var(--soft);border-radius:16px;padding:13px}.open-ack{display:flex;gap:10px;align-items:flex-start}.open-ack input{width:22px;height:22px;flex:none;accent-color:var(--lime)}.open-preview{display:grid;gap:4px}.open-amounts,.open-slips,.open-exits,.open-chains{flex-wrap:wrap}
/* admin-treasury-fees: cassa per rete, fee e gas (card, niente tabelle) */
.gt-flows{border-top:1px solid var(--mist);padding-top:14px}.gt-flow{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--mist);border-radius:16px;min-width:0}.gt-flow-head{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;min-width:0}.gt-flow-head>span{color:var(--muted);font-size:13px}.gt-flow-head>span b{color:var(--ink)}.gt-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gt-flow-cell{display:grid;gap:2px;background:var(--soft);border-radius:12px;padding:10px;min-width:0}.gt-flow-cell span,.gt-flow-cell small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.gt-flow-cell b{font-size:15px}.gt-flow-moves>summary{cursor:pointer;font-weight:800}.gt-flow-move{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--mist);min-width:0;overflow-wrap:anywhere}.gt-flow-move small{display:block;color:var(--muted);font-size:12px}.gt-flow-amt{font-weight:800;white-space:nowrap}
@media(max-width:520px){.gt-flow-grid{grid-template-columns:1fr 1fr}.gt-flow-move{grid-template-columns:1fr auto}.gt-flow-move>div:last-child{grid-column:1/-1}.gt-flow{padding:12px}}
/* position-manage-panel: Compra e Vendi separati e riconoscibili (verde / rosso) */
.btn-buy{border:0;border-radius:var(--r-control);min-height:52px;padding:0 16px;font-weight:800;background:var(--gain);color:#fff}
.manage-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.manage-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border-radius:var(--r-control);padding:14px;min-height:84px;background:var(--surface);color:var(--ink);border:2px solid}
.manage-tile b{font-size:17px}.manage-tile span{font-size:12px;color:var(--muted)}
.manage-buy{border-color:var(--gain)}.manage-buy b{color:var(--gain)}
.manage-sell{border-color:var(--loss)}.manage-sell b{color:var(--loss)}
/* position-manage-sell-amount */
.sell-mode{margin-bottom:8px}.sell-summary{margin:10px 0}.sell-summary .dl-row dd{text-align:right}
.sell-dust{background:var(--soft);color:var(--warn);border-radius:12px;padding:10px 12px;font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* admin-nav: barra delle sezioni admin, sempre visibile; su mobile scorre in orizzontale */
.admin-nav{position:sticky;top:0;z-index:5;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:10px -4px 14px;padding:8px 4px;background:var(--paper)}.admin-nav .chip{flex:0 0 auto;font-weight:800}
/* admin-overview: panoramica admin (allarmi aperti + 8 numeri, ognuno porta alla sua sezione) */
.admin-overview{margin-top:4px}.alarm-list{display:grid;gap:8px}.admin-alarm{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 14px;border:0;border-left:4px solid var(--warn);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);font:inherit;font-weight:750;text-align:left;cursor:pointer}.admin-alarm.is-crit{border-left-color:var(--loss)}
.admin-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-tile{border:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);padding:12px 14px;min-width:0}.admin-tile span{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.admin-tile b{display:block;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:19px;margin-top:5px;font-weight:850;overflow-wrap:anywhere}.admin-tile.is-warn b{color:var(--loss)}
@media(min-width:900px){.admin-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}
/* admin-mobile-lists: azioni distruttive dietro "Altre azioni" nelle card admin */
.admin-more{margin-top:8px}.admin-more summary{min-height:44px;display:flex;align-items:center;color:var(--muted);font-weight:800;cursor:pointer}.admin-more[open] summary{margin-bottom:8px}
.admin-leader>.vault-actions>.btn-block{flex:1 1 0;width:auto}
