:root{color-scheme:dark;--bg:#06101c;--surface:#0e1a2b;--surface2:#13233a;--line:#263a54;--text:#f4f7fb;--muted:#9db0c6;--accent:#68e2aa;--warn:#f0c75e;--danger:#ff716c;--blue:#4da3ff;--magenta:#ff4fca;--purple:#9b72ff;--cyan:#42e7e0;--mix:#67ffd2;--shadow:0 18px 50px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0,rgba(77,163,255,.1),transparent 30rem),radial-gradient(circle at 0 0,rgba(104,226,170,.08),transparent 26rem),var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin-top:0}.eyebrow{margin:0 0 .25rem;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.subtitle{margin:0;color:var(--muted);font-size:.9rem}.app-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem clamp(1rem,4vw,2rem);background:rgba(6,16,28,.9);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.header-actions,.button-row,.play-tools,.action-topline,.history-heading,.log-heading,.operation-line{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.status-pill,.source-badge,.operation-badge{display:inline-flex;align-items:center;min-height:30px;padding:.35rem .65rem;border-radius:999px;font-size:.74rem;font-weight:850;letter-spacing:.04em;border:1px solid var(--line)}.status-pill{color:var(--accent)}.status-pill.offline{color:var(--warn)}.page-shell,footer{width:min(1240px,calc(100% - 2rem));margin:1rem auto}.panel,.action-panel,.metric-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(19,35,58,.97),rgba(8,17,31,.98));box-shadow:var(--shadow)}.panel,.action-panel{border-radius:1.1rem;overflow:hidden;margin-bottom:.8rem}.panel-heading,.details-body{padding:1rem}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.panel-heading h2{margin:0}.compact-label{display:flex;align-items:center;gap:.5rem;color:var(--muted)}.compact-label select{width:auto}.table-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:0 1rem 1rem}.table-tab{padding:.75rem;border:1px solid var(--line);border-radius:.8rem;background:#091525;color:var(--text);text-align:left;cursor:pointer}.table-tab strong,.table-tab small{display:block}.table-tab small{margin-top:.25rem;color:var(--muted)}.table-tab.selected{border-color:var(--accent)}.table-tab.active{box-shadow:inset 0 0 0 2px rgba(104,226,170,.18)}.action-panel{padding:1rem}.action-topline{justify-content:space-between}.operation-badge.passed{color:var(--accent);border-color:rgba(104,226,170,.4)}.operation-badge.pending{color:var(--warn);border-color:rgba(240,199,94,.4)}.operation-badge.failed{color:var(--danger);border-color:rgba(255,113,108,.4)}.operation-badge.bypassed{color:#bdccff}.button.tiny{min-height:30px;padding:.3rem .55rem}.button.warning{background:rgba(240,199,94,.12);color:#ffe7a6;border-color:rgba(240,199,94,.35)}.signal-assessment{display:grid;grid-template-columns:auto auto;gap:.1rem .55rem;min-width:220px;padding:.6rem .75rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(255,255,255,.025)}.signal-assessment strong{font-size:1.35rem;grid-row:1/3;grid-column:1}.signal-assessment span,.signal-assessment small{grid-column:2}.signal-assessment.risk-green{border-color:#48dd8e}.signal-assessment.risk-yellow{border-color:#ffd356}.signal-assessment.risk-red{border-color:#ff765f}.assessment-title{font-size:.68rem;color:var(--muted);text-transform:uppercase}.action-main{display:grid;grid-template-columns:minmax(250px,390px) 1fr;gap:1.2rem;align-items:center;margin-top:1rem}.active-box{min-height:130px;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#081422}.active-numbers{margin-top:.8rem;font-size:clamp(1.45rem,5vw,2.4rem);font-weight:900;letter-spacing:.08em}.source-c5{--source:#e8f0ff}.source-blue{--source:var(--blue)}.source-magenta{--source:var(--magenta)}.source-purple{--source:var(--purple)}.source-cyan{--source:var(--cyan)}.source-mix{--source:var(--mix)}.source-badge[class*="source-"]{color:var(--source);border-color:color-mix(in srgb,var(--source) 55%,transparent)}.last-outcome{padding:.5rem .65rem;border:1px solid var(--line);border-radius:.65rem;background:rgba(255,255,255,.03)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:.8rem 0}.metric-card{min-height:100px;border-radius:.9rem;padding:.8rem;display:flex;flex-direction:column;justify-content:center}.metric-card>span{font-size:.74rem;color:var(--muted);font-weight:800}.metric-card strong{font-size:1.35rem;margin:.2rem 0}.metric-card small{color:var(--muted)}.metric-card.emphasis{border-color:rgba(104,226,170,.45)}.metric-card.debt{border-color:rgba(240,199,94,.35)}.play-panel{padding-bottom:1rem}.number-grid{display:grid;grid-template-columns:repeat(10,minmax(42px,1fr));gap:.45rem;padding:0 1rem 1rem}.number-button{position:relative;min-height:55px;border:2px solid rgba(255,255,255,.12);border-radius:.8rem;color:white;font-weight:900;cursor:pointer;overflow:visible}.number-button.red{background:linear-gradient(145deg,#c33c55,#792235)}.number-button.black{background:linear-gradient(145deg,#303c52,#111a28)}.number-button.green{background:linear-gradient(145deg,#21986e,#0b503b)}.number-button.duo-target{box-shadow:0 0 0 4px rgba(240,199,94,.92),0 0 22px rgba(240,199,94,.48);border-color:#ffe49a;transform:translateY(-1px)}.history-block{padding:0 1rem}.history-heading{justify-content:space-between}.history-heading h3{margin:0}.history-heading span{color:var(--muted);font-size:.8rem}.history-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}.number-chip{display:grid;place-items:center;min-width:31px;height:31px;padding:0 .35rem;border-radius:999px;background:#13233a;border:1px solid var(--line);font-weight:800}.number-chip.latest{border-color:var(--accent)}summary{padding:1rem;cursor:pointer;font-weight:850;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:'＋';float:right;color:var(--accent)}details[open]>summary::after{content:'−'}details[open]>summary{border-bottom:1px solid var(--line)}input,textarea,select{width:100%;color:var(--text);background:#071321;border:1px solid var(--line);border-radius:.7rem;padding:.7rem;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(104,226,170,.1)}label{display:grid;gap:.35rem;color:var(--muted);font-size:.85rem;font-weight:750}.form-row,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.75rem 0}.settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.setting-action{display:flex;align-items:end;gap:.5rem}.full-width{grid-column:1/-1}.button{min-height:40px;padding:.6rem .8rem;border-radius:.7rem;border:1px solid transparent;font-weight:800;cursor:pointer}.button.primary{background:var(--accent);color:#06130d}.button.secondary{background:#18304e;color:var(--text);border-color:var(--line)}.button.ghost{background:transparent;color:var(--muted);border-color:var(--line)}.button.danger{background:rgba(255,113,108,.12);color:#ffd9d6;border-color:rgba(255,113,108,.35)}.button:disabled{opacity:.45;cursor:not-allowed}.checkbox-label,.switch-label{display:flex;align-items:center;gap:.45rem}.checkbox-label input,.switch-label input,.feature-switch input,.mini-switch input{width:auto}.feature-switch{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem;border:1px solid var(--line);border-radius:.75rem}.feature-switch span{display:grid;gap:.18rem}.feature-switch small{color:var(--muted);font-weight:500}.risk-switch{border-color:rgba(255,113,108,.22)}.strategy-description,.accounting-description,.diagnostic-summary{padding:.75rem;border-radius:.75rem;background:rgba(77,163,255,.07);border:1px solid rgba(77,163,255,.18);color:#d7e9ff;line-height:1.45}.accounting-controls{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:.75rem;align-items:center}.source-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.source-card{--source:#dceaff;border:1px solid var(--line);border-left:5px solid var(--source);border-radius:.9rem;padding:.8rem;background:rgba(255,255,255,.025)}.source-card.risk-green{box-shadow:inset 0 0 0 1px rgba(76,224,150,.28)}.source-card.risk-yellow{box-shadow:inset 0 0 0 1px rgba(255,212,92,.25)}.source-card.risk-red{box-shadow:inset 0 0 0 1px rgba(255,109,85,.25)}.source-card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.source-card-head>div{display:flex;align-items:center;gap:.45rem}.source-color-dot{width:13px;height:13px;border-radius:50%;background:var(--source);display:inline-block}.source-card p{color:var(--muted);font-size:.85rem}.source-score{display:flex;align-items:center;gap:.7rem;margin:.55rem 0}.source-score strong{font-size:1.3rem}.source-score span{color:var(--muted);font-size:.82rem}.source-numbers{display:flex;gap:.35rem;flex-wrap:wrap;min-height:30px}.source-numbers span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 .3rem;border-radius:.55rem;background:#13233a;border:1px solid color-mix(in srgb,var(--source) 45%,var(--line));font-weight:850}.source-card small{display:block;color:var(--muted);margin-top:.45rem}.virtual-stats{font-size:.75rem}.always-on{font-size:.7rem;color:var(--accent);font-weight:900}.mini-switch{display:flex;align-items:center;gap:.35rem}.use-source{margin-top:.65rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{padding:.55rem;border-bottom:1px solid var(--line);text-align:right;font-size:.83rem}th{color:var(--muted);text-transform:uppercase;font-size:.72rem}th:nth-child(2),td:nth-child(2){text-align:left}.current-row{background:rgba(240,199,94,.12)}.top-five{background:rgba(104,226,170,.05)}.log-heading{justify-content:space-between;margin-top:1rem}.event-log{display:grid;gap:.5rem;max-height:420px;overflow:auto}.log-entry{padding:.65rem;border-radius:.7rem;border:1px solid var(--line);background:#081421}.log-entry strong{color:var(--accent);font-size:.78rem}.log-entry p{margin:.2rem 0;font-size:.84rem}.log-entry time{color:var(--muted);font-size:.7rem}.hint,.empty{color:var(--muted);font-size:.85rem;line-height:1.45}.file-button{display:inline-flex;width:auto}.toast{position:fixed;left:50%;bottom:1rem;z-index:99;transform:translateX(-50%);width:min(92vw,540px);padding:.85rem 1rem;border-radius:.8rem;background:#e9fff5;color:#0a281b;box-shadow:var(--shadow);font-weight:800;text-align:center}.toast.error{background:#ffe7e5;color:#501411}footer{text-align:center;color:var(--muted);font-size:.8rem;margin-bottom:2rem}
@media(max-width:1000px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-grid{grid-template-columns:repeat(8,minmax(42px,1fr))}.accounting-controls{grid-template-columns:1fr 1fr}.source-cards{grid-template-columns:1fr}}
@media(max-width:700px){.app-header{align-items:flex-start}.subtitle{display:none}.page-shell,footer{width:min(100% - 1rem,1240px)}.action-main{grid-template-columns:1fr}.action-topline{align-items:stretch}.signal-assessment{width:100%}.table-tabs{grid-template-columns:1fr}.metrics-grid{gap:.45rem}.metric-card{min-height:92px}.number-grid{grid-template-columns:repeat(6,minmax(42px,1fr))}.settings-grid,.form-row,.accounting-controls{grid-template-columns:1fr}.panel-heading{align-items:flex-start;flex-direction:column}.active-numbers{font-size:1.55rem}}
@media(max-width:390px){.number-grid{grid-template-columns:repeat(5,minmax(42px,1fr))}}

/* v5.6.0 — Protezione selezione 2.0 */
.safety-status {
  display: block;
  margin-top: .18rem;
  color: #dce8f6;
  font-weight: 700;
  opacity: .9;
}
.safety-switch {
  border-color: rgba(92, 214, 147, .42) !important;
  background: rgba(22, 67, 48, .18);
}
.safety-switch input:checked + span strong { color: #8ff0b8; }
.source-resolved-stop {
  border-color: rgba(255, 173, 82, .55);
  background: rgba(95, 47, 11, .25);
  color: #ffd7a1;
}
.source-mother {
  display: block;
  margin-top: .4rem;
  color: var(--muted, #9fb0c3);
  font-size: .78rem;
  line-height: 1.35;
}

/* Duo Full Auto e Guard tavolo */
.automation-panel { padding: 1rem; border-color: rgba(75, 196, 255, .28); background: linear-gradient(145deg, rgba(14, 37, 66, .9), rgba(8, 20, 36, .96)); }
.mode-picker { min-width: min(100%, 280px); }
.automation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin: .8rem 0; }
.automation-grid article { min-height: 94px; padding: .75rem; border: 1px solid var(--line); border-radius: .85rem; background: rgba(255,255,255,.025); display: flex; flex-direction: column; justify-content: center; }
.automation-grid span { color: var(--muted); font-size: .74rem; font-weight: 800; }
.automation-grid strong { margin: .2rem 0; font-size: 1.25rem; }
.automation-grid small { color: var(--muted); line-height: 1.35; }
.auto-balance { border-color: rgba(75, 196, 255, .36); }
.lock-badge { display: inline-flex; margin-left: .55rem; padding: .18rem .42rem; border-radius: 999px; color: #ffe39b; border: 1px solid rgba(255, 201, 88, .4); background: rgba(87, 58, 9, .35); font-size: .67rem; vertical-align: middle; }
input:disabled, select:disabled, button:disabled { filter: grayscale(.25); }
.source-card.source-locked { opacity: .72; }
.source-badge.danger { color: #ffb4a8; border-color: rgba(255, 91, 75, .62); background: rgba(87, 22, 17, .35); }

/* Guard tavolo: rosso finché il blocco è attivo. */
.number-grid.table-negative-block .number-button {
  opacity: 1 !important;
  filter: none !important;
  background: linear-gradient(145deg, #a72b32, #4e1015) !important;
  border-color: rgba(255, 119, 108, .9) !important;
  box-shadow: 0 0 0 2px rgba(255, 91, 75, .46), 0 0 16px rgba(255, 61, 49, .28) !important;
}

@media(max-width:1000px){.automation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.automation-grid{grid-template-columns:1fr}}

/* v5.8.2 — C5 2.0 Fusion: unico indicatore sui numeri oltre alla normale evidenziazione Duo. */
.fusion-switch {
  border-color: rgba(66, 231, 224, .42) !important;
  background: rgba(19, 78, 82, .16);
}
.fusion-switch input:checked + span strong { color: var(--cyan); }
.number-button.fusion-target::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  right: 5px;
  top: 5px;
  border-radius: 50%;
  background: var(--cyan);
  border: 2px solid rgba(5, 28, 31, .9);
  box-shadow: 0 0 0 2px rgba(66, 231, 224, .28), 0 0 10px rgba(66, 231, 224, .75);
  pointer-events: none;
}

/* v5.9.0 — Guard indipendente, simulazione Guard/oltranza e Anti-Scia adattiva */
.button.simulation {
  background: rgba(66, 231, 224, .12);
  color: #b9fffb;
  border-color: rgba(66, 231, 224, .42);
}
.operation-badge.simulation,
.source-badge.simulation,
.simulation-status {
  color: var(--cyan);
  border-color: rgba(66, 231, 224, .48);
  background: rgba(12, 76, 81, .24);
}
.simulation-panel {
  border-color: rgba(66, 231, 224, .34);
  background: linear-gradient(145deg, rgba(9, 49, 61, .96), rgba(7, 19, 31, .98));
}
.simulation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  padding: 0 1rem 1rem;
}
.simulation-grid article {
  min-height: 98px;
  padding: .8rem;
  border: 1px solid rgba(66, 231, 224, .2);
  border-radius: .85rem;
  background: rgba(255,255,255,.025);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.simulation-grid span { color: var(--muted); font-size: .74rem; font-weight: 800; }
.simulation-grid strong { margin: .2rem 0; font-size: 1.28rem; }
.simulation-grid small { color: var(--muted); line-height: 1.35; }
.simulation-grid strong.positive { color: #7df0b2; }
.simulation-grid strong.negative { color: #ff9287; }
.simulation-summary {
  margin: 0 1rem 1rem;
  padding: .8rem;
  border: 1px solid rgba(66, 231, 224, .25);
  border-radius: .8rem;
  background: rgba(66, 231, 224, .06);
  line-height: 1.45;
}
.simulation-actions { padding: 0 1rem .65rem; }
.number-grid.simulation-active .number-button {
  opacity: 1;
  filter: none;
}
.table-tab:disabled { opacity: .45; cursor: not-allowed; }
@media(max-width:1000px){.simulation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.simulation-grid{grid-template-columns:1fr}}


/* v5.9.0 — controlli difensivi */
.feature-switch.guard-switch { border-color: rgba(255, 184, 77, .42); background: rgba(78, 51, 11, .32); }
.feature-switch.anti-switch { border-color: rgba(84, 211, 173, .42); background: rgba(12, 67, 56, .30); }
.simulation-grid article.guard-result { border-color: rgba(255, 184, 77, .38); background: linear-gradient(180deg, rgba(67,46,12,.42), rgba(11,24,38,.52)); }

/* v5.10.0 — R3 Vettore: terzo motore indipendente per Anti-Scia */
.r3-switch {
  border-color: rgba(196, 124, 255, .40) !important;
  background: rgba(76, 31, 105, .16);
}
.r3-switch input:checked + span strong { color: #d8a0ff; }
.source-violet { --source: #c47cff; }
.number-button.r3-target::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  right: 5px;
  top: 5px;
  border-radius: 50%;
  background: #c47cff;
  border: 2px solid rgba(31, 10, 44, .92);
  box-shadow: 0 0 0 2px rgba(196, 124, 255, .26), 0 0 10px rgba(196, 124, 255, .76);
  pointer-events: none;
}

/* v5.11.0 — SimMatrix: raccomandazione storica, tabella completa e importo rapido mobile */
.quick-bet-info {
  display: inline-flex;
  align-items: center;
  margin-top: .45rem;
  padding: .42rem .65rem;
  border: 1px solid rgba(240, 199, 94, .42);
  border-radius: .65rem;
  background: rgba(240, 199, 94, .08);
  color: #ffe8a2;
  font-size: .86rem;
  font-weight: 900;
  line-height: 1.25;
}
.feature-switch.dynamic-switch {
  border-color: rgba(77, 163, 255, .42);
  background: rgba(20, 54, 92, .25);
}
.feature-switch.dynamic-switch input:checked + span strong { color: #9bcbff; }
.simulation-recommendation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin: 0 1rem 1rem;
  padding: 1rem;
  border: 1px solid rgba(104, 226, 170, .42);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(26, 97, 76, .30), rgba(12, 38, 53, .38));
}
.simulation-recommendation > div:first-child { display: grid; gap: .28rem; }
.simulation-recommendation .recommend-label {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.simulation-recommendation #simRecommendedName { font-size: 1.08rem; line-height: 1.4; }
.simulation-recommendation small { color: var(--muted); line-height: 1.4; }
.recommend-score {
  min-width: 125px;
  padding-left: 1rem;
  border-left: 1px solid rgba(104, 226, 170, .25);
  text-align: right;
}
.recommend-score span,.recommend-score small { display: block; color: var(--muted); font-size: .72rem; }
.recommend-score strong { display: block; margin: .2rem 0; font-size: 1.7rem; color: var(--accent); }
.simulation-matrix-wrap { padding: .25rem 1rem 1rem; }
.simulation-matrix-wrap .history-heading { margin-bottom: .55rem; }
.simulation-matrix-table { max-height: 520px; border: 1px solid rgba(66, 231, 224, .18); border-radius: .8rem; }
.simulation-matrix-table table { min-width: 980px; }
.simulation-matrix-table thead { position: sticky; top: 0; z-index: 2; background: #0b2230; }
.simulation-matrix-table tr.recommended-row { background: rgba(104, 226, 170, .10); box-shadow: inset 4px 0 0 var(--accent); }
.simulation-matrix-table td.positive { color: #7df0b2; font-weight: 850; }
.simulation-matrix-table td.negative { color: #ff9287; font-weight: 850; }
.table-tab.blocked { border-color: rgba(255, 113, 108, .50); }
@media(max-width:700px){
  .simulation-recommendation { grid-template-columns: 1fr; }
  .recommend-score { padding: .75rem 0 0; border-left: 0; border-top: 1px solid rgba(104, 226, 170, .25); text-align: left; }
  .quick-bet-info { width: 100%; justify-content: center; }
}
