/*
 * AI Spin Pro — Frontend CSS v4.0 — Operativa Guidata
 * Namespace: .aispin-shell / .aispin-app (.arp-front)
 * Full dark casino premium — logo seamless — tavolo feltro
 */

/* ══════════════════════════════════════════════════════════════════
   ELEMENTOR / THEME ISOLATION — sfonda qualsiasi container
══════════════════════════════════════════════════════════════════ */
.aispin-shell {
    position:     relative;
    width:        100vw;
    max-width:    none !important;
    left:         50%;
    margin-left:  -50vw !important;
    margin-right: -50vw !important;
    background:   #040408;
    padding:      0 0 4rem;
    overflow-x:   hidden;
}
body:has(.aispin-shell) {
    background: #040408 !important;
    background-color: #040408 !important;
}
.aispin-shell .elementor-section,
.aispin-shell .elementor-container,
.aispin-shell .elementor-column-wrap,
.aispin-shell .elementor-widget-wrap {
    max-width: none !important;
    padding:   0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   DESIGN TOKENS
══════════════════════════════════════════════════════════════════ */
.arp-front {
    --c-bg:          #040408;
    --c-card:        #0b0c14;
    --c-card2:       #10121e;
    --c-raised:      #161928;
    --c-input:       #0c0d16;
    --c-border:      rgba(212,162,0,.18);
    --c-border-glow: rgba(212,162,0,.38);
    --c-gold:        #d4a200;
    --c-gold-light:  #f2c03a;
    --c-gold-pale:   #ffd87a;
    --c-gold-glow:   rgba(212,162,0,.4);
    --c-red:         #e63946;
    --c-red-dark:    #9d0208;
    --c-red-glow:    rgba(230,57,70,.4);
    --c-green:       #157a3a;
    --c-green-br:    #22c55e;
    --c-green-glow:  rgba(34,197,94,.35);
    --c-blue:        #3b82f6;
    --c-purple:      #a855f7;
    --c-teal:        #14b8a6;
    --c-orange:      #f97316;
    --c-text:        #dde4f0;
    --c-muted:       #b0bbd0;
    --c-dim:         #647090;
    --c-bright:      #ffffff;
    --c-chip-r:      linear-gradient(145deg,#c0192a,#8b0000);
    --c-chip-b:      linear-gradient(145deg,#1e2235,#0e0f1a);
    --c-chip-g:      linear-gradient(145deg,#1a7a42,#0d4a25);
    --font:          'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --font-d:        'Bebas Neue','Impact',sans-serif;
    --font-m:        'JetBrains Mono','Fira Code','Courier New',monospace;
    --r:             12px;
    --r-sm:          8px;
    --r-xs:          5px;
    --r-pill:        999px;
    --sh:            0 4px 20px rgba(0,0,0,.7);
    --sh-card:       0 2px 10px rgba(0,0,0,.5),0 0 0 1px rgba(212,162,0,.06);
    --sh-gold:       0 0 24px rgba(212,162,0,.2);

    font-family:     var(--font);
    color:           var(--c-text);
    background:      var(--c-bg);
    max-width:       1320px;
    margin:          0 auto;
    box-sizing:      border-box;
    -webkit-font-smoothing: antialiased;
}
.arp-front *, .arp-front *::before, .arp-front *::after { box-sizing: border-box; }

/* ══════════════════════════════════════════════════════════════════
   HEADER — logo seamless sfondo uniforme
══════════════════════════════════════════════════════════════════ */
.asp-header {
    background:    linear-gradient(180deg, #08060e 0%, #0b0c14 100%);
    border-bottom: 1px solid rgba(212,162,0,.14);
    position:      relative;
}
.asp-header::after {
    content:    '';
    position:   absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212,162,0,.5), transparent);
}

.asp-header__inner {
    display:     flex;
    align-items: center;
    gap:         1.5rem;
    padding:     .9rem 2rem;
    flex-wrap:   wrap;
}

/* Logo seamless — sfondo trasparente, blend con header */
.asp-header__logo { flex-shrink: 0; }

.asp-logo-img {
    width:      190px;
    height:     auto;
    display:    block;
    object-fit: contain;
    /* Integrazione visiva: il logo ha sfondo nero, il header è nero → seamless */
    filter:     drop-shadow(0 0 16px rgba(212,162,0,.3));
    mix-blend-mode: lighten;
    transition: filter .3s;
}
.asp-logo-img:hover { filter: drop-shadow(0 0 28px rgba(212,162,0,.55)); }

/* Stats rapide header */
.asp-header__stats { display: flex; gap: 1.5rem; flex: 1; }
.asp-hstat { display: flex; flex-direction: column; gap: .15rem; }
.asp-hstat__val {
    font-family: var(--font-d);
    font-size:   2rem; font-weight: 400; letter-spacing: .04em;
    color:       var(--c-bright); line-height: 1;
}
.asp-hstat__val--mono { font-family: var(--font-m); font-size: 1.4rem; color: var(--c-muted); }
.asp-hstat__lbl { font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c-dim); }
.asp-hstat--conf.arp-conf--medium .asp-hstat__val { color: var(--c-gold-light); }
.asp-hstat--conf.arp-conf--high   .asp-hstat__val { color: var(--c-green-br); }

/* Header right */
.asp-header__right { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; margin-left: auto; }

.arp-session-info {
    display:       flex; align-items: center; gap: .4rem;
    font-size:     .72rem; font-weight: 600; color: var(--c-muted);
    background:    rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09);
    padding:       .3rem .75rem; border-radius: var(--r-pill);
}

.arp-live-badge {
    display:     flex; align-items: center; gap: .4rem;
    padding:     .3rem .8rem; border-radius: var(--r-pill);
    font-size:   .65rem; font-weight: 900; letter-spacing: .1em; border: 1px solid;
}
.arp-live-badge--on { background: rgba(21,122,58,.2); border-color: rgba(34,197,94,.45); color: #4ade80; }
.arp-live-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: asp-pulse 1.6s infinite; }

/* Window bar */
.asp-header__window {
    display:     flex; align-items: center; gap: .45rem;
    padding:     .65rem 2rem;
    border-top:  1px solid rgba(212,162,0,.08);
    flex-wrap:   wrap;
}
.asp-window-lbl { font-size: .58rem; font-weight: 800; letter-spacing: .12em; color: var(--c-dim); text-transform: uppercase; margin-right: .25rem; }
.arp-wbtn { padding: .28rem .8rem; border-radius: var(--r-pill); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; border: 1px solid rgba(212,162,0,.2); color: var(--c-muted); background: transparent; transition: all .18s; cursor: pointer; }
.arp-wbtn:hover    { border-color: var(--c-gold); color: var(--c-gold-light); background: rgba(212,162,0,.1); text-decoration: none; }
.arp-wbtn--on      { background: rgba(212,162,0,.22); border-color: var(--c-gold); color: var(--c-gold-light); box-shadow: 0 0 10px var(--c-gold-glow); }

/* ══════════════════════════════════════════════════════════════════
   CARD INPUT — compatta, non dominante
══════════════════════════════════════════════════════════════════ */
.arp-input-card {
    background:    var(--c-card);
    border-bottom: 1px solid rgba(212,162,0,.12);
}
.arp-input-card__head {
    display:         flex; align-items: center; justify-content: space-between;
    padding:         .8rem 1.5rem; border-bottom: 1px solid rgba(212,162,0,.1);
    background:      rgba(255,255,255,.02); flex-wrap: wrap; gap: .5rem;
}
.arp-card__hl   { display: flex; align-items: center; gap: .55rem; }
.arp-card__title{ font-size: .88rem; font-weight: 800; color: var(--c-bright); margin: 0; }
.arp-input-card__actions { display: flex; gap: .45rem; align-items: center; }
.arp-input-card__body    { padding: 1.1rem 1.5rem .9rem; }
.arp-input-row   { display: flex; align-items: flex-start; gap: 1.4rem; flex-wrap: wrap; margin-bottom: 1.1rem; }
.arp-input-group { flex: 1; min-width: 200px; }
.arp-input-label { font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); display: block; margin-bottom: .42rem; }
.arp-input-wrap  { display: flex; gap: .45rem; }
.arp-number-input {
    flex: 1; background: var(--c-input); border: 1px solid rgba(212,162,0,.28);
    border-radius: var(--r-sm); padding: .65rem .9rem;
    font-size: 1.1rem; font-weight: 700; color: var(--c-bright); font-family: var(--font-m);
    outline: none; transition: border-color .18s, box-shadow .18s;
    -moz-appearance: textfield; max-width: 140px;
}
.arp-number-input::-webkit-outer-spin-button,
.arp-number-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.arp-number-input:focus { border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(212,162,0,.16); }
.arp-number-input::placeholder { color: var(--c-dim); }

/* Buttons */
.arp-btn { display:inline-flex;align-items:center;gap:.4rem;padding:.56rem 1.1rem;border-radius:var(--r-sm);font-size:.82rem;font-weight:700;letter-spacing:.04em;border:1px solid transparent;cursor:pointer;transition:all .18s;white-space:nowrap;font-family:var(--font);line-height:1; }
.arp-btn--primary { background:linear-gradient(135deg,#d4a200,#a37800);border-color:var(--c-gold);color:#000;font-weight:800;box-shadow:0 2px 10px rgba(212,162,0,.3); }
.arp-btn--primary:hover { background:linear-gradient(135deg,var(--c-gold-light),var(--c-gold));box-shadow:0 4px 16px rgba(212,162,0,.45); }
.arp-btn--ghost   { background:transparent;border-color:rgba(212,162,0,.22);color:var(--c-muted); }
.arp-btn--ghost:hover { border-color:rgba(212,162,0,.45);color:var(--c-text);background:rgba(212,162,0,.05); }
.arp-btn--danger  { background:rgba(230,57,70,.12);border-color:rgba(230,57,70,.35);color:#f87171; }
.arp-btn--danger:hover { background:rgba(230,57,70,.22); }
.arp-btn--sm      { padding:.36rem .78rem;font-size:.74rem; }
.arp-btn:disabled,.arp-btn--loading { opacity:.45;cursor:not-allowed; }
.arp-btn__icon    { font-size:.8rem; }

/* Feedback */
.arp-feedback { font-size:.75rem;font-weight:600;margin-top:.4rem;min-height:1.2em;opacity:0;transition:opacity .25s;border-radius:var(--r-xs);padding:.22rem .55rem; }
.arp-feedback--success { color:#4ade80;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.22);opacity:1; }
.arp-feedback--error   { color:#f87171;background:rgba(230,57,70,.1);border:1px solid rgba(230,57,70,.22);opacity:1; }

/* Chip preview */
.arp-chip-preview { display:flex;align-items:center;gap:.7rem;flex-shrink:0; }
.arp-chip-preview__chip { cursor:default; }
.arp-chip-preview__info { display:flex;flex-direction:column;gap:.18rem; }
.arp-chip-preview__color { font-size:.76rem;font-weight:700;color:var(--c-text); }
.arp-chip-preview__attrs { font-size:.66rem;color:var(--c-muted);font-family:var(--font-m); }

/* Numpad */
.arp-numpad { margin-top:.45rem; }
.arp-numpad__label { font-size:.58rem;font-weight:800;letter-spacing:.14em;color:var(--c-muted);text-transform:uppercase;margin-bottom:.5rem; }
.arp-numpad__grid  { display:flex;flex-wrap:wrap;gap:.28rem; }

/* Bulk */
.arp-bulk-section   { padding:0 1.5rem 1.1rem; }
.arp-bulk-divider   { display:flex;align-items:center;gap:.7rem;margin:1.1rem 0 .8rem; }
.arp-bulk-divider__line { flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(212,162,0,.2)); }
.arp-bulk-divider__line:last-child { background:linear-gradient(90deg,rgba(212,162,0,.2),transparent); }
.arp-bulk-divider__label { font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-light);padding:.18rem .6rem;border:1px solid rgba(212,162,0,.28);border-radius:var(--r-pill);background:rgba(212,162,0,.08); }
.arp-bulk-desc { font-size:.76rem;color:var(--c-muted);margin:0 0 .8rem;line-height:1.55; }
.arp-bulk-code { font-family:var(--font-m);font-size:.7rem;background:rgba(212,162,0,.08);border:1px solid rgba(212,162,0,.18);border-radius:4px;padding:.08rem .35rem;color:var(--c-gold-light);margin:0 .1rem; }
.arp-bulk-body { display:grid;grid-template-columns:1fr 200px;gap:1rem;align-items:start; }
.arp-bulk-field { display:flex;flex-direction:column;gap:.38rem; }
.arp-bulk-textarea { width:100%;min-height:100px;resize:vertical;background:var(--c-input);border:1px solid rgba(212,162,0,.28);border-radius:var(--r-sm);color:var(--c-bright);font-family:var(--font-m);font-size:.9rem;line-height:1.65;padding:.6rem .8rem;outline:none;transition:border-color .18s,box-shadow .18s;box-sizing:border-box;display:block; }
.arp-bulk-textarea::placeholder { color:var(--c-dim);font-style:italic;font-size:.78rem; }
.arp-bulk-textarea:focus { border-color:var(--c-gold);box-shadow:0 0 0 3px rgba(212,162,0,.13); }
.arp-bulk-preview { min-height:22px; }
.arp-bulk-preview__chips { display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.35rem; }
.arp-bulk-preview__stats { display:flex;flex-wrap:wrap;gap:.45rem;font-size:.68rem; }
.arp-bulk-stat { display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;border-radius:var(--r-pill);font-weight:700; }
.arp-bulk-stat--ok  { background:rgba(34,197,94,.12);color:#4ade80;border:1px solid rgba(34,197,94,.22); }
.arp-bulk-stat--err { background:rgba(230,57,70,.1); color:#f87171;border:1px solid rgba(230,57,70,.2); }
.arp-bulk-actions-row { display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.55rem 0 .45rem; }
.arp-btn--bulk { display:inline-flex;align-items:center;justify-content:center;gap:.38rem;padding:.6rem 1.2rem;border-radius:var(--r-sm);border:1px solid rgba(212,162,0,.48);background:linear-gradient(135deg,rgba(212,162,0,.22),rgba(163,120,0,.16));color:var(--c-gold-light);font-size:.84rem;font-weight:800;cursor:pointer;transition:all .18s;font-family:var(--font); }
.arp-btn--bulk:hover:not(:disabled) { background:linear-gradient(135deg,rgba(212,162,0,.4),rgba(163,120,0,.3));border-color:var(--c-gold);box-shadow:0 0 16px rgba(212,162,0,.25);color:#fff; }
.arp-btn--bulk:disabled,.arp-btn--bulk.arp-btn--loading { opacity:.48;cursor:not-allowed; }
.arp-bulk-shortcut-hint { font-size:.6rem;color:var(--c-dim);white-space:nowrap; }
kbd { background:rgba(255,255,255,.08);border:1px solid rgba(212,162,0,.18);border-radius:3px;padding:.07rem .28rem;font-family:var(--font-m);font-size:.58rem;color:var(--c-muted); }
.arp-bulk-feedback { display:none;margin-top:.6rem;padding:.6rem .85rem;border-radius:var(--r-xs);font-size:.8rem;line-height:1.5; }
.arp-bulk-feedback--success { background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#4ade80; }
.arp-bulk-feedback--error   { background:rgba(230,57,70,.1); border:1px solid rgba(230,57,70,.25);color:#f87171; }
.arp-bulk-feedback--info    { background:rgba(212,162,0,.08);border:1px solid rgba(212,162,0,.22);color:var(--c-gold-light); }
.arp-bulk-sidebar    { display:flex;flex-direction:column;gap:.65rem; }
.arp-bulk-meta-fields{ display:flex;flex-direction:column;gap:.45rem; }
.arp-bulk-meta-field { display:flex;flex-direction:column;gap:.18rem; }
.arp-bulk-actions    { display:flex;flex-direction:column;gap:.42rem; }
.arp-bulk-shortcut   { font-size:.6rem;color:var(--c-dim);display:flex;align-items:center;justify-content:center;gap:.22rem;margin:0; }
.arp-meta-optional   { font-size:.56rem;color:var(--c-dim);margin-left:.28rem; }
.arp-meta-input { display:block;width:100%;background:var(--c-input);border:1px solid rgba(212,162,0,.16);border-radius:var(--r-xs);color:var(--c-text);font-size:.76rem;font-family:var(--font-m);padding:.38rem .55rem;outline:none;box-sizing:border-box;transition:border-color .15s;margin-top:.18rem; }
.arp-meta-input::placeholder { color:var(--c-dim);font-style:italic; }
.arp-meta-input:focus { border-color:rgba(212,162,0,.38);box-shadow:0 0 0 2px rgba(212,162,0,.09); }

/* Chip row ultimi spin */
.arp-card { background:var(--c-card);border:1px solid rgba(212,162,0,.14);margin:.65rem;border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s;box-shadow:var(--sh-card); }
.arp-card:hover { border-color:rgba(212,162,0,.3); }
.arp-card__head { display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem;border-bottom:1px solid rgba(212,162,0,.12);background:rgba(255,255,255,.02);flex-wrap:wrap;gap:.45rem; }
.arp-card__body { padding:1.2rem; }
.arp-card__body--spins { padding:1.2rem 1.2rem .75rem; }
.arp-acct { display:block;width:3px;height:17px;border-radius:2px;flex-shrink:0; }
.arp-acct--gold { background:var(--c-gold);box-shadow:0 0 7px var(--c-gold-glow); }
.arp-acct--hot  { background:var(--c-red); }
.arp-acct--cold { background:var(--c-blue); }
.arp-acct--conf { background:var(--c-teal); }
.arp-acct--teal { background:var(--c-teal); }
.arp-acct--purple { background:var(--c-purple); }
.arp-tag { font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:.2rem .62rem;border-radius:var(--r-pill);background:rgba(212,162,0,.07);border:1px solid rgba(212,162,0,.16);color:var(--c-muted);text-transform:uppercase; }
.arp-tag--hot  { background:rgba(230,57,70,.14);border-color:rgba(230,57,70,.3);color:#ff8087; }
.arp-tag--cold { background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.3);color:#93c5fd; }

/* Chips */
.arp-chip { display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-weight:800;font-size:.82rem;font-family:var(--font-m);color:#fff;position:relative;cursor:default;flex-shrink:0;transition:transform .12s,box-shadow .12s; }
.arp-chip::after { content:'';position:absolute;inset:2px;border-radius:50%;border:1px solid rgba(255,255,255,.22);pointer-events:none; }
.arp-chip--red   { background:var(--c-chip-r);box-shadow:0 4px 14px rgba(230,57,70,.6); }
.arp-chip--black { background:var(--c-chip-b);box-shadow:0 4px 12px rgba(0,0,0,.75); }
.arp-chip--green { background:var(--c-chip-g);box-shadow:0 4px 14px rgba(34,197,94,.55); }
.arp-chip--xs { width:26px;height:26px;font-size:.62rem; }
.arp-chip--sm { width:33px;height:33px;font-size:.72rem; }
.arp-chip--lg { width:52px;height:52px;font-size:1.05rem; }
.arp-chip--xl { width:62px;height:62px;font-size:1.2rem;outline:2px solid rgba(212,162,0,.8);outline-offset:3px; }
.arp-chip-row { display:flex;flex-wrap:wrap;gap:.38rem; }
.arp-chip-legend { display:flex;gap:.9rem;margin-top:.7rem;font-size:.66rem;color:var(--c-muted);flex-wrap:wrap; }
.arp-ldot { display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.28rem;vertical-align:middle; }
.arp-ldot--red   { background:var(--c-red); }
.arp-ldot--black { background:#3d4556; }
.arp-ldot--green { background:var(--c-green-br); }

.arp-numpad__chip { cursor:pointer;border:none;outline:none; }
.arp-numpad__chip:hover  { transform:scale(1.2);z-index:1;box-shadow:0 0 18px rgba(212,162,0,.5)!important; }
.arp-numpad__chip:active { transform:scale(.93); }
.arp-chip--new { animation:asp-chip-pop .3s cubic-bezier(.34,1.56,.64,1) both; }
@keyframes asp-chip-pop { from{transform:scale(0) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0deg);opacity:1} }

/* ══════════════════════════════════════════════════════════════════
   STATE BADGES
══════════════════════════════════════════════════════════════════ */
.asp-state-badge {
    display:        inline-block;
    font-size:      .6rem; font-weight: 900; letter-spacing: .12em;
    text-transform: uppercase; padding: .25rem .8rem;
    border-radius:  var(--r-pill); margin-bottom: .4rem;
}
.asp-state-badge--idle       { background:rgba(100,112,139,.15);border:1px solid rgba(100,112,139,.28);color:var(--c-muted); }
.asp-state-badge--wait       { background:rgba(249,115,22,.14); border:1px solid rgba(249,115,22,.3);  color:#fdba74; }
.asp-state-badge--watch      { background:rgba(59,130,246,.16); border:1px solid rgba(59,130,246,.35); color:#93c5fd; }
.asp-state-badge--base       { background:rgba(59,130,246,.18); border:1px solid rgba(59,130,246,.4);  color:#93c5fd; }
.asp-state-badge--qualificato{ background:rgba(212,162,0,.2);   border:1px solid rgba(212,162,0,.42);  color:var(--c-gold-light); }
.asp-state-badge--premium    { background:rgba(168,85,247,.22); border:1px solid rgba(168,85,247,.45); color:#e9d5ff; }

/* ══════════════════════════════════════════════════════════════════
   CARD "COSA GIOCARE ORA" — protagonista della pagina
══════════════════════════════════════════════════════════════════ */
.asp-main { padding: .65rem .65rem 0; }

.asp-main__card {
    border-radius: var(--r);
    overflow:      hidden;
    box-shadow:    var(--sh-card);
    position:      relative;
}

/* ── Empty / Wait ────────────────────────────────────────────────── */
.asp-main__card--empty,
.asp-main__card--wait {
    background: var(--c-card);
    border:     1px solid rgba(255,255,255,.1);
    display:    flex; align-items: center; gap: 1.5rem;
    padding:    2rem; flex-wrap: wrap;
}

.asp-main__card--empty { display:grid;grid-template-columns:1fr 1fr;gap:2rem; }
@media(max-width:700px){ .asp-main__card--empty { grid-template-columns:1fr; } }

.asp-main__title   { font-family:var(--font-d);font-size:2rem;font-weight:400;letter-spacing:.05em;color:var(--c-bright);margin:0 0 .4rem;line-height:1.1; }
.asp-main__desc    { font-size:.9rem;color:var(--c-muted);line-height:1.65;margin:0 0 .75rem; }
.asp-progress-bar  { height:5px;background:rgba(255,255,255,.07);border-radius:3px;overflow:hidden;margin:.4rem 0 .5rem;max-width:280px; }
.asp-progress-bar__fill { height:100%;background:linear-gradient(90deg,var(--c-gold),var(--c-gold-light));border-radius:3px;transition:width .4s ease; }
.asp-spin-counter  { font-size:.72rem;color:var(--c-gold-light);font-family:var(--font-m);margin:0; }

.asp-roulette-idle { text-align:center;padding:1.5rem; }
.asp-roulette-wheel { font-size:4rem;color:var(--c-dim);opacity:.3;animation:asp-spin-slow 16s linear infinite;display:block;margin-bottom:.6rem; }
.asp-roulette-idle p { font-size:.8rem;color:var(--c-dim);line-height:1.55;margin:0; }

.asp-main__wait-icon    { font-size:2.5rem;flex-shrink:0;opacity:.5; }
.asp-main__wait-content { flex:1; }
.asp-wait-rule { background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.28);border-radius:var(--r-sm);padding:.5rem .85rem;font-size:.84rem;color:#fdba74;margin:.6rem 0; }

/* ── Watchlist ───────────────────────────────────────────────────── */
.asp-main__card--watchlist {
    background: var(--c-card);
    border:     1px solid rgba(59,130,246,.3);
    padding:    1.5rem 1.75rem;
}
.asp-chips-row  { display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0; }
.asp-watch-note { font-size:.76rem;color:var(--c-dim);font-style:italic;line-height:1.5; }
.asp-main__info-col { }
.asp-main__source-col { }
.asp-source-tag { font-size:.65rem;font-weight:700;color:var(--c-dim);font-family:var(--font-m); }

/* ── Signal ──────────────────────────────────────────────────────── */
.asp-main__card--signal {
    background:    linear-gradient(160deg, #0c0a04 0%, var(--c-card) 100%);
    border:        1px solid rgba(212,162,0,.48);
    box-shadow:    0 0 40px rgba(212,162,0,.14), var(--sh-card);
}
.asp-main__card--signal::before {
    content:    '';
    position:   absolute;top:0;left:0;right:0;height:2px;
    background: linear-gradient(90deg,transparent,rgba(212,162,0,.9),transparent);
}

.asp-signal__header {
    display:         flex;align-items:center;justify-content:space-between;
    padding:         1.1rem 1.75rem .9rem;
    border-bottom:   1px solid rgba(212,162,0,.15);
    background:      rgba(212,162,0,.05);
    flex-wrap:       wrap;gap:.65rem;
}
.asp-signal__header-left { display:flex;align-items:center;gap:.65rem; }
.asp-signal__pulse  { width:10px;height:10px;border-radius:50%;background:var(--c-gold);flex-shrink:0;box-shadow:0 0 10px var(--c-gold);animation:asp-pulse 1.6s infinite; }
.asp-signal__score  { text-align:center;background:rgba(212,162,0,.1);border:1px solid rgba(212,162,0,.25);border-radius:var(--r-sm);padding:.4rem .8rem; }
.asp-signal__score-val { display:block;font-size:1.5rem;font-weight:900;font-family:var(--font-m);color:var(--c-gold-light);line-height:1; }
.asp-signal__score-lbl { font-size:.52rem;font-weight:800;letter-spacing:.08em;color:var(--c-dim);text-transform:uppercase;display:block;text-align:center; }

.asp-signal__body {
    display:               grid;
    grid-template-columns: 1fr 360px;
    gap:                   0;
}
@media(max-width:860px) { .asp-signal__body { grid-template-columns:1fr; } }

.asp-signal__action-col {
    padding:      1.5rem 1.75rem;
    border-right: 1px solid rgba(212,162,0,.12);
}
@media(max-width:860px) { .asp-signal__action-col { border-right:none;border-bottom:1px solid rgba(212,162,0,.12); } }

.asp-signal__title {
    font-family:    var(--font-d);
    font-size:      2.2rem;font-weight:400;letter-spacing:.06em;
    color:          #fff;margin:0 0 1.25rem;line-height:1;
    text-shadow:    0 0 30px rgba(212,162,0,.2);
}

.asp-signal__chips { display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1.4rem; }
.asp-signal__chip  { box-shadow:0 4px 14px rgba(230,57,70,.6),0 0 20px rgba(212,162,0,.3);transition:transform .15s; }
.asp-signal__chip:hover { transform:scale(1.1); }

/* Params grid */
.asp-params { display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1rem; }
.asp-param {
    background:     var(--c-raised);
    border:         1px solid rgba(212,162,0,.1);
    border-radius:  var(--r-sm);
    padding:        .65rem .85rem;
    display:        flex;flex-direction:column;align-items:center;
    text-align:     center;gap:.14rem;
    transition:     border-color .2s;
}
.asp-param--accent { border-color:rgba(212,162,0,.3);background:rgba(212,162,0,.06); }
.asp-param__ico  { font-size:1rem; }
.asp-param__lbl  { font-size:.56rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--c-dim); }
.asp-param__val  { font-size:.95rem;font-weight:900;color:var(--c-bright);font-family:var(--font-m); }
.asp-param--accent .asp-param__val { color:var(--c-gold-light);font-size:1.05rem; }
.asp-param--risk-low    .asp-param__val { color:#4ade80; }
.asp-param--risk-medium .asp-param__val { color:var(--c-gold-light); }
.asp-param--risk-high   .asp-param__val { color:#fb923c; }

.asp-signal__stop {
    font-size:.82rem;color:#fca5a5;line-height:1.55;
    background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.18);
    border-radius:var(--r-xs);padding:.5rem .75rem;
}

.asp-signal__info-col { padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1rem; }
.asp-signal__why { background:rgba(168,85,247,.06);border:1px solid rgba(168,85,247,.18);border-radius:var(--r-sm);padding:.85rem 1rem; }
.asp-signal__why-label { font-size:.6rem;font-weight:900;letter-spacing:.1em;color:#c084fc;text-transform:uppercase;margin-bottom:.35rem; }
.asp-signal__why-text  { font-size:.84rem;color:var(--c-muted);line-height:1.65;margin:0; }

.asp-signal__profile { display:flex;flex-direction:column;gap:.35rem; }
.asp-signal__profile-row { display:flex;justify-content:space-between;align-items:center;padding:.28rem 0;border-bottom:1px solid rgba(255,255,255,.05); }
.asp-signal__profile-row:last-child { border-bottom:none; }
.asp-signal__profile-lbl { font-size:.64rem;font-weight:700;color:var(--c-dim);text-transform:uppercase;letter-spacing:.05em; }
.asp-signal__profile-val { font-size:.8rem;font-weight:800;color:var(--c-text);font-family:var(--font-m); }

.asp-signal__disclaimer { font-size:.68rem;color:var(--c-dim);margin-top:auto;padding-top:.5rem;line-height:1.5; }

/* ══════════════════════════════════════════════════════════════════
   TAVOLO OPERATIVO — casino felt green
══════════════════════════════════════════════════════════════════ */
.asp-tavolo {
    margin:        .65rem .65rem 0;
    border-radius: var(--r);
    overflow:      hidden;
    border:        1px solid rgba(34,150,80,.4);
    box-shadow:    0 0 30px rgba(21,122,60,.15),var(--sh-card);
    position:      relative;
}
.asp-tavolo::before {
    content:    '';
    position:   absolute;top:0;left:0;right:0;height:2px;
    background: linear-gradient(90deg,transparent,rgba(34,150,80,.7),rgba(212,162,0,.4),transparent);
}

.asp-tavolo__header {
    display:       flex;align-items:center;gap:.8rem;
    padding:       .85rem 1.4rem;
    background:    linear-gradient(90deg,rgba(13,53,32,.95),rgba(11,12,20,.95));
    border-bottom: 1px solid rgba(34,150,80,.25);
    flex-wrap:     wrap;
}
.asp-tavolo__header-ico   { font-size:1.2rem; flex-shrink:0; }
.asp-tavolo__header-title { font-family:var(--font-d);font-size:1.2rem;font-weight:400;letter-spacing:.1em;color:#fff;margin:0; }

.asp-tavolo__badge {
    font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
    padding:.22rem .75rem;border-radius:var(--r-pill);margin-left:auto;
    display:flex;align-items:center;gap:.35rem;
}
.asp-tavolo__badge--active { background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.4);color:#4ade80; }
.asp-tavolo__badge--watch  { background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.35);color:#93c5fd; }
.asp-tavolo__badge--idle   { background:rgba(100,112,139,.12);border:1px solid rgba(100,112,139,.25);color:var(--c-muted); }
.asp-pulse-dot             { width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80;animation:asp-pulse 1.6s infinite; }

.asp-tavolo__body { background:#0a1e12;padding:1rem; }

.asp-roulette { overflow-x:auto; }

/* Tavolo */
.asp-rtable { width:100%;border-collapse:collapse;table-layout:fixed;min-width:520px; }

/* Zero */
.asp-r0 {
    width:38px;background:linear-gradient(145deg,#1a7a42,#0d4a25);color:#fff;
    font-size:.9rem;font-weight:900;font-family:var(--font-m);
    text-align:center;vertical-align:middle;
    border:1px solid rgba(255,255,255,.16);border-radius:4px 0 0 4px;
    cursor:default;transition:box-shadow .2s;
}

/* Celle numeriche */
.asp-rn {
    height:44px;text-align:center;vertical-align:middle;
    font-size:.78rem;font-weight:900;font-family:var(--font-m);
    border:1px solid rgba(255,255,255,.1);cursor:default;position:relative;
    transition:box-shadow .2s,transform .15s;padding:0;
}
.asp-rn--red   { background:linear-gradient(145deg,#c0192a,#8b0000);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5); }
.asp-rn--black { background:linear-gradient(145deg,#1a1d2a,#0e0f16);color:#dde4f0; }
.asp-rn--green { background:linear-gradient(145deg,#1a7a42,#0d4a25);color:#fff; }

/* Giocata attiva */
.asp-rn.rn-active, .asp-r0.rn-active {
    background:    linear-gradient(145deg,#22c55e,#15803d) !important;
    color:         #fff !important;
    box-shadow:    0 0 18px rgba(34,197,94,.8),inset 0 0 0 2px rgba(212,162,0,.9) !important;
    transform:     scale(1.07) !important;z-index:3;
    animation:     asp-rn-pulse 2s ease-in-out infinite;
    text-shadow:   0 0 8px rgba(255,255,255,.7);
}
@keyframes asp-rn-pulse {
    0%,100% { box-shadow:0 0 18px rgba(34,197,94,.8),inset 0 0 0 2px rgba(212,162,0,.9); }
    50%     { box-shadow:0 0 28px rgba(34,197,94,1),  inset 0 0 0 2px rgba(240,192,64,1); }
}

/* Watchlist */
.asp-rn.rn-watch { background:rgba(212,162,0,.25)!important;color:var(--c-gold-pale)!important;box-shadow:0 0 12px rgba(212,162,0,.5),inset 0 0 0 1.5px rgba(212,162,0,.7)!important; }

/* Chip importo */
.asp-rchip {
    position:absolute;top:-8px;right:-6px;
    font-size:.48rem;font-weight:900;
    background:var(--c-gold);color:#000;
    border-radius:var(--r-pill);padding:.08rem .28rem;
    white-space:nowrap;z-index:4;
    box-shadow:0 0 8px rgba(212,162,0,.7),0 2px 4px rgba(0,0,0,.4);
    border:1px solid rgba(255,255,255,.25);
    animation:asp-chip-bounce 2s ease-in-out infinite;
}
@keyframes asp-chip-bounce { 0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)} }

/* Colonne 2:1 */
.asp-rcol {
    background:linear-gradient(135deg,#0f4428,#0a3020);color:rgba(255,255,255,.6);
    font-size:.62rem;font-weight:900;text-align:center;vertical-align:middle;
    width:32px;border:1px solid rgba(255,255,255,.1);white-space:nowrap;
    letter-spacing:.05em;
}
.asp-rcol--active { background:rgba(34,197,94,.25)!important;color:#4ade80!important;box-shadow:inset 0 0 0 2px rgba(34,197,94,.6)!important; }

/* Dozzine */
.asp-dozen-row  td,.asp-simple-row td { height:32px; }
.asp-rdozen {
    background:linear-gradient(180deg,#0f4428,#0a3020);color:rgba(255,255,255,.7);
    font-size:.68rem;font-weight:900;text-align:center;vertical-align:middle;
    border:1px solid rgba(255,255,255,.1);border-radius:0 0 3px 3px;
    letter-spacing:.1em;text-transform:uppercase;
}
.asp-rdozen--active { background:linear-gradient(180deg,rgba(34,197,94,.35),rgba(21,128,61,.45))!important;color:#4ade80!important;box-shadow:inset 0 0 0 2px rgba(34,197,94,.6),0 0 10px rgba(34,197,94,.25)!important; }

/* Chance semplici */
.asp-rsimple {
    background:linear-gradient(180deg,#0d3a22,#082818);color:rgba(255,255,255,.68);
    font-size:.65rem;font-weight:900;text-align:center;vertical-align:middle;
    border:1px solid rgba(255,255,255,.1);border-radius:0 0 3px 3px;
    letter-spacing:.08em;text-transform:uppercase;
}
.asp-rsimple--red   { background:linear-gradient(180deg,#7a1020,#550a16);color:#ffaaaa;border-color:rgba(230,57,70,.35); }
.asp-rsimple--black { background:linear-gradient(180deg,#141825,#0c0d18);color:#a0b0c8; }
.asp-r-pad          { background:#0a1e12;border:none; }

/* Legenda */
.asp-tavolo__legend { display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.65rem;padding-top:.55rem;border-top:1px solid rgba(34,150,80,.18); }
.asp-legend         { font-size:.62rem;font-weight:700;color:var(--c-dim);letter-spacing:.05em; }
.asp-legend--active { color:#4ade80; }
.asp-legend--watch  { color:var(--c-gold-pale); }
.asp-legend--red    { color:#ff8087; }
.asp-legend--black  { color:#94a3b8; }
.asp-legend--green  { color:#4ade80; }

/* ══════════════════════════════════════════════════════════════════
   ULTIMI SPIN — sotto il tavolo
══════════════════════════════════════════════════════════════════ */
/* tutte le classi .arp-card* già definite sopra */
.arp-nrow    { display:flex;align-items:center;gap:.6rem; }
.arp-nrank   { font-size:.64rem;font-weight:800;color:var(--c-dim);min-width:13px;text-align:center;font-family:var(--font-m); }
.arp-nbars   { flex:1;display:flex;flex-direction:column;gap:.2rem; }
.arp-bar-w   { height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden; }
.arp-bar     { height:100%;border-radius:3px;transition:width .4s ease; }
.arp-bar--hot  { background:linear-gradient(90deg,var(--c-red),#ff6b6b); }
.arp-bar--cold { background:linear-gradient(90deg,var(--c-blue),#60a5fa); }
.arp-nmeta   { display:flex;align-items:center;gap:.42rem; }
.arp-nfreq   { font-size:.72rem;font-weight:800;color:var(--c-bright);font-family:var(--font-m); }
.arp-npct    { font-size:.66rem;color:var(--c-muted);font-family:var(--font-m); }
.arp-badge-hot, .arp-badge-cold { font-size:.52rem;font-weight:900;letter-spacing:.1em;padding:.08rem .38rem;border-radius:var(--r-pill); }
.arp-badge-hot  { background:rgba(230,57,70,.2); color:#ff8087;border:1px solid rgba(230,57,70,.32); }
.arp-badge-cold { background:rgba(59,130,246,.2);color:#93c5fd;border:1px solid rgba(59,130,246,.32); }
.arp-numlist { display:flex;flex-direction:column;gap:.45rem; }

/* ══════════════════════════════════════════════════════════════════
   EMPTY STATE
══════════════════════════════════════════════════════════════════ */
.arp-empty-state { padding:1.5rem; }
.arp-empty-state__box { background:var(--c-card);border:1px solid rgba(212,162,0,.14);border-radius:var(--r);padding:3.5rem 2rem;text-align:center;max-width:500px;margin:0 auto;box-shadow:var(--sh-card); }
.arp-empty-state__ico { display:block;font-size:3.5rem;color:var(--c-gold);opacity:.45;margin-bottom:1rem;animation:asp-spin-slow 18s linear infinite; }
.arp-empty-state__h { font-family:var(--font-d);font-size:1.7rem;font-weight:400;color:var(--c-bright);margin:0 0 .5rem;letter-spacing:.05em; }
.arp-empty-state__p { font-size:.88rem;color:var(--c-muted);margin:0 0 1.2rem;line-height:1.6; }
.arp-pulse-dot { width:6px;height:6px;background:var(--c-gold);border-radius:50%;animation:asp-pulse 1.8s ease-in-out infinite;flex-shrink:0;display:inline-block; }
.arp-empty-state__hint { display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;color:var(--c-muted);background:rgba(212,162,0,.07);border:1px solid rgba(212,162,0,.18);padding:.38rem 1rem;border-radius:var(--r-pill); }
.arp-empty-inline { font-size:.82rem;color:var(--c-muted);font-style:italic;margin:1rem 0;text-align:center; }

/* ══════════════════════════════════════════════════════════════════
   ACCORDION — sezioni tecniche collassate
══════════════════════════════════════════════════════════════════ */
.arp-accordion-wrap,.arp-spinpro-accordion-wrap { margin:.6rem .65rem 0; }

.arp-accordion-toggle {
    display:flex;align-items:center;gap:.6rem;width:100%;
    padding:.85rem 1.2rem;background:var(--c-card);
    border:1px solid rgba(212,162,0,.16);border-radius:var(--r);
    cursor:pointer;text-align:left;transition:background .2s,border-color .2s;
    font-family:var(--font);color:var(--c-text);flex-wrap:wrap;
}
.arp-accordion-toggle:hover { background:rgba(212,162,0,.04);border-color:rgba(212,162,0,.3); }
.arp-accordion-toggle[aria-expanded="true"] { border-radius:var(--r) var(--r) 0 0;border-color:rgba(212,162,0,.3);background:rgba(212,162,0,.06); }
.arp-accordion-toggle--purple:hover { background:rgba(168,85,247,.05);border-color:rgba(168,85,247,.3); }
.arp-accordion-toggle--purple[aria-expanded="true"] { border-color:rgba(168,85,247,.35);background:rgba(168,85,247,.07); }

.arp-accordion-toggle__icon    { font-size:1rem;flex-shrink:0; }
.arp-accordion-toggle__label   { font-size:.86rem;font-weight:800;color:var(--c-bright); }
.arp-accordion-toggle__items   { font-size:.7rem;color:var(--c-muted);flex:1; }
.arp-accordion-toggle__chevron { font-size:.72rem;color:var(--c-dim);margin-left:auto;transition:transform .25s; }
.arp-accordion-toggle[aria-expanded="true"] .arp-accordion-toggle__chevron { transform:rotate(180deg); }

.arp-analysis-collapsible { display:none; }
.arp-analysis-collapsible.arp-accordion-open { display:block; }
.arp-spinpro-collapsible { }

/* ══════════════════════════════════════════════════════════════════
   ANALYSIS AREA — cards tecniche (accordeon)
══════════════════════════════════════════════════════════════════ */
.arp-grid { display:grid;grid-template-columns:1fr 1fr; }
.arp-card--full { grid-column:1/-1; }
@media(max-width:768px) { .arp-grid { grid-template-columns:1fr; } }

/* Delays table */
.arp-delay-legend { display:flex;gap:.9rem;font-size:.63rem;font-weight:700;margin-bottom:.7rem;flex-wrap:wrap;padding:.42rem .55rem;background:rgba(255,255,255,.025);border-radius:var(--r-xs); }
.arp-dl--ok { color:#4ade80; } .arp-dl--warn { color:#fb923c; } .arp-dl--crit { color:#f87171; }
.arp-tbl-wrap { overflow-x:auto; }
.arp-tbl { width:100%;border-collapse:collapse;font-size:.78rem; }
.arp-tbl thead th { padding:.48rem .78rem;text-align:left;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);border-bottom:1px solid rgba(212,162,0,.12);background:rgba(212,162,0,.025);white-space:nowrap; }
.arp-tbl tbody td { padding:.52rem .78rem;font-size:.78rem;color:var(--c-text);border-bottom:1px solid rgba(212,162,0,.07);vertical-align:middle; }
.arp-tbl tbody tr:last-child td { border-bottom:none; }
.arp-tbl tbody tr:hover td      { background:rgba(212,162,0,.03); }
.arp-tbl__date { font-size:.68rem;color:var(--c-muted);white-space:nowrap;font-family:var(--font-m); }
.arp-dbar-w { width:88px;height:5px;background:rgba(255,255,255,.07);border-radius:3px;overflow:hidden; }
.arp-dbar   { height:100%;border-radius:3px;transition:width .4s ease; }
.arp-dbar--normal   { background:linear-gradient(90deg,var(--c-teal),var(--c-blue)); }
.arp-dbar--warning  { background:linear-gradient(90deg,var(--c-orange),#fbbf24); }
.arp-dbar--critical { background:linear-gradient(90deg,var(--c-red),#f87171); }
.arp-dval { font-family:var(--font-m);font-size:.84rem;font-weight:900; }
.arp-dv--ok { color:#4ade80; } .arp-dv--warn { color:#fb923c; } .arp-dv--crit { color:#f87171; }
.arp-cdot { display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.35rem;vertical-align:middle; }
.arp-cdot--rosso { background:var(--c-red); }
.arp-cdot--nero  { background:#3d4556; }
.arp-cdot--verde { background:var(--c-green-br); }
.arp-never { font-size:.68rem;color:var(--c-dim);font-style:italic; }

/* Clusters */
.arp-cluster-list { display:flex;flex-direction:column;gap:.7rem; }
.arp-citem { background:var(--c-raised);border:1px solid rgba(212,162,0,.14);border-radius:var(--r-sm);overflow:hidden; }
.arp-citem--forte  { border-color:rgba(212,162,0,.38);background:rgba(212,162,0,.04); }
.arp-citem--normale{ border-color:rgba(59,130,246,.25); }
.arp-citem--debole { border-color:rgba(255,255,255,.09); }
.arp-citem__head   { display:flex;align-items:center;gap:.55rem;padding:.5rem .85rem;background:rgba(212,162,0,.03);border-bottom:1px solid rgba(212,162,0,.1);flex-wrap:wrap; }
.arp-citem__lbl    { font-size:.58rem;font-weight:900;letter-spacing:.1em;color:var(--c-dim); }
.arp-citem__type   { font-size:.66rem;font-weight:800;color:var(--c-muted); }
.arp-citem__score  { margin-left:auto;font-size:.68rem;color:var(--c-muted); }
.arp-citem__score strong { color:var(--c-gold-light);font-family:var(--font-m); }
.arp-cchips        { display:flex;flex-wrap:wrap;align-items:center;gap:.28rem;padding:.65rem .85rem; }
.arp-cbullet       { color:var(--c-dim);font-size:.78rem; }
.arp-citem__meta   { display:flex;gap:.9rem;padding:.38rem .85rem .55rem;font-size:.66rem;color:var(--c-muted);flex-wrap:wrap; }
.arp-citem__meta strong { color:var(--c-text); }
.arp-cluster-nil   { text-align:center;padding:2.2rem 1.2rem;color:var(--c-muted);background:rgba(255,255,255,.02);border-radius:var(--r-sm);margin:.45rem;border:1px dashed rgba(255,255,255,.08); }
.arp-cluster-nil__ico { font-size:2.2rem;display:block;margin-bottom:.6rem;opacity:.4; }
.arp-cluster-nil p { font-size:.82rem;margin:0;color:var(--c-muted); }

/* Confidence */
.arp-conf-layout { display:flex;align-items:flex-start;gap:1.8rem;flex-wrap:wrap; }
.arp-gauge-wrap  { display:flex;flex-direction:column;align-items:center;gap:.45rem;flex-shrink:0; }
.arp-gauge       { width:105px;height:105px;position:relative; }
.arp-gauge__svg  { width:100%;height:100%; }
.arp-gauge__track { stroke:rgba(255,255,255,.06); }
.arp-conf--medium .arp-gauge__arc { stroke:var(--c-gold-light);filter:drop-shadow(0 0 5px var(--c-gold-glow)); }
.arp-conf--high   .arp-gauge__arc { stroke:var(--c-green-br);filter:drop-shadow(0 0 5px var(--c-green-glow)); }
.arp-conf--low    .arp-gauge__arc { stroke:var(--c-muted); }
.arp-gauge__inner { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center; }
.arp-gauge__val   { font-size:1.7rem;font-weight:900;font-family:var(--font-m);color:var(--c-bright);line-height:1; }
.arp-gauge__sub   { font-size:.58rem;color:var(--c-dim);font-family:var(--font-m); }
.arp-gauge__lbl   { font-size:.6rem;font-weight:800;letter-spacing:.1em;text-align:center;margin:0;text-transform:uppercase;color:var(--c-muted); }
.arp-conf-badge   { font-size:.63rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:.22rem .65rem;border-radius:var(--r-pill); }
.arp-conf-badge--low    { background:rgba(100,112,139,.15);border:1px solid rgba(100,112,139,.28);color:var(--c-muted); }
.arp-conf-badge--medium { background:rgba(212,162,0,.18); border:1px solid rgba(212,162,0,.38); color:var(--c-gold-light); }
.arp-conf-badge--high   { background:rgba(34,197,94,.16); border:1px solid rgba(34,197,94,.38); color:#4ade80; }
.arp-bkdown  { flex:1;min-width:190px;display:flex;flex-direction:column;gap:.5rem; }
.arp-brow    { display:grid;grid-template-columns:auto 1fr 78px 30px;align-items:center;gap:.45rem; }
.arp-brow__ico { font-size:.88rem; }
.arp-brow__lbl { font-size:.7rem;color:var(--c-text);font-weight:600; }
.arp-brow__lbl small { color:var(--c-muted);font-size:.63rem; }
.arp-bbar-w  { height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden; }
.arp-bbar    { height:100%;border-radius:3px;transition:width .5s ease; }
.arp-bbar--hot     { background:linear-gradient(90deg,var(--c-red),#ff6b6b); }
.arp-bbar--cold    { background:linear-gradient(90deg,var(--c-blue),#60a5fa); }
.arp-bbar--delay   { background:linear-gradient(90deg,var(--c-gold),var(--c-gold-light)); }
.arp-bbar--cluster { background:linear-gradient(90deg,var(--c-purple),#c084fc); }
.arp-brow__val { font-size:.73rem;font-weight:800;color:var(--c-bright);font-family:var(--font-m);text-align:right; }
.arp-conf-note { font-size:.7rem;color:var(--c-muted);margin:1rem 0 0;line-height:1.55;font-style:italic; }

/* Strategia */
.arp-strat-layout { display:grid;grid-template-columns:1fr auto auto;gap:1.4rem;align-items:start; }
@media(max-width:700px){ .arp-strat-layout{grid-template-columns:1fr;} }
.arp-strat-desc  { font-size:.86rem;color:var(--c-text);margin:0 0 .7rem;line-height:1.6; }
.arp-strat-meta  { display:flex;align-items:center;gap:.7rem;flex-wrap:wrap; }
.arp-risk-tag    { font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .62rem;border-radius:var(--r-pill); }
.arp-risk--low    { background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.32);color:#4ade80; }
.arp-risk--medium { background:rgba(212,162,0,.15);border:1px solid rgba(212,162,0,.32);color:var(--c-gold-light); }
.arp-risk--high   { background:rgba(230,57,70,.15); border:1px solid rgba(230,57,70,.32);color:#f87171; }
.arp-strat-conf   { font-size:.7rem;color:var(--c-muted); }
.arp-strat-conf strong { color:var(--c-bright);font-family:var(--font-m); }
.arp-strat-badge  { font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;border-radius:var(--r-pill);white-space:nowrap; }
.arp-strat-badge--conservative { background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.32);color:#4ade80; }
.arp-strat-badge--medium       { background:rgba(212,162,0,.15);border:1px solid rgba(212,162,0,.32);color:var(--c-gold-light); }
.arp-strat-badge--aggressive   { background:rgba(230,57,70,.15);border:1px solid rgba(230,57,70,.32);color:#f87171; }
.arp-bets        { display:flex;flex-direction:column;gap:.38rem;min-width:155px; }
.arp-bets__ttl   { font-size:.56rem;font-weight:900;letter-spacing:.12em;color:var(--c-dim);text-transform:uppercase;margin-bottom:.08rem; }
.arp-bet         { display:flex;flex-direction:column;gap:.08rem;background:var(--c-raised);border:1px solid rgba(212,162,0,.12);border-radius:var(--r-xs);padding:.48rem .68rem; }
.arp-bet__type   { font-size:.63rem;font-weight:800;color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em; }
.arp-bet__val    { font-size:.86rem;font-weight:900;color:var(--c-bright);font-family:var(--font-m); }
.arp-bet__why    { font-size:.63rem;color:var(--c-muted); }
.arp-keynums     { min-width:155px; }
.arp-keynums__ttl { font-size:.56rem;font-weight:900;letter-spacing:.12em;color:var(--c-dim);text-transform:uppercase;margin-bottom:.42rem; }
.arp-keynums__row { display:flex;flex-wrap:wrap;gap:.32rem; }
.arp-strat-note  { font-size:.7rem;color:var(--c-muted);margin:.8rem 0 0;line-height:1.5;font-style:italic;grid-column:1/-1; }

/* Distribuzioni */
.arp-dist-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:1.4rem; }
.arp-dist-block__ttl { font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);margin:0 0 .7rem; }
.arp-dist-row { display:grid;grid-template-columns:70px 1fr 54px;align-items:center;gap:.5rem;margin-bottom:.42rem; }
.arp-dist-lbl  { font-size:.7rem;font-weight:600;color:var(--c-muted);white-space:nowrap; }
.arp-dist-lbl--rosso { color:#ff8087; } .arp-dist-lbl--nero { color:#94a3b8; } .arp-dist-lbl--verde { color:#4ade80; }
.arp-dist-bw { height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden; }
.arp-dist-b  { height:100%;border-radius:3px;transition:width .5s ease; }
.arp-dist-b--rosso  { background:var(--c-red); }
.arp-dist-b--nero   { background:#475569; }
.arp-dist-b--verde  { background:var(--c-green-br); }
.arp-dist-b--blue   { background:var(--c-blue); }
.arp-dist-b--purple { background:var(--c-purple); }
.arp-dist-b--teal   { background:var(--c-teal); }
.arp-dist-b--doz_0,.arp-dist-b--col_0 { background:var(--c-green-br); }
.arp-dist-stat { font-size:.7rem;text-align:right;color:var(--c-text);font-family:var(--font-m); }
.arp-dist-stat strong { color:var(--c-bright);font-weight:800; }
.arp-dist-stat small  { font-size:.62rem;color:var(--c-muted); }

/* SPIN PRO AI */
.arp-sp-wrapper { margin:.65rem .65rem 1.5rem;border-radius:var(--r);overflow:hidden;border:1px solid rgba(168,85,247,.4);background:#08090f;box-shadow:0 0 36px rgba(168,85,247,.1),var(--sh);position:relative; }
.arp-sp-wrapper::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(168,85,247,.88),rgba(212,162,0,.45),transparent); }
.arp-sp-header { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem;padding:1.2rem 1.5rem;background:linear-gradient(135deg,rgba(168,85,247,.13),rgba(168,85,247,.04));border-bottom:1px solid rgba(168,85,247,.2); }
.arp-sp-header__left { display:flex;align-items:center;gap:.8rem; }
.arp-sp-logo   { font-size:1.7rem;color:#c084fc;line-height:1;filter:drop-shadow(0 0 9px rgba(168,85,247,.68)); }
.arp-sp-title  { font-family:var(--font-d);font-size:1.5rem;font-weight:400;letter-spacing:.1em;color:#f0e6ff;margin:0;line-height:1.2;text-shadow:0 0 18px rgba(168,85,247,.3); }
.arp-sp-subtitle { font-size:.68rem;color:#9b8ec4;margin:.12rem 0 0;letter-spacing:.05em;font-weight:500; }
.arp-sp-badge  { font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .82rem;border-radius:var(--r-pill); }
.arp-sp-badge--active  { background:rgba(168,85,247,.26);border:1px solid rgba(168,85,247,.52);color:#e9d5ff;box-shadow:0 0 10px rgba(168,85,247,.18);animation:asp-sp-pulse 2.5s ease-in-out infinite; }
.arp-sp-badge--idle    { background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.2);color:var(--c-muted); }
.arp-sp-badge--neutral { background:rgba(100,112,139,.1);border:1px solid rgba(100,112,139,.18);color:var(--c-muted); }
.arp-sp-body { display:flex;flex-direction:column;gap:1px;background:rgba(168,85,247,.1); }
.arp-sp-card  { border-radius:0!important;border:none!important;margin:0!important;box-shadow:none!important;background:#0c0d16!important; }
.arp-sp-card .arp-card__head { background:rgba(168,85,247,.07)!important;border-bottom:1px solid rgba(168,85,247,.17)!important; }
.arp-sp-card .arp-card__title { color:#e6d9ff!important; }
.arp-sp-empty { padding:2.8rem 2rem;text-align:center; }
.arp-sp-empty__ico   { font-size:3.2rem;display:block;margin-bottom:.7rem;color:#c084fc;opacity:.55; }
.arp-sp-empty__title { font-family:var(--font-d);font-size:1.3rem;font-weight:400;letter-spacing:.08em;color:#ddd6fe;margin:0 0 .6rem; }
.arp-sp-empty__sub   { font-size:.84rem;color:#9b8ec4;line-height:1.65;margin:0 auto;max-width:400px; }
.arp-sp-seq-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:.55rem; }
.arp-sp-seq-card { background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);padding:.78rem .72rem;position:relative;transition:border-color .18s,background .18s,box-shadow .18s; }
.arp-sp-seq-card--trigger    { border-color:rgba(168,85,247,.62);background:rgba(168,85,247,.11);box-shadow:0 0 16px rgba(168,85,247,.18); }
.arp-sp-seq-card--attenzione { border-color:rgba(249,115,22,.48);background:rgba(249,115,22,.07); }
.arp-sp-seq-card--normale    { border-color:rgba(255,255,255,.09); }
.arp-sp-seq-card--overlap    { border-top:2px solid rgba(168,85,247,.82)!important; }
.arp-sp-seq-head { display:flex;align-items:center;gap:.32rem;margin-bottom:.48rem; }
.arp-sp-seq-id   { font-family:var(--font-d);font-size:1.35rem;font-weight:400;color:#f0e6ff;line-height:1;letter-spacing:.06em; }
.arp-sp-overlap-tag { font-size:.55rem;font-weight:800;letter-spacing:.07em;color:#c084fc;background:rgba(168,85,247,.2);border-radius:var(--r-pill);padding:.07rem .35rem;border:1px solid rgba(168,85,247,.36); }
.arp-sp-trigger-dot { font-size:.62rem;color:#c084fc;margin-left:auto;filter:drop-shadow(0 0 4px rgba(168,85,247,.85));animation:asp-sp-pulse 1.6s ease-in-out infinite; }
@keyframes asp-sp-pulse { 0%,100%{opacity:1}50%{opacity:.22} }
.arp-sp-seq-nums { display:flex;flex-wrap:wrap;gap:.18rem;margin-bottom:.45rem; }
.arp-sp-num      { font-size:.62rem;font-family:var(--font-m);background:rgba(255,255,255,.08);border-radius:3px;padding:.06rem .26rem;color:#8fa3c8;border:1px solid rgba(255,255,255,.08); }
.arp-sp-seq-delay { display:flex;align-items:baseline;gap:.2rem;margin-bottom:.35rem; }
.arp-sp-delay-val { font-size:1.45rem;font-weight:900;font-family:var(--font-m);line-height:1; }
.arp-sp-delay-val--trigger    { color:#c084fc;text-shadow:0 0 10px rgba(168,85,247,.48); }
.arp-sp-delay-val--attenzione { color:#fb923c; }
.arp-sp-delay-val--normale    { color:var(--c-text); }
.arp-sp-delay-lbl { font-size:.62rem;color:var(--c-dim); }
.arp-sp-delay-bar-wrap { height:4px;background:rgba(255,255,255,.07);border-radius:3px;margin-bottom:.42rem;overflow:hidden; }
.arp-sp-delay-bar { height:100%;border-radius:3px;transition:width .5s ease; }
.arp-sp-delay-bar--normale    { background:linear-gradient(90deg,var(--c-teal),var(--c-blue)); }
.arp-sp-delay-bar--attenzione { background:linear-gradient(90deg,var(--c-orange),#fbbf24); }
.arp-sp-delay-bar--trigger    { background:linear-gradient(90deg,#a855f7,#c084fc);box-shadow:0 0 5px rgba(168,85,247,.38); }
.arp-sp-seq-avg { font-size:.6rem;color:var(--c-dim);display:flex;gap:.22rem;align-items:center; }
.arp-sp-avg-val { color:var(--c-muted);font-weight:700;font-family:var(--font-m); }
.arp-sp-avg-na  { color:var(--c-dim);font-style:italic;font-size:.58rem; }
.arp-sp-no-signals { text-align:center;padding:2.4rem 1.4rem;color:var(--c-muted);font-size:.84rem;line-height:1.65;background:rgba(255,255,255,.018);border-radius:var(--r-sm);margin:.45rem;border:1px dashed rgba(255,255,255,.08); }
.arp-sp-no-signals span { display:block;font-size:2.6rem;margin-bottom:.6rem;opacity:.4; }
.arp-sp-score-tag { font-weight:900!important;color:#f0c040!important;background:rgba(212,162,0,.13)!important;border-color:rgba(212,162,0,.28)!important; }
.arp-sp-signals-list { display:flex;flex-direction:column;gap:.8rem; }
.arp-sp-sig { border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.09);overflow:hidden; }
.arp-sp-sig--premium    { border-color:rgba(168,85,247,.52);background:rgba(168,85,247,.07);box-shadow:0 0 18px rgba(168,85,247,.09); }
.arp-sp-sig--qualificato{ border-color:rgba(212,162,0,.42);background:rgba(212,162,0,.04); }
.arp-sp-sig--base       { border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.04); }
.arp-sp-sig__head { display:flex;justify-content:space-between;align-items:center;padding:.62rem .92rem;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap;gap:.38rem; }
.arp-sp-sig__seq  { font-size:.82rem;color:var(--c-text); }
.arp-sp-sig__seq strong { font-size:.96rem;color:#f0e6ff; }
.arp-sp-sig__badge { font-size:.58rem;font-weight:900;letter-spacing:.1em;padding:.2rem .62rem;border-radius:var(--r-pill); }
.arp-sp-sig--premium    .arp-sp-sig__badge { background:rgba(168,85,247,.28);color:#e9d5ff;border:1px solid rgba(168,85,247,.5); }
.arp-sp-sig--qualificato .arp-sp-sig__badge{ background:rgba(212,162,0,.23);color:#fde68a;border:1px solid rgba(212,162,0,.42); }
.arp-sp-sig--base        .arp-sp-sig__badge{ background:rgba(59,130,246,.2);color:#bfdbfe;border:1px solid rgba(59,130,246,.36); }
.arp-sp-sig__body   { padding:.68rem .92rem; }
.arp-sp-sig__stats  { display:flex;gap:1.4rem;flex-wrap:wrap;margin-bottom:.5rem; }
.arp-sp-sig__stat   { display:flex;flex-direction:column;gap:.08rem; }
.arp-sp-sig__stat em     { font-size:.6rem;color:var(--c-dim);font-style:normal; }
.arp-sp-sig__stat strong { font-size:.95rem;color:#f0e6ff;font-family:var(--font-m); }
.arp-sp-sig__reasons { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.2rem; }
.arp-sp-sig__reasons li { font-size:.73rem;color:var(--c-muted);padding-left:.82rem;position:relative;line-height:1.5; }
.arp-sp-sig__reasons li::before { content:'▸';position:absolute;left:0;font-size:.58rem;color:#a855f7;top:.07rem; }
.arp-sp-focus-desc { font-size:.8rem;color:var(--c-muted);margin:0 0 .9rem;line-height:1.65; }
.arp-sp-focus-grid { display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.9rem; }
@media(max-width:480px){ .arp-sp-focus-grid { grid-template-columns:1fr; } }
.arp-sp-focus-card { border-radius:var(--r-sm);border:1px solid rgba(168,85,247,.26);background:rgba(168,85,247,.07);padding:.88rem; }
.arp-sp-focus-card--trigger { border-color:rgba(168,85,247,.62);background:rgba(168,85,247,.13);box-shadow:0 0 18px rgba(168,85,247,.16); }
.arp-sp-focus-card__head { display:flex;align-items:center;gap:.48rem;margin-bottom:.5rem; }
.arp-sp-focus-id   { font-family:var(--font-d);font-size:1.5rem;font-weight:400;color:#f0e6ff;letter-spacing:.05em; }
.arp-sp-focus-nums { font-size:.7rem;font-family:var(--font-m);color:#9b8ec4; }
.arp-sp-focus-trigger { font-size:.72rem;font-weight:700;color:#c084fc;margin-bottom:.32rem; }
.arp-sp-focus-watch   { font-size:.72rem;font-weight:700;color:#fb923c;margin-bottom:.32rem; }
.arp-sp-focus-ok      { font-size:.72rem;color:var(--c-dim);margin-bottom:.32rem; }
.arp-sp-focus-avg     { font-size:.64rem;color:var(--c-dim); }
.arp-sp-overlap-badge { font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .68rem;border-radius:var(--r-pill);background:rgba(168,85,247,.26);border:1px solid rgba(168,85,247,.48);color:#e9d5ff;box-shadow:0 0 10px rgba(168,85,247,.18);animation:asp-sp-pulse 2.2s ease-in-out infinite; }
.arp-sp-overlap-note { display:flex;align-items:flex-start;gap:.7rem;padding:.82rem .95rem;background:rgba(168,85,247,.11);border-radius:var(--r-sm);border:1px solid rgba(168,85,247,.23);font-size:.77rem;color:#9b8ec4;line-height:1.6;margin-top:.62rem; }
.arp-sp-overlap-ico   { font-size:1.1rem;color:#c084fc;flex-shrink:0;margin-top:.08rem; }
.arp-sp-overlap-note strong { color:#e9d5ff; }
.arp-sp-disclaimer { display:flex;align-items:flex-start;gap:.55rem;padding:.88rem 1.5rem;background:rgba(168,85,247,.05);border-top:1px solid rgba(168,85,247,.13);font-size:.71rem;color:#9b8ec4;line-height:1.65; }
.arp-sp-disclaimer__ico { font-size:.88rem;flex-shrink:0;margin-top:.04rem;color:#c084fc; }
.arp-sp-disclaimer strong { color:#ddd6fe; }

/* ══════════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════════ */
.arp-footer { display:flex;align-items:flex-start;gap:.55rem;padding:.85rem 1.5rem;margin-top:.5rem;background:rgba(212,162,0,.02);border-top:1px solid rgba(212,162,0,.1);font-size:.71rem;color:var(--c-muted);line-height:1.55; }
.arp-footer__ico { font-size:.88rem;flex-shrink:0;margin-top:.04rem; }
.arp-footer strong { color:var(--c-text); }

/* ══════════════════════════════════════════════════════════════════
   UTILITY + ANIMATIONS
══════════════════════════════════════════════════════════════════ */
.arp-hidden     { display:none!important; }
.arp-conf--low  { }
.arp-conf--medium { }
.arp-conf--high { }

@keyframes asp-pulse      { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.62)} }
@keyframes asp-spin-slow  { from{transform:rotate(0deg)}to{transform:rotate(360deg)} }

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════════ */
@media(max-width:768px){
    .asp-header__inner { padding:.75rem 1rem; }
    .asp-logo-img      { width:150px; }
    .asp-header__stats { gap:1.2rem; }
    .asp-hstat__val    { font-size:1.5rem; }
    .asp-signal__body  { grid-template-columns:1fr; }
    .asp-params        { grid-template-columns:1fr 1fr; }
    .asp-roulette      { overflow-x:auto; }
    .asp-rtable        { min-width:520px; }
    .arp-input-card__body { padding:.9rem; }
    .arp-bulk-body     { grid-template-columns:1fr; }
    .arp-grid          { grid-template-columns:1fr; }
}
@media(max-width:480px){
    .aispin-shell      { padding-bottom:2rem; }
    .asp-header__inner { padding:.65rem .85rem; }
    .asp-logo-img      { width:130px; }
    .asp-signal__title { font-size:1.7rem; }
    .asp-main__title   { font-size:1.7rem; }
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO v5 — Header seamless + Daily + Palette oro coerente
══════════════════════════════════════════════════════════════════ */

/* ── Sfondo globale: NERO PURO come il logo ──────────────────────── */
.aispin-shell { background: #000000; }
body:has(.aispin-shell) { background: #000000 !important; background-color: #000000 !important; }
.arp-front { --c-bg: #000000; --c-card: #0a0a0a; --c-card2: #0f0f0f; --c-raised: #131313; --c-input: #0c0c0c; }

/* ── Header: nero totale, zero divisori, logo flottante ──────────── */
.asp-header {
    background:    #000000;
    border-bottom: none;
    padding:       0;
}
.asp-header::after { display: none; } /* rimuove la linea oro sopra */

.asp-header__inner {
    display:     flex;
    align-items: center;
    gap:         2rem;
    padding:     0 2rem 0 0;  /* ZERO padding sinistra — logo a filo */
    flex-wrap:   wrap;
    min-height:  100px;
}

/* Logo: nessun wrapper, nessun bordo, nessun background diverso */
.asp-header__logo {
    flex-shrink: 0;
    background:  #000000;  /* identico allo sfondo */
    padding:     0;
    margin:      0;
    line-height: 0;
}

.asp-logo-img {
    width:        185px;
    height:       auto;
    display:      block;
    object-fit:   contain;
    mix-blend-mode: normal;  /* no blend, il logo è già su nero */
    filter:       none;      /* no drop-shadow che crea bordi */
    background:   transparent;
}

/* Stats sessione: testi bianchi/oro, no sfondi */
.asp-header__stats {
    display:  flex;
    gap:      2rem;
    flex:     1;
    padding:  1.2rem 0;
}

.asp-hstat { display: flex; flex-direction: column; gap: .12rem; }

.asp-hstat__val {
    font-family: var(--font-d, 'Bebas Neue', sans-serif);
    font-size:   2.2rem;
    font-weight: 400;
    letter-spacing: .04em;
    color:       #ffffff;
    line-height: 1;
}

.asp-hstat__val--mono {
    font-family: var(--font-m, monospace);
    font-size:   1.4rem;
    color:       #888;
}

.asp-hstat__lbl {
    font-size:      .58rem;
    font-weight:    700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color:          #555;
}

.asp-hstat--conf.arp-conf--medium .asp-hstat__val { color: #d4a200; }
.asp-hstat--conf.arp-conf--high   .asp-hstat__val { color: #22c55e; }

/* Badge utente */
.asp-user-badge {
    display:       flex;
    align-items:   center;
    gap:           .4rem;
    font-size:     .72rem;
    font-weight:   600;
    color:         #888;
    background:    rgba(255,255,255,.04);
    border:        1px solid rgba(255,255,255,.07);
    padding:       .28rem .75rem;
    border-radius: 999px;
}
.asp-user-badge__ico  { font-size: .85rem; }
.asp-user-badge__name { color: #aaa; }

/* Pill LIVE */
.asp-live-pill {
    display:       flex;
    align-items:   center;
    gap:           .38rem;
    padding:       .28rem .82rem;
    border-radius: 999px;
    font-size:     .62rem;
    font-weight:   900;
    letter-spacing: .12em;
    background:    rgba(34,197,94,.14);
    border:        1px solid rgba(34,197,94,.4);
    color:         #4ade80;
}
.asp-live-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: #4ade80; box-shadow: 0 0 6px #4ade80;
    animation: asp-pulse 1.6s infinite;
    flex-shrink: 0;
}

/* Finestra analisi: nera, bottoni oro */
.asp-header__window {
    display:     flex;
    align-items: center;
    gap:         .42rem;
    padding:     .55rem 2rem;
    background:  #000000;
    border-top:  1px solid rgba(212,162,0,.1);
    flex-wrap:   wrap;
}
.asp-window-lbl {
    font-size:      .56rem;
    font-weight:    800;
    letter-spacing: .14em;
    color:          #444;
    text-transform: uppercase;
    margin-right:   .25rem;
}
.asp-wbtn {
    padding:        .26rem .82rem;
    border-radius:  999px;
    font-size:      .64rem;
    font-weight:    700;
    letter-spacing: .08em;
    text-decoration: none;
    border:         1px solid rgba(212,162,0,.2);
    color:          #666;
    background:     transparent;
    transition:     all .18s;
    cursor:         pointer;
}
.asp-wbtn:hover { border-color: #d4a200; color: #f2c03a; background: rgba(212,162,0,.08); text-decoration: none; }
.asp-wbtn--on   { background: rgba(212,162,0,.2); border-color: #d4a200; color: #f2c03a; box-shadow: 0 0 10px rgba(212,162,0,.25); }

/* ── PANNELLO DISCIPLINA GIORNALIERA ─────────────────────────────── */
.asp-daily {
    margin:        0;
    border-top:    1px solid rgba(212,162,0,.12);
    border-bottom: 1px solid rgba(212,162,0,.12);
}

.asp-daily--ok      { background: linear-gradient(180deg, rgba(212,162,0,.06) 0%, rgba(0,0,0,0) 100%); }
.asp-daily--stop    { background: linear-gradient(180deg, rgba(34,197,94,.08) 0%, rgba(0,0,0,0) 100%); border-top-color: rgba(34,197,94,.35); }
.asp-daily--warning { background: linear-gradient(180deg, rgba(249,115,22,.06) 0%, rgba(0,0,0,0) 100%); border-top-color: rgba(249,115,22,.3); }

.asp-daily__inner {
    display:     flex;
    align-items: center;
    gap:         1.5rem;
    padding:     .9rem 2rem;
    flex-wrap:   wrap;
    max-width:   1320px;
    margin:      0 auto;
}

.asp-daily__status-ico {
    font-size:   1.6rem;
    flex-shrink: 0;
    line-height: 1;
}

.asp-daily__title-col { flex: 1; min-width: 200px; }

.asp-daily__title {
    font-family:    var(--font-d, 'Bebas Neue', sans-serif);
    font-size:      1.1rem;
    font-weight:    400;
    letter-spacing: .1em;
    color:          #d4a200;
    margin:         0;
    line-height:    1.2;
}
.asp-daily__title--stop { color: #4ade80; }
.asp-daily__sub {
    font-size:   .72rem;
    color:       #777;
    margin-top:  .18rem;
    line-height: 1.5;
}

/* Contatori pip */
.asp-daily__counters {
    display:  flex;
    gap:      1.5rem;
    flex-wrap: wrap;
}

.asp-daily__counter { display: flex; flex-direction: column; gap: .28rem; }

.asp-daily__counter-track {
    display: flex;
    gap:     .28rem;
}

.asp-daily__pip {
    width:         22px;
    height:        7px;
    border-radius: 3px;
    background:    rgba(255,255,255,.1);
    border:        1px solid rgba(255,255,255,.12);
    transition:    background .3s;
}
.asp-daily__pip--filled { background: #d4a200; border-color: #f2c03a; box-shadow: 0 0 6px rgba(212,162,0,.5); }

/* Pip vittorie: oro pieno */
.asp-daily__pip--gold        { background: rgba(212,162,0,.12); border-color: rgba(212,162,0,.25); }
.asp-daily__pip--filled-gold { background: #f2c03a; border-color: #ffd87a; box-shadow: 0 0 8px rgba(242,192,58,.7); }

.asp-daily__counter-lbl {
    font-size:      .6rem;
    font-weight:    700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color:          #555;
    display:        flex;
    align-items:    center;
    gap:            .4rem;
}
.asp-daily__counter-lbl--gold { color: #d4a200; }

.asp-daily__rim {
    font-size:     .58rem;
    background:    rgba(249,115,22,.18);
    border:        1px solid rgba(249,115,22,.3);
    color:         #fdba74;
    padding:       .08rem .38rem;
    border-radius: 999px;
}

/* Regola breve */
.asp-daily__rule {
    display:       flex;
    align-items:   center;
    gap:           .4rem;
    font-size:     .68rem;
    font-weight:   800;
    color:         rgba(212,162,0,.7);
    letter-spacing: .05em;
    padding:       .3rem .75rem;
    border-radius: 999px;
    background:    rgba(212,162,0,.07);
    border:        1px solid rgba(212,162,0,.2);
    white-space:   nowrap;
    flex-shrink:   0;
}
.asp-daily__rule-ico { font-size: .8rem; }

/* ── Palette oro coerente col logo — override cards/pulsanti ──────── */

/* Card operativa: nera con accent oro */
.asp-main__card--signal {
    background:    #000000;
    border:        1px solid rgba(212,162,0,.38);
    box-shadow:    0 0 35px rgba(212,162,0,.1);
}
.asp-main__card--signal::before {
    background: linear-gradient(90deg, transparent 0%, #d4a200 40%, #f2c03a 60%, transparent 100%);
    height:     1px;
}

.asp-signal__header { background: rgba(212,162,0,.05); border-bottom-color: rgba(212,162,0,.12); }
.asp-signal__title  { color: #ffffff; text-shadow: 0 0 24px rgba(212,162,0,.18); }

/* Params: nero con bordo oro sottile */
.asp-param   { background: #0a0a0a; border-color: rgba(212,162,0,.14); }
.asp-param--accent { background: rgba(212,162,0,.05); border-color: rgba(212,162,0,.35); }
.asp-param__lbl    { color: #555; }
.asp-param__val    { color: #e8e0cc; }
.asp-param--accent .asp-param__val { color: #f2c03a; font-size: 1.1rem; }

/* Chip xl: bordo oro più visibile */
.arp-chip--xl {
    outline:       2px solid #d4a200;
    outline-offset: 3px;
    box-shadow:    0 0 18px rgba(212,162,0,.4), 0 4px 14px rgba(0,0,0,.8);
}

/* Tavolo: header e bordi oro più intensi */
.asp-tavolo { border-color: rgba(212,162,0,.45); }
.asp-tavolo::before { background: linear-gradient(90deg, transparent, #d4a200 30%, #f2c03a 50%, #d4a200 70%, transparent); height: 1px; }
.asp-tavolo__header { background: #000000; border-bottom: 1px solid rgba(212,162,0,.18); }
.asp-tavolo__header-title { color: #d4a200; }
.asp-tavolo__body { background: #060f09; }

/* Accordions: bordi oro, no sfondi grigi */
.arp-accordion-toggle { background: #000000; border-color: rgba(212,162,0,.14); }
.arp-accordion-toggle:hover { background: rgba(212,162,0,.04); border-color: rgba(212,162,0,.28); }
.arp-accordion-toggle[aria-expanded="true"] { background: rgba(212,162,0,.05); border-color: rgba(212,162,0,.28); }

/* Input card: nero senza spessore */
.arp-input-card { background: #000000; border-bottom: 1px solid rgba(212,162,0,.1); }
.arp-input-card__head { background: rgba(212,162,0,.03); border-bottom-color: rgba(212,162,0,.1); }

/* Pulsante Salva Spin: oro pieno */
.arp-btn--primary {
    background:   linear-gradient(135deg, #d4a200 0%, #b88b00 100%);
    border-color: #d4a200;
    color:        #000000;
    font-weight:  900;
    box-shadow:   0 2px 12px rgba(212,162,0,.4);
    letter-spacing: .04em;
}
.arp-btn--primary:hover { background: linear-gradient(135deg, #f2c03a 0%, #d4a200 100%); box-shadow: 0 4px 18px rgba(212,162,0,.55); }

/* Pulsante Importa: oro outline */
.arp-btn--bulk {
    background:   rgba(212,162,0,.1);
    border-color: rgba(212,162,0,.5);
    color:        #d4a200;
}
.arp-btn--bulk:hover:not(:disabled) { background: rgba(212,162,0,.22); border-color: #d4a200; color: #f2c03a; }

/* Chip numeri sul tavolo: colori più intensi */
.asp-rn--red   { background: linear-gradient(145deg, #cc1825, #7a0010); }
.asp-rn--black { background: linear-gradient(145deg, #141420, #0a0a12); color: #ccc; }
.asp-r0        { background: linear-gradient(145deg, #1a7a42, #0c4020); }

/* Celle attive: verde brillante + bordo oro */
.asp-rn.rn-active, .asp-r0.rn-active {
    background:    linear-gradient(145deg, #22c55e, #15803d) !important;
    box-shadow:    0 0 20px rgba(34,197,94,.9), inset 0 0 0 2px #d4a200 !important;
}

/* Watchlist: oro anziché blu */
.asp-rn.rn-watch {
    background: rgba(212,162,0,.22) !important;
    color:      #f2c03a !important;
    box-shadow: 0 0 12px rgba(212,162,0,.5), inset 0 0 0 1.5px #d4a200 !important;
}

/* Chip importo: ora ha più presenza */
.asp-rchip { font-size: .5rem; background: #d4a200; color: #000; font-weight: 900; }

/* Card operativa watchlist: oro */
.asp-main__card--watchlist { background: #000000; border-color: rgba(212,162,0,.28); }
.asp-state-badge--watch { background: rgba(212,162,0,.14); border-color: rgba(212,162,0,.35); color: #f2c03a; }

/* ── Responsive mobile ──────────────────────────────────────────── */
@media (max-width: 768px) {
    .asp-header__inner { padding: 0 1rem 0 0; gap: 1.2rem; }
    .asp-logo-img      { width: 140px; }
    .asp-header__stats { gap: 1.2rem; }
    .asp-hstat__val    { font-size: 1.6rem; }
    .asp-daily__inner  { padding: .75rem 1rem; gap: 1rem; }
    .asp-daily__rule   { display: none; } /* su mobile si nasconde per spazio */
}

@media (max-width: 480px) {
    .asp-logo-img      { width: 120px; }
    .asp-header__inner { min-height: 80px; }
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — OCR Import Section (.arp-ocr-*)
   v5.1 — Importa da screenshot
══════════════════════════════════════════════════════════════════ */

.arp-ocr-section {
    padding: 0 1.5rem 1.2rem;
}

/* ── Layout due colonne ──────────────────────────────────────────── */
.arp-ocr-body {
    display:               grid;
    grid-template-columns: 320px 1fr;
    gap:                   1.2rem;
    align-items:           start;
    margin-top:            .8rem;
}
@media (max-width: 760px) {
    .arp-ocr-body { grid-template-columns: 1fr; }
}

/* ── Dropzone ────────────────────────────────────────────────────── */
.arp-ocr-dropzone {
    position:      relative;
    border:        1.5px dashed rgba(212,162,0,.35);
    border-radius: var(--r, 12px);
    background:    rgba(212,162,0,.03);
    min-height:    160px;
    display:       flex;
    align-items:   center;
    justify-content: center;
    cursor:        pointer;
    transition:    border-color .2s, background .2s;
    overflow:      hidden;
}
.arp-ocr-dropzone:hover,
.arp-ocr-dropzone--drag {
    border-color: var(--c-gold, #d4a200);
    background:   rgba(212,162,0,.07);
}
.arp-ocr-dropzone--drag {
    box-shadow: 0 0 18px rgba(212,162,0,.2);
}

.arp-ocr-file-input {
    position: absolute;
    inset:    0;
    opacity:  0;
    width:    100%;
    height:   100%;
    cursor:   pointer;
    z-index:  2;
}

.arp-ocr-dropzone__inner {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            .35rem;
    padding:        1.4rem;
    pointer-events: none;
    z-index:        1;
}
.arp-ocr-dropzone__ico  { font-size: 2.2rem; opacity: .5; line-height: 1; }
.arp-ocr-dropzone__lbl  { font-size: .82rem; font-weight: 700; color: var(--c-text, #dde4f0); }
.arp-ocr-dropzone__sub  { font-size: .68rem; color: var(--c-dim, #647090); }

/* Preview immagine caricata */
.arp-ocr-preview-img {
    width:         100%;
    height:        100%;
    object-fit:    contain;
    max-height:    200px;
    border-radius: calc(var(--r, 12px) - 2px);
    display:       block;
    padding:       .4rem;
    background:    #000;
    z-index:       1;
}

/* ── Azioni upload ───────────────────────────────────────────────── */
.arp-ocr-actions {
    display:   flex;
    gap:       .55rem;
    margin-top: .6rem;
    flex-wrap: wrap;
}

/* ── Loader progress ─────────────────────────────────────────────── */
.arp-ocr-loader {
    margin-top: .65rem;
}
.arp-ocr-loader__bar {
    height:        6px;
    background:    rgba(255,255,255,.07);
    border-radius: 3px;
    overflow:      hidden;
    margin-bottom: .3rem;
}
.arp-ocr-loader__fill {
    height:     100%;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--c-gold, #d4a200), var(--c-gold-light, #f2c03a));
    transition: width .35s ease;
    width:      0%;
}
.arp-ocr-loader__lbl {
    font-size:   .68rem;
    color:       var(--c-muted, #b0bbd0);
    font-family: var(--font-m, monospace);
}

/* ── Colonna risultati ───────────────────────────────────────────── */
.arp-ocr-result-col { display: flex; flex-direction: column; gap: .5rem; }

.arp-ocr-result-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    flex-wrap:       wrap;
    gap:             .4rem;
}

.arp-ocr-result-textarea {
    min-height: 110px;
}

/* Counter */
.arp-ocr-counter {
    font-size:   .68rem;
    font-weight: 700;
    font-family: var(--font-m, monospace);
    color:       var(--c-dim, #647090);
}
.arp-ocr-counter--ok { color: var(--c-gold, #d4a200); }

/* ── Warnings ────────────────────────────────────────────────────── */
.arp-ocr-warnings {
    display:       flex;
    align-items:   flex-start;
    gap:           .5rem;
    padding:       .5rem .75rem;
    background:    rgba(249,115,22,.09);
    border:        1px solid rgba(249,115,22,.28);
    border-radius: var(--r-xs, 5px);
    font-size:     .73rem;
    color:         #fdba74;
    line-height:   1.5;
}
.arp-ocr-warn-ico { font-size: .85rem; flex-shrink: 0; }

/* ── Riga conferma ───────────────────────────────────────────────── */
.arp-ocr-confirm-row {
    display:     flex;
    align-items: center;
    gap:         .75rem;
    flex-wrap:   wrap;
    margin-top:  .2rem;
}
.arp-ocr-note {
    font-size:  .66rem;
    color:      var(--c-dim, #647090);
    font-style: italic;
}

/* ── Disclaimer ──────────────────────────────────────────────────── */
.arp-ocr-disclaimer {
    font-size:   .68rem;
    color:       var(--c-dim, #647090);
    margin:      .6rem 0 0;
    line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — Gestione Cassa (.asp-mm-*)
══════════════════════════════════════════════════════════════════ */
.asp-mm-section {
    background:    #000;
    border-bottom: 1px solid rgba(212,162,0,.16);
    border-top:    1px solid rgba(212,162,0,.1);
}
.asp-mm-inner  { max-width:1320px;margin:0 auto;padding:1rem 2rem; }

.asp-mm-header { display:flex;align-items:center;gap:.9rem;margin-bottom:.85rem;flex-wrap:wrap; }
.asp-mm-header__ico   { font-size:1.4rem;flex-shrink:0; }
.asp-mm-header__title { font-family:var(--font-d,'Bebas Neue',sans-serif);font-size:1.2rem;font-weight:400;letter-spacing:.1em;color:#fff;margin:0;line-height:1.1; }
.asp-mm-header__sub   { font-size:.68rem;color:#555;margin:.12rem 0 0; }

.asp-mm-status { font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:.22rem .75rem;border-radius:999px;margin-left:auto; }
.asp-mm-status--ok   { background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.35);color:#4ade80; }
.asp-mm-status--demo { background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.3);color:#fdba74; }

.asp-mm-form { display:flex;flex-direction:column;gap:.6rem; }

.asp-mm-row { display:grid;grid-template-columns:1fr 1.8fr;gap:.85rem;align-items:start; }
.asp-mm-row--secondary { grid-template-columns:1fr 1fr auto;align-items:end; }
@media(max-width:760px) { .asp-mm-row,.asp-mm-row--secondary { grid-template-columns:1fr; } }

.asp-mm-field { display:flex;flex-direction:column;gap:.3rem; }
.asp-mm-field--sm     { min-width:0; }
.asp-mm-field--action { display:flex;align-items:flex-end; }

.asp-mm-label { font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#555;display:flex;align-items:center;gap:.35rem; }
.asp-mm-label__unit { font-size:.7rem;font-weight:900;color:var(--c-gold,#d4a200); }
.asp-mm-label__opt  { font-size:.56rem;color:#444;font-style:italic;text-transform:none;letter-spacing:0; }

.asp-mm-input {
    width:100%;background:#0a0a0a;border:1px solid rgba(212,162,0,.25);
    border-radius:8px;padding:.6rem .85rem;
    font-size:1rem;font-weight:700;color:#fff;font-family:var(--font-m,monospace);
    outline:none;transition:border-color .18s,box-shadow .18s;
    -moz-appearance:textfield;
}
.asp-mm-input::-webkit-inner-spin-button,.asp-mm-input::-webkit-outer-spin-button { -webkit-appearance:none; }
.asp-mm-input:focus { border-color:var(--c-gold,#d4a200);box-shadow:0 0 0 3px rgba(212,162,0,.14); }
.asp-mm-input::placeholder { color:#333;font-style:italic;font-weight:400; }
.asp-mm-input--sm  { font-size:.88rem; }

/* Profilo rischio: bottoni */
.asp-mm-risk-group { display:flex;gap:.4rem;flex-wrap:wrap; }
.asp-mm-risk-btn {
    flex:1;min-width:80px;display:flex;flex-direction:column;align-items:center;
    gap:.15rem;padding:.5rem .55rem;
    background:#0a0a0a;border:1px solid rgba(212,162,0,.18);
    border-radius:8px;cursor:pointer;transition:all .18s;font-family:var(--font,sans-serif);
}
.asp-mm-risk-btn:hover { border-color:var(--c-gold,#d4a200);background:rgba(212,162,0,.07); }
.asp-mm-risk-btn--on  { background:rgba(212,162,0,.18);border-color:var(--c-gold,#d4a200);box-shadow:0 0 10px rgba(212,162,0,.2); }
.asp-mm-risk-btn__ico   { font-size:1rem;line-height:1; }
.asp-mm-risk-btn__label { font-size:.68rem;font-weight:800;color:#fff; }
.asp-mm-risk-btn__desc  { font-size:.56rem;color:#555; }
.asp-mm-risk-btn--on .asp-mm-risk-btn__label { color:var(--c-gold-light,#f2c03a); }
.asp-mm-risk-btn--on .asp-mm-risk-btn__desc  { color:rgba(212,162,0,.7); }

/* Preview calcolo */
.asp-mm-preview {
    display:flex;align-items:center;gap:.5rem;
    padding:.42rem .8rem;background:rgba(212,162,0,.04);
    border:1px solid rgba(212,162,0,.1);border-radius:6px;
    font-size:.72rem;color:#666;
}
.asp-mm-preview__ico { font-size:.85rem; }
#asp-mm-preview-text { flex:1;color:rgba(212,162,0,.8); }

/* Feedback salvataggio */
.asp-mm-feedback { font-size:.75rem;min-height:1em; }
.asp-mm-feedback--success { color:#4ade80; }
.asp-mm-feedback--error   { color:#f87171; }

/* Avviso demo */
.asp-mm-demo-notice {
    padding:.5rem .85rem;font-size:.74rem;line-height:1.55;
    background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.22);
    border-radius:6px;color:#fdba74;
}

/* Nella card advice */
.asp-signal__profile-val--exp  { color:#f2c03a; }
.asp-signal__profile-val--stop { color:#f87171; }
.asp-signal__profile-val--ok   { color:#4ade80; }
.asp-signal__profile-val--warn { color:#fb923c; }

.asp-signal__mm-warning {
    padding:.55rem .85rem;margin-top:.3rem;
    background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);
    border-radius:6px;font-size:.78rem;color:#fca5a5;line-height:1.5;
}

.asp-mm-demo-inline { font-size:.73rem;color:#666;padding:.35rem 0;line-height:1.5; }
.asp-mm-demo-link   { color:var(--c-gold,#d4a200);text-decoration:none; }
.asp-mm-demo-link:hover { color:#f2c03a;text-decoration:underline; }

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO v5.2 — MM sezione ridisegnata: più grande e leggibile
   + auto-calc grid + nuovo ordine sezioni
══════════════════════════════════════════════════════════════════ */

/* Rimuove la visibilità dei vecchi campi chip/cycle se ancora in DOM */
#asp-mm-chip, #asp-mm-cycle,
label[for="asp-mm-chip"], label[for="asp-mm-cycle"] { display: none !important; }

/* ── MM section: più grande ─────────────────────────────────────── */
.asp-mm-inner  { padding: 1.4rem 2rem; }

.asp-mm-header {
    gap:           1.1rem;
    margin-bottom: 1.2rem;
}
.asp-mm-header__title { font-size: 1.4rem; }
.asp-mm-header__sub   { font-size: .76rem; color: #777; }

/* ── Campo cassa: più grande ─────────────────────────────────────── */
.asp-mm-label {
    font-size:      .75rem;
    letter-spacing: .07em;
    margin-bottom:  .5rem;
    color:          #999;
}
.asp-mm-label__unit { font-size: .85rem; }

.asp-mm-input {
    font-size:  1.4rem;
    padding:    .8rem 1rem;
    border:     1px solid rgba(212,162,0,.35);
}
.asp-mm-input:focus {
    border-color: var(--c-gold, #d4a200);
    box-shadow:   0 0 0 3px rgba(212,162,0,.2);
}

/* ── Profilo rischio: bottoni grandi ────────────────────────────── */
.asp-mm-risk-group { gap: .6rem; margin-top: .1rem; }

.asp-mm-risk-btn {
    flex:           1;
    min-width:      100px;
    padding:        .85rem .7rem;
    border-radius:  10px;
    gap:            .3rem;
    border:         1px solid rgba(212,162,0,.22);
    transition:     all .2s;
}
.asp-mm-risk-btn:hover {
    border-color: #d4a200;
    background:   rgba(212,162,0,.1);
    transform:    translateY(-1px);
}
.asp-mm-risk-btn--on {
    border-color: #d4a200;
    background:   rgba(212,162,0,.2);
    box-shadow:   0 0 14px rgba(212,162,0,.25);
    transform:    translateY(-1px);
}
.asp-mm-risk-btn__ico   { font-size: 1.4rem; }
.asp-mm-risk-btn__label { font-size: .82rem; font-weight: 900; }
.asp-mm-risk-btn__desc  { font-size: .67rem; color: #666; }
.asp-mm-risk-btn--on .asp-mm-risk-btn__desc { color: rgba(212,162,0,.75); }

/* ── Auto-calc grid ─────────────────────────────────────────────── */
.asp-mm-auto-calc {
    margin-top: .9rem;
}

.asp-mm-calc-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   .55rem;
}
@media (max-width: 760px) {
    .asp-mm-calc-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .asp-mm-calc-grid { grid-template-columns: 1fr 1fr; }
}

.asp-mm-calc-item {
    background:    rgba(212,162,0,.04);
    border:        1px solid rgba(212,162,0,.12);
    border-radius: 8px;
    padding:       .65rem .85rem;
    display:       flex;
    flex-direction: column;
    gap:           .2rem;
}
.asp-mm-calc-lbl {
    font-size:      .6rem;
    font-weight:    700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color:          #555;
}
.asp-mm-calc-val {
    font-size:   1rem;
    font-weight: 900;
    color:       #fff;
    font-family: var(--font-m, monospace);
}
.asp-mm-calc-val--exp  { color: #f2c03a; }
.asp-mm-calc-val--stop { color: #f87171; }
.asp-mm-calc-val--ok   { color: #4ade80; }
.asp-mm-calc-val--warn { color: #fb923c; }

/* ── Pulsante salva grande ──────────────────────────────────────── */
.asp-mm-save-row {
    display:     flex;
    align-items: center;
    gap:         1rem;
    margin-top:  1rem;
    flex-wrap:   wrap;
}
.asp-mm-save-big {
    font-size:   .92rem;
    padding:     .75rem 1.8rem;
    font-weight: 900;
    letter-spacing: .04em;
}
.asp-mm-save-hint {
    font-size:   .7rem;
    color:       #555;
    font-style:  italic;
}

/* ── Gap extra tra MM e opguide ─────────────────────────────────── */
.asp-main { padding-top: .9rem; }

/* ── Input card spostata sotto: enfasi ridotta ──────────────────── */
.arp-input-card {
    border-top: 1px solid rgba(212,162,0,.1);
}
.arp-input-card__head {
    background: rgba(255,255,255,.015);
}

/* ── Titolo "Inserimento Spin" più piccolo (sezione secondaria) ─── */
.arp-input-card .arp-card__title {
    font-size:   .82rem;
    color:       #888;
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — Ciclo Finali + Progressione
══════════════════════════════════════════════════════════════════ */
.asp-daily__inner--cycle {
    flex-wrap: wrap;
    gap:       1rem;
}

/* Pip ciclo: più sottili, tanti */
.asp-daily__counter-track { flex-wrap: wrap; gap: .22rem; max-width: 320px; }
.asp-daily__pip           { width: 18px; height: 7px; border-radius: 3px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12); transition: background .25s; }
.asp-daily__pip--filled   { background: var(--c-gold,#d4a200); border-color: var(--c-gold-light,#f2c03a); box-shadow: 0 0 5px rgba(212,162,0,.5); }
.asp-daily__pip--gold     { background: rgba(212,162,0,.12); border-color: rgba(212,162,0,.25); }
.asp-daily__pip--filled-gold { background: #f2c03a; border-color: #ffd87a; box-shadow: 0 0 7px rgba(242,192,58,.7); }
.asp-daily__pip--warn     { background: rgba(249,115,22,.18); border-color: rgba(249,115,22,.35); }

/* Puntata corrente */
.asp-cycle-controls {
    display:    flex; gap: 1rem; align-items: flex-start;
    flex-wrap:  wrap; margin-left: auto;
}
.asp-cycle-stake { display: flex; flex-direction: column; gap: .3rem; }
.asp-cycle-stake__row { display: flex; align-items: center; gap: .5rem; }
.asp-cycle-stake__lbl { font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #555; min-width: 80px; }
.asp-cycle-stake__val { font-size: .95rem; font-weight: 900; color: #fff; font-family: var(--font-m,monospace); }
.asp-cycle-stake__val--total { color: #f2c03a; font-size: 1.05rem; }
.asp-cycle-stake__val--warn  { color: #fb923c; }

/* Pulsanti ciclo */
.asp-cycle-btns {
    display: flex; gap: .4rem; flex-wrap: wrap; align-items: center;
}
.asp-cycle-btn {
    padding:        .4rem .85rem; border-radius: 8px;
    font-size:      .72rem; font-weight: 800; letter-spacing: .04em;
    cursor:         pointer; border: 1px solid; transition: all .18s;
    font-family:    var(--font, sans-serif); white-space: nowrap;
    line-height:    1;
}
.asp-cycle-btn--spin  { background: rgba(59,130,246,.15);  border-color: rgba(59,130,246,.4);  color: #93c5fd; }
.asp-cycle-btn--spin:hover  { background: rgba(59,130,246,.28); border-color: #60a5fa; }
.asp-cycle-btn--win   { background: rgba(34,197,94,.18);   border-color: rgba(34,197,94,.45);  color: #4ade80; }
.asp-cycle-btn--win:hover   { background: rgba(34,197,94,.32); border-color: #22c55e; box-shadow: 0 0 12px rgba(34,197,94,.25); }
.asp-cycle-btn--reset { background: rgba(249,115,22,.12);  border-color: rgba(249,115,22,.32); color: #fdba74; }
.asp-cycle-btn--reset:hover { background: rgba(249,115,22,.22); }
.asp-cycle-btn--daily { background: rgba(100,116,139,.1);  border-color: rgba(100,116,139,.25);color: #94a3b8; }
.asp-cycle-btn--daily:hover { background: rgba(100,116,139,.2); }
.asp-cycle-btn:disabled { opacity: .35; cursor: not-allowed; }

/* Feedback inline ciclo */
.asp-cycle-feedback {
    font-size: .74rem; padding: .3rem .6rem; border-radius: 6px;
    margin-top: .35rem; display: none;
}
.asp-cycle-feedback--ok  { background: rgba(34,197,94,.12);  color:#4ade80; border:1px solid rgba(34,197,94,.25); }
.asp-cycle-feedback--win { background: rgba(212,162,0,.14);   color:#f2c03a; border:1px solid rgba(212,162,0,.3); }
.asp-cycle-feedback--stop{ background: rgba(239,68,68,.12);   color:#fca5a5; border:1px solid rgba(239,68,68,.25); }

/* Stop state */
.asp-daily--stop   .asp-cycle-btn--spin, .asp-daily--stop .asp-cycle-btn--win { opacity:.3; pointer-events:none; }

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — Sessione guidata (HIT/NO HIT, session buttons)
══════════════════════════════════════════════════════════════════ */

/* asp-hidden utility */
.asp-hidden { display: none !important; }

/* Pulsanti sessione */
.asp-cycle-btn--start {
    background: linear-gradient(135deg, rgba(34,197,94,.25), rgba(34,197,94,.12));
    border-color: rgba(34,197,94,.6); color: #4ade80;
    font-size: .78rem; padding: .48rem 1.2rem;
}
.asp-cycle-btn--start:hover:not(:disabled) {
    background: linear-gradient(135deg, rgba(34,197,94,.4), rgba(34,197,94,.2));
    box-shadow: 0 0 14px rgba(34,197,94,.3);
}
.asp-cycle-btn--stop {
    background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.4); color: #fca5a5;
}
.asp-cycle-btn--stop:hover:not(:disabled) { background: rgba(239,68,68,.22); }
.asp-cycle-btn--new {
    background: rgba(99,102,241,.14); border-color: rgba(99,102,241,.4); color: #a5b4fc;
}
.asp-cycle-btn--new:hover:not(:disabled) { background: rgba(99,102,241,.28); }

/* Blocco live sessione */
.asp-session-live {
    display:        flex; align-items: flex-start; gap: 1.2rem;
    flex-wrap:      wrap; padding: .55rem .8rem;
    background:     rgba(34,197,94,.04);
    border:         1px solid rgba(34,197,94,.18);
    border-radius:  10px; margin-top: .5rem;
}
.asp-session-live__lbl {
    font-size: .55rem; font-weight: 900; letter-spacing: .12em;
    text-transform: uppercase; color: #555; display: block; margin-bottom: .28rem;
}
.asp-session-live__chips { display: flex; gap: .3rem; flex-wrap: wrap; }

/* Risultato HIT/NO HIT */
.asp-session-live__result {
    display:     flex; align-items: center; gap: .5rem;
    padding:     .32rem .6rem; border-radius: 8px;
    transition:  all .25s;
}
.asp-session-live__result--hit  { background: rgba(34,197,94,.12);  border: 1px solid rgba(34,197,94,.3); }
.asp-session-live__result--miss { background: rgba(239,68,68,.1);   border: 1px solid rgba(239,68,68,.25); }

.asp-session-live__badge { font-size: .72rem; font-weight: 900; letter-spacing: .06em; }
.asp-badge--hit  { color: #4ade80; }
.asp-badge--miss { color: #fca5a5; }

/* Animazione flash HIT */
@keyframes asp-hit-flash {
    0%   { box-shadow: 0 0 0 0 rgba(34,197,94,.8); }
    70%  { box-shadow: 0 0 0 12px rgba(34,197,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
.asp-result-flash { animation: asp-hit-flash .8s ease-out; }

/* Feedback sessione */
.asp-session-feedback {
    font-size: .8rem; padding: .4rem .75rem; border-radius: 7px;
    margin-top: .4rem; min-height: 1.2rem;
}
.asp-session-feedback--active { background: rgba(34,197,94,.1);  color: #4ade80;  border: 1px solid rgba(34,197,94,.25); }
.asp-session-feedback--hit    { background: rgba(34,197,94,.14); color: #4ade80;  border: 1px solid rgba(34,197,94,.3); font-weight:700; }
.asp-session-feedback--miss   { background: rgba(249,115,22,.1); color: #fdba74;  border: 1px solid rgba(249,115,22,.25); }
.asp-session-feedback--stop   { background: rgba(239,68,68,.1);  color: #fca5a5;  border: 1px solid rgba(239,68,68,.25); }
.asp-session-feedback--error  { background: rgba(239,68,68,.12); color: #fca5a5;  border: 1px solid rgba(239,68,68,.3); }

/* Tavolo vuoto: mostra griglia sempre ma con opacità ridotta */
.asp-tavolo--empty { opacity: .45; pointer-events: none; }
.asp-tavolo--empty::after {
    content: 'Inserisci numeri per attivare il tavolo';
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    font-size: .8rem; color: rgba(212,162,0,.5); letter-spacing: .08em;
    pointer-events: none;
}
.asp-tavolo { position: relative; }

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO v5.3 — SESSIONE ATTIVA unified panel + UX refactor
══════════════════════════════════════════════════════════════════ */

/* ── Hide old separate panels (replaced by asp-sa) ─────────────── */
.asp-daily, .asp-mm-section { display: none !important; }

/* ── asp-sa: unified session panel ──────────────────────────────── */
.asp-sa {
    background:    #000;
    border-bottom: 1px solid rgba(212,162,0,.18);
    border-top:    1px solid rgba(212,162,0,.1);
}
.asp-sa__inner  { max-width:1320px; margin:0 auto; padding:1rem 2rem; }

/* Topbar */
.asp-sa__topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.6rem; margin-bottom:.9rem; }
.asp-sa__title  { font-family:var(--font-d,'Bebas Neue',sans-serif); font-size:1.3rem; letter-spacing:.1em; color:#fff; margin:0; line-height:1; }
.asp-sa__strat  { font-size:.66rem; color:rgba(212,162,0,.7); margin:.12rem 0 0; letter-spacing:.06em; text-transform:uppercase; }

/* Badges */
.asp-sa__badges { display:flex; align-items:center; gap:.35rem; flex-wrap:wrap; }
.asp-sa__badge  { font-size:.58rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding:.22rem .65rem; border-radius:999px; border:1px solid; white-space:nowrap; }
.asp-sa__badge--live    { background:rgba(34,197,94,.18); border-color:rgba(34,197,94,.5); color:#4ade80; animation:asp-pulse 1.6s infinite; }
.asp-sa__badge--active  { background:rgba(212,162,0,.14); border-color:rgba(212,162,0,.4); color:#f2c03a; }
.asp-sa__badge--step    { background:rgba(99,102,241,.14); border-color:rgba(99,102,241,.4); color:#a5b4fc; }
.asp-sa__badge--wins    { background:rgba(34,197,94,.1); border-color:rgba(34,197,94,.3); color:#86efac; }
.asp-sa__badge--wins.hi { background:rgba(34,197,94,.25); border-color:#22c55e; color:#4ade80; box-shadow:0 0 8px rgba(34,197,94,.3); }
.asp-sa__badge--win     { background:rgba(34,197,94,.18); border-color:rgba(34,197,94,.5); color:#4ade80; }
.asp-sa__badge--loss    { background:rgba(239,68,68,.14); border-color:rgba(239,68,68,.4); color:#fca5a5; }
.asp-sa__badge--idle    { background:rgba(100,116,139,.12); border-color:rgba(100,116,139,.3); color:#94a3b8; }

/* Body: 2-col grid */
.asp-sa__body { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; align-items:start; }
@media(max-width:900px) { .asp-sa__body { grid-template-columns:1fr; } }

/* Config col (form cassa) */
.asp-sa__config .asp-mm-form { display:flex; flex-direction:column; gap:.5rem; }
.asp-sa__config .asp-mm-row  { grid-template-columns:1fr; gap:.4rem; }
.asp-sa__config .asp-mm-label { font-size:.65rem; color:#888; }
.asp-sa__config .asp-mm-input { font-size:1.1rem; padding:.55rem .8rem; }
.asp-sa__config .asp-mm-risk-group { gap:.35rem; }
.asp-sa__config .asp-mm-risk-btn { padding:.5rem .55rem; }
.asp-sa__config .asp-mm-save-row { margin-top:.5rem; }
.asp-sa__config .asp-mm-save-big { padding:.55rem 1.3rem; font-size:.82rem; }
.asp-sa__config .asp-mm-preview  { margin-top:.35rem; padding:.3rem .6rem; font-size:.68rem; }

/* Stats col */
.asp-sa__kv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem; margin-bottom:.6rem; }
@media(max-width:600px) { .asp-sa__kv-grid { grid-template-columns:1fr 1fr; } }

.asp-sa__kv { background:rgba(212,162,0,.04); border:1px solid rgba(212,162,0,.1); border-radius:7px; padding:.45rem .65rem; display:flex; flex-direction:column; gap:.12rem; }
.asp-sa__k  { font-size:.55rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#555; }
.asp-sa__v  { font-size:.9rem; font-weight:900; color:#e8e0cc; font-family:var(--font-m,monospace); }
.asp-sa__v--gold { color:#f2c03a; }
.asp-sa__v--exp  { color:#f2c03a; }
.asp-sa__v--stop { color:#f87171; }
.asp-sa__v--warn { color:#fb923c; }

/* Pips */
.asp-sa__pips-row { display:flex; gap:1rem; flex-wrap:wrap; margin:.5rem 0; }
.asp-sa__pip-group { display:flex; flex-direction:column; gap:.22rem; }
.asp-sa__pip-lbl { font-size:.58rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#666; }
.asp-sa__pips { display:flex; gap:.2rem; flex-wrap:wrap; }
.asp-sa__pip { width:16px; height:6px; border-radius:3px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); transition:background .25s; }
.asp-sa__pip.on   { background:var(--c-gold,#d4a200); border-color:#f2c03a; box-shadow:0 0 5px rgba(212,162,0,.4); }
.asp-sa__pip.warn { background:rgba(249,115,22,.18); border-color:rgba(249,115,22,.35); }
.asp-sa__pip--gold    { background:rgba(212,162,0,.1); border-color:rgba(212,162,0,.2); }
.asp-sa__pip--gold.on { background:#f2c03a; border-color:#ffd87a; box-shadow:0 0 7px rgba(242,192,58,.6); }

/* Warning */
.asp-sa__warn { font-size:.74rem; padding:.4rem .7rem; background:rgba(249,115,22,.1); border:1px solid rgba(249,115,22,.3); border-radius:6px; color:#fdba74; margin-bottom:.5rem; }

/* Session buttons */
.asp-sa__btns { display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.5rem; }
.asp-sa__btn  { padding:.42rem 1rem; border-radius:8px; font-size:.72rem; font-weight:800; cursor:pointer; border:1px solid; transition:all .18s; font-family:var(--font,sans-serif); white-space:nowrap; }
.asp-sa__btn--start { background:rgba(34,197,94,.15);  border-color:rgba(34,197,94,.5);  color:#4ade80; }
.asp-sa__btn--start:hover { background:rgba(34,197,94,.28); box-shadow:0 0 12px rgba(34,197,94,.2); }
.asp-sa__btn--stop  { background:rgba(239,68,68,.12);  border-color:rgba(239,68,68,.4);  color:#fca5a5; }
.asp-sa__btn--new   { background:rgba(99,102,241,.12); border-color:rgba(99,102,241,.4); color:#a5b4fc; }

/* Live HIT/NO HIT bar */
.asp-sa__live { display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap; padding:.65rem 1rem; background:rgba(34,197,94,.04); border:1px solid rgba(34,197,94,.15); border-radius:10px; margin-top:.75rem; }
.asp-sa__live-s { display:flex; flex-direction:column; gap:.3rem; }
.asp-sa__live-lbl { font-size:.54rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:#555; }
.asp-sa__live-chips { display:flex; gap:.25rem; flex-wrap:wrap; }
.asp-sa__live-result { display:flex; align-items:center; gap:.45rem; padding:.28rem .6rem; border-radius:7px; }
.asp-sa__live-result.hit  { background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.3); }
.asp-sa__live-result.miss { background:rgba(239,68,68,.09); border:1px solid rgba(239,68,68,.25); }
.asp-sa__live-val { font-size:1.1rem; font-weight:900; color:#f2c03a; font-family:var(--font-m,monospace); }

/* ── OCR accordion ───────────────────────────────────────────────── */
.asp-import-acc { border-top:1px solid rgba(212,162,0,.1); }
.asp-import-acc__btn {
    width:100%; display:flex; align-items:center; gap:.6rem;
    padding:.6rem 1.5rem; background:rgba(212,162,0,.03);
    border:none; border-bottom:1px solid transparent; cursor:pointer;
    font-family:var(--font,sans-serif); color:#666; font-size:.72rem;
    font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    transition:background .18s, color .18s;
}
.asp-import-acc__btn:hover { background:rgba(212,162,0,.07); color:#d4a200; }
.asp-import-acc__btn[aria-expanded="true"] { background:rgba(212,162,0,.07); color:#f2c03a; border-bottom-color:rgba(212,162,0,.18); }
.asp-import-acc__chevron { margin-left:auto; transition:transform .25s; }
.asp-import-acc__btn[aria-expanded="true"] .asp-import-acc__chevron { transform:rotate(180deg); }
.asp-import-acc__body { padding:.75rem 0; }

/* ── Compact spacing overrides ────────────────────────────────────── */
.arp-input-card { border-top:1px solid rgba(212,162,0,.1); }
.asp-main       { margin-top:.5rem; }
.asp-tavolo     { margin:.4rem .65rem; }

/* Accordion toggle: ore compact */
.arp-accordion-toggle { padding:.55rem 1.5rem; }

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO 3 — Card principale e blocchi operativi
══════════════════════════════════════════════════════════════════ */

/* Ultimo numero uscito */
.asp-p3-last-num {
    display:     flex; align-items:center; gap:.75rem;
    padding:     .55rem 2rem; background:#000;
    border-bottom: 1px solid rgba(212,162,0,.1);
}
.asp-p3-last-num__lbl { font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#555; }
.asp-p3-last-num__chip { width:42px; height:42px; font-size:1.05rem !important; }
.asp-p3-last-num__sub  { font-size:.65rem; color:#777; }

/* Card principale Pro3 */
.asp-p3-main {
    background:    #000;
    border-bottom: 1px solid rgba(212,162,0,.15);
    padding:       .1rem 0 0;
}
.asp-p3-main__inner {
    max-width: 1320px; margin:0 auto;
    padding:   1rem 2rem; display:flex; flex-direction:column; gap:.9rem;
}

/* Target numeri */
.asp-p3-targets__header { display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; margin-bottom:.7rem; }
.asp-p3-targets__title  { font-family:var(--font-d,'Bebas Neue',sans-serif); font-size:1.6rem; letter-spacing:.08em; color:#fff; margin:0; line-height:1; }
.asp-p3-targets__badge  { font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:.2rem .65rem; border-radius:999px; background:rgba(212,162,0,.14); border:1px solid rgba(212,162,0,.35); color:#f2c03a; }
.asp-p3-targets__ctrl   { font-size:.62rem; font-weight:900; letter-spacing:.1em; padding:.2rem .65rem; border-radius:999px; border:1px solid; }
.asp-p3-targets__ctrl--ok      { background:rgba(34,197,94,.14); border-color:rgba(34,197,94,.4); color:#4ade80; }
.asp-p3-targets__ctrl--pareggio{ background:rgba(212,162,0,.14); border-color:rgba(212,162,0,.4); color:#f2c03a; }
.asp-p3-targets__ctrl--buco    { background:rgba(239,68,68,.14); border-color:rgba(239,68,68,.4); color:#fca5a5; }

.asp-p3-chips { display:flex; gap:.5rem; flex-wrap:wrap; }
.asp-p3-chip  { outline:2px solid rgba(212,162,0,.6); outline-offset:3px; box-shadow:0 0 14px rgba(212,162,0,.3); }

/* KV Grid dati progressione */
.asp-p3-kv-grid {
    display:               grid;
    grid-template-columns: repeat(4,1fr);
    gap:                   .45rem;
    margin-top:            .5rem;
}
@media(max-width:900px)  { .asp-p3-kv-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:600px)  { .asp-p3-kv-grid { grid-template-columns: repeat(2,1fr); } }

.asp-p3-kv {
    background:    rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07);
    border-radius: 8px; padding:.45rem .65rem;
    display:       flex; flex-direction:column; gap:.12rem;
}
.asp-p3-kv--accent  { background:rgba(212,162,0,.07); border-color:rgba(212,162,0,.25); }
.asp-p3-kv--ok      { background:rgba(34,197,94,.07);  border-color:rgba(34,197,94,.2); }
.asp-p3-kv--pareggio{ background:rgba(212,162,0,.07);  border-color:rgba(212,162,0,.2); }
.asp-p3-kv--buco    { background:rgba(239,68,68,.07);  border-color:rgba(239,68,68,.2); }

.asp-p3-k { font-size:.55rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#555; }
.asp-p3-v { font-size:.88rem; font-weight:900; color:#e8e0cc; font-family:var(--font-m,monospace); }
.asp-p3-v--gold { color:#f2c03a; }
.asp-p3-v--big  { font-size:1.1rem; color:#f2c03a; }
.asp-p3-v--win  { color:#4ade80; }
.asp-p3-v--ok      { color:#4ade80; }
.asp-p3-v--pareggio{ color:#f2c03a; }
.asp-p3-v--buco    { color:#fca5a5; }

/* Warning + stop */
.asp-p3-warning { padding:.4rem .65rem; background:rgba(249,115,22,.1); border:1px solid rgba(249,115,22,.3); border-radius:6px; font-size:.74rem; color:#fdba74; }
.asp-p3-stop    { font-size:.7rem; color:#555; font-style:italic; }

/* Pulsanti sessione Pro3 */
.asp-p3-session-btns { display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.25rem; }
.asp-p3-btn { padding:.42rem 1.1rem; border-radius:8px; font-size:.74rem; font-weight:800; cursor:pointer; border:1px solid; transition:all .18s; font-family:var(--font,sans-serif); }
.asp-p3-btn--start { background:rgba(34,197,94,.15);  border-color:rgba(34,197,94,.5);  color:#4ade80; }
.asp-p3-btn--start:hover { background:rgba(34,197,94,.28); }
.asp-p3-btn--stop  { background:rgba(239,68,68,.12);  border-color:rgba(239,68,68,.4);  color:#fca5a5; }
.asp-p3-btn--new   { background:rgba(99,102,241,.12); border-color:rgba(99,102,241,.4); color:#a5b4fc; }

/* No data */
.asp-p3-nodata { text-align:center; padding:2rem 1rem; }
.asp-p3-nodata__ico   { font-size:2.5rem; margin-bottom:.5rem; opacity:.4; }
.asp-p3-nodata__title { font-family:var(--font-d,'Bebas Neue',sans-serif); font-size:1.4rem; color:#888; letter-spacing:.1em; }
.asp-p3-nodata__sub   { font-size:.78rem; color:#555; margin-top:.3rem; max-width:380px; margin-inline:auto; line-height:1.6; }

/* Layout 2 colonne per card Pro3 su desktop */
@media(min-width:900px) {
    .asp-p3-main__inner { flex-direction:row; align-items:flex-start; }
    .asp-p3-targets      { flex:0 0 auto; }
    .asp-p3-chips        { flex-direction:column; gap:.4rem; }
    .asp-p3-chip.arp-chip--xl { width:56px; height:56px; font-size:1.2rem !important; }
    .asp-p3-data         { flex:1; }
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO v6 — Architettura unificata
   Rimuove vecchi pannelli duplicati, aggiunge nuovi
══════════════════════════════════════════════════════════════════ */

/* Nascondi definitivamente i vecchi pannelli duplicati */
.asp-daily, .asp-mm-section, #asp-daily-panel,
.asp-sa, #asp-sessione-attiva { display: none !important; }

/* ── Blocco 1: Config cassa (compact) ───────────────────────────── */
.asp-v6-config {
    background:    #000;
    border-bottom: 1px solid rgba(212,162,0,.18);
}
.asp-v6-config__inner {
    max-width: 1320px; margin:0 auto; padding:.75rem 2rem;
    display: flex; align-items: flex-end; gap: 1rem; flex-wrap: wrap;
}
.asp-v6-config__fields { display:flex; align-items:flex-end; gap:.75rem; flex:1; flex-wrap:wrap; }
.asp-v6-field { display:flex; flex-direction:column; gap:.25rem; }

.asp-v6-label { font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#555; }

.asp-v6-input {
    padding:.5rem .75rem; background:#0a0a0a;
    border:1px solid rgba(212,162,0,.28); border-radius:7px;
    font-size:.95rem; font-weight:700; color:#fff; font-family:var(--font-m,monospace);
    outline:none; width:120px;
    -moz-appearance:textfield;
}
.asp-v6-input::-webkit-inner-spin-button { -webkit-appearance:none; }
.asp-v6-input:focus { border-color:#d4a200; box-shadow:0 0 0 2px rgba(212,162,0,.15); }

.asp-v6-risk-row { display:flex; gap:.3rem; }
.asp-v6-risk-btn {
    padding:.3rem .7rem; border-radius:7px; font-size:.65rem; font-weight:700;
    background:#0a0a0a; border:1px solid rgba(212,162,0,.18); color:#666;
    cursor:pointer; transition:all .16s; white-space:nowrap;
}
.asp-v6-risk-btn:hover { border-color:#d4a200; color:#f2c03a; background:rgba(212,162,0,.07); }
.asp-v6-risk-btn.on { background:rgba(212,162,0,.18); border-color:#d4a200; color:#f2c03a; }

.asp-v6-field--computed { flex:1; min-width:200px; }
.asp-v6-computed { display:flex; gap:.55rem; flex-wrap:wrap; }
.asp-v6-kv { display:flex; flex-direction:column; font-size:.68rem; color:#666; }
.asp-v6-kv strong { color:#f2c03a; font-size:.85rem; font-family:var(--font-m,monospace); }
.asp-v6-hint { font-size:.68rem; color:#444; font-style:italic; }

.asp-v6-save-btn {
    padding:.42rem 1.1rem; background:linear-gradient(135deg,#d4a200,#b88b00);
    border:none; border-radius:7px; color:#000; font-size:.72rem; font-weight:900;
    cursor:pointer; white-space:nowrap; flex-shrink:0;
}
.asp-v6-save-btn:hover { background:linear-gradient(135deg,#f2c03a,#d4a200); }
.asp-v6-save-fb { font-size:.68rem; color:#4ade80; min-width:80px; }

/* ── Live bar dentro la card Pro3 ───────────────────────────────── */
.asp-p3-live-bar {
    display:     flex; align-items:center; gap:1.2rem; flex-wrap:wrap;
    padding:     .5rem .85rem; margin-bottom:.4rem;
    background:  rgba(34,197,94,.05);
    border:      1px solid rgba(34,197,94,.2);
    border-radius: 8px;
}
.asp-p3-live-item { display:flex; flex-direction:column; gap:.12rem; }
.asp-p3-live-lbl  { font-size:.53rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#555; }
.asp-p3-live-val  { font-size:.88rem; font-weight:900; color:#e8e0cc; font-family:var(--font-m,monospace); }
.asp-p3-live-hit  { color:#4ade80; }
.asp-p3-live-miss { color:#fca5a5; }

/* Daily done message */
.asp-p3-daily-done {
    font-size:.82rem; font-weight:700; color:#4ade80;
    padding:.4rem .75rem; background:rgba(34,197,94,.1);
    border:1px solid rgba(34,197,94,.3); border-radius:7px;
}

/* ── Compact spacing v6 ─────────────────────────────────────────── */
.asp-p3-main__inner { padding:.85rem 2rem; }
@media(max-width:600px) { .asp-v6-config__inner,.asp-p3-main__inner { padding:.65rem 1rem; } }

/* ══════════════════════════════════════════════════════════════════
   CICLO OPERATIVO ATTIVO — Premium Casino HUD
   AI SPIN PRO 3 — v6.1
══════════════════════════════════════════════════════════════════ */

/* ── Layout container ────────────────────────────────────────────── */
.aco {
    background:    #000;
    border-top:    1px solid rgba(212,162,0,.15);
    border-bottom: 1px solid rgba(212,162,0,.2);
    position:      relative;
    overflow:      hidden;
}

/* Texture scanline premium */
.aco::before {
    content:    '';
    position:   absolute; inset:0;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 3px,
        rgba(255,255,255,.012) 3px,
        rgba(255,255,255,.012) 4px
    );
    pointer-events: none; z-index: 0;
}

.aco__inner {
    max-width:  1320px; margin: 0 auto;
    padding:    .85rem 2rem 1rem;
    position:   relative; z-index: 1;
    display:    flex; flex-direction: column; gap: .65rem;
}

/* ── Header ──────────────────────────────────────────────────────── */
.aco__header {
    display:     flex; align-items: center;
    justify-content: space-between;
    flex-wrap:   wrap; gap: .5rem;
}

.aco__title {
    font-family:    var(--font-d, 'Bebas Neue', sans-serif);
    font-size:      .72rem;
    letter-spacing: .25em;
    color:          rgba(212,162,0,.55);
    text-transform: uppercase;
    display:        block;
    line-height:    1;
}

.aco__subtitle {
    font-family:    var(--font-d, 'Bebas Neue', sans-serif);
    font-size:      1.05rem;
    letter-spacing: .1em;
    color:          #fff;
    display:        block;
    line-height:    1.1;
    margin-top:     .15rem;
}

.aco__header-right {
    display:     flex; align-items: center; gap: .6rem; flex-wrap: wrap;
}

/* State badges */
.aco__state {
    font-size:      .58rem; font-weight: 900; letter-spacing: .15em;
    text-transform: uppercase; padding: .2rem .75rem; border-radius: 999px;
    border:         1px solid;
}
.aco__state--live   {
    background: rgba(34,197,94,.15); border-color: rgba(34,197,94,.55);
    color: #4ade80;
    animation: aco-pulse-badge 1.8s infinite;
}
.aco__state--done   { background: rgba(212,162,0,.18); border-color: rgba(212,162,0,.6);  color: #f2c03a; }
.aco__state--bust   { background: rgba(239,68,68,.14);  border-color: rgba(239,68,68,.5);  color: #fca5a5; }
.aco__state--idle   { background: rgba(100,116,139,.1); border-color: rgba(100,116,139,.3);color: #94a3b8; }

@keyframes aco-pulse-badge {
    0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,.35); }
    50%      { box-shadow: 0 0 0 6px rgba(34,197,94,0); }
}

.aco__exposure {
    font-size:   .62rem; font-weight: 700; letter-spacing: .06em;
    color:       rgba(212,162,0,.7); font-family: var(--font-m, monospace);
}

/* ── Track wrapper ───────────────────────────────────────────────── */
.aco__track-wrap { display: flex; flex-direction: column; gap: .35rem; }
.aco__track-wrap--wins { margin-top: .1rem; }

.aco__track-label {
    font-size:      .54rem; font-weight: 900; letter-spacing: .18em;
    text-transform: uppercase; color: #3a3a3a;
}
.aco__track-label--gold { color: rgba(212,162,0,.45); }

/* ── Chip row: scroll orizzontale mobile ─────────────────────────── */
.aco__chips {
    display:    flex; gap: .32rem; flex-wrap: wrap;
    align-items: center;
}
.aco__chips--wins { flex-wrap: nowrap; gap: .55rem; }

@media (max-width: 600px) {
    .aco__chips {
        flex-wrap:  nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: .2rem;
    }
    .aco__chips::-webkit-scrollbar { display: none; }
}

/* ══ FICHE OPERATIVA ═════════════════════════════════════════════ */
.aco-chip--op {
    width:         36px; height: 36px;
    border-radius: 50%;
    display:       flex; align-items: center; justify-content: center;
    position:      relative;
    cursor:        default;
    flex-shrink:   0;
    scroll-snap-align: start;
    transition:    box-shadow .25s, background .25s, border-color .25s;

    /* Empty state: dark matte with thin gold border */
    background:    radial-gradient(circle at 40% 35%, #1a1a1a 0%, #0d0d0d 100%);
    border:        1.5px solid rgba(212,162,0,.22);
    box-shadow:    inset 0 1px 0 rgba(255,255,255,.04),
                   0 2px 6px rgba(0,0,0,.6);
}

/* Inner ring decorativo */
.aco-chip--op::before {
    content:       '';
    position:      absolute;
    inset:         4px;
    border-radius: 50%;
    border:        1px solid rgba(212,162,0,.1);
}

.aco-chip__val {
    font-size:      .36rem; font-weight: 900; letter-spacing: .04em;
    color:          rgba(212,162,0,.28);
    font-family:    var(--font-m, monospace);
    position:       relative; z-index: 1;
}

/* Filled operative chip */
.aco-chip--op.aco-chip--on {
    background: radial-gradient(circle at 40% 35%,
        #b88b00 0%, #8a6700 40%, #5a4200 100%);
    border-color: #d4a200;
    box-shadow:   0 0 10px rgba(212,162,0,.45),
                  0 0 3px rgba(212,162,0,.8),
                  inset 0 1px 0 rgba(255,255,255,.15),
                  0 2px 6px rgba(0,0,0,.5);
}
.aco-chip--op.aco-chip--on .aco-chip__val { color: rgba(255,230,120,.9); }
.aco-chip--op.aco-chip--on::before { border-color: rgba(255,220,80,.3); }

/* Current step (last filled): extra glow */
.aco-chip--op.aco-chip--current {
    background: radial-gradient(circle at 40% 35%,
        #f2c03a 0%, #d4a200 40%, #9a7400 100%);
    border-color: #f5d060;
    box-shadow:   0 0 20px rgba(212,162,0,.9),
                  0 0 8px rgba(242,192,58,1),
                  inset 0 2px 0 rgba(255,255,255,.25),
                  0 3px 10px rgba(0,0,0,.6);
    animation:    aco-glow-current 2s ease-in-out infinite alternate;
}
@keyframes aco-glow-current {
    from { box-shadow: 0 0 14px rgba(212,162,0,.7), 0 0 5px rgba(242,192,58,.8), inset 0 2px 0 rgba(255,255,255,.2); }
    to   { box-shadow: 0 0 28px rgba(212,162,0,1),  0 0 12px rgba(242,192,58,1), inset 0 2px 0 rgba(255,255,255,.3); }
}
.aco-chip--op.aco-chip--current .aco-chip__val { color: #000; font-weight: 900; }

/* Warning zone (last 3 steps) */
.aco-chip--op.aco-chip--warn {
    background: radial-gradient(circle at 40% 35%,
        #c04800 0%, #8c3200 40%, #5c1e00 100%);
    border-color: #f97316;
    box-shadow:   0 0 12px rgba(249,115,22,.6),
                  0 0 4px rgba(249,115,22,.9),
                  inset 0 1px 0 rgba(255,255,255,.1);
}
.aco-chip--op.aco-chip--warn .aco-chip__val { color: rgba(255,180,100,.9); }

/* ══ FICHE VITTORIA ══════════════════════════════════════════════ */
.aco-chip--win {
    width:         52px; height: 52px;
    border-radius: 50%;
    display:       flex; align-items: center; justify-content: center;
    position:      relative;
    flex-shrink:   0;
    transition:    all .4s cubic-bezier(.175,.885,.32,1.275);

    /* Empty: dark elegant */
    background:    radial-gradient(circle at 40% 35%, #1c1c0a 0%, #0d0d00 100%);
    border:        2px solid rgba(212,162,0,.2);
    box-shadow:    inset 0 1px 0 rgba(255,255,255,.03),
                   0 3px 10px rgba(0,0,0,.7);
}

.aco-chip--win::before {
    content:       '';
    position:      absolute; inset: 5px;
    border-radius: 50%;
    border:        1px solid rgba(212,162,0,.12);
}

.aco-chip__inner {
    position:   relative; z-index: 1;
    display:    flex; align-items: center; justify-content: center;
    width:      100%; height: 100%;
}

.aco-chip__num {
    font-size:   .78rem; font-weight: 900;
    color:       rgba(212,162,0,.25);
    font-family: var(--font-d, 'Bebas Neue', sans-serif);
    letter-spacing: .06em;
}

.aco-chip__star {
    font-size:   1.25rem;
    color:       #f2c03a;
    line-height: 1;
    text-shadow: 0 0 10px rgba(242,192,58,.8);
}

/* Won: full gold premium */
.aco-chip--win.aco-chip--won {
    background: radial-gradient(circle at 35% 30%,
        #fff9c4 0%,
        #f2c03a 20%,
        #d4a200 50%,
        #9a7400 80%,
        #6b5000 100%);
    border:     2px solid #f5d060;
    box-shadow: 0 0 30px rgba(212,162,0,.9),
                0 0 15px rgba(242,192,58,.7),
                0 0 5px  rgba(255,255,200,.5),
                inset 0 2px 0 rgba(255,255,255,.35),
                0 4px 12px rgba(0,0,0,.6);
}
.aco-chip--win.aco-chip--won::before { border-color: rgba(255,255,180,.35); }
.aco-chip--win.aco-chip--won .aco-chip__star {
    color:       #fff;
    text-shadow: 0 0 8px rgba(255,255,180,.9), 0 1px 0 rgba(0,0,0,.5);
}

/* Shine sweep animation on won chips */
.aco-chip--win.aco-chip--won::after {
    content:    '';
    position:   absolute;
    top:        -50%; left: -50%;
    width:      200%; height: 200%;
    background: linear-gradient(115deg,
        transparent 0%,
        transparent 40%,
        rgba(255,255,255,.25) 50%,
        transparent 60%,
        transparent 100%);
    border-radius: 50%;
    animation:  aco-shine 3s ease-in-out infinite;
}
@keyframes aco-shine {
    0%,80%,100% { transform: translateX(-100%) rotate(0deg); opacity:0; }
    85%         { transform: translateX(0%)    rotate(0deg); opacity:1; }
}

/* ── Vittorie label ───────────────────────────────────────────────── */
.aco__wins-label {
    font-size:      .64rem; font-weight: 700; letter-spacing: .06em;
    color:          rgba(212,162,0,.6);
    display:        flex; align-items: center; gap: .5rem;
    margin-top:     .15rem;
}
.aco__wins-warn {
    font-size:   .6rem; font-weight: 900; color: #fb923c;
    letter-spacing: .08em; text-transform: uppercase;
    background:  rgba(249,115,22,.12); border: 1px solid rgba(249,115,22,.3);
    padding:     .1rem .45rem; border-radius: 4px;
}

/* ── Responsive tablet ───────────────────────────────────────────── */
@media (max-width: 900px) {
    .aco-chip--op  { width: 30px; height: 30px; }
    .aco-chip--win { width: 44px; height: 44px; }
    .aco-chip__val { font-size: .3rem; }
    .aco__inner    { padding: .7rem 1rem; }
}
@media (max-width: 600px) {
    .aco-chip--op  { width: 28px; height: 28px; }
    .aco-chip--win { width: 40px; height: 40px; }
    .aco__chips--wins { gap: .4rem; }
}

/* ── Animazione inserimento chip ─────────────────────────────────── */
@keyframes aco-chip-activate {
    0%   { transform: scale(.7);  opacity: 0; box-shadow: none; }
    60%  { transform: scale(1.15);opacity: 1; }
    100% { transform: scale(1);   opacity: 1; }
}
.aco-chip--activating {
    animation: aco-chip-activate .4s cubic-bezier(.175,.885,.32,1.275) forwards;
}

/* ── Animazione reset ciclo ──────────────────────────────────────── */
@keyframes aco-chip-reset {
    0%   { transform: scale(1);   opacity: 1; }
    40%  { transform: scale(1.1); opacity: .8; filter: brightness(1.5); }
    100% { transform: scale(1);   opacity: 1; filter: none; }
}
.aco-chip--resetting {
    animation: aco-chip-reset .35s ease-out forwards;
}

/* ── Win flash: tutta la riga lampeggia oro ──────────────────────── */
@keyframes aco-win-flash {
    0%,100% { background: transparent; }
    20%     { background: rgba(212,162,0,.18); }
    40%     { background: transparent; }
    60%     { background: rgba(212,162,0,.12); }
}
.aco--win-flash { animation: aco-win-flash .7s ease-out; }

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — Smart Recovery Shield + Premium Chip Images
   v6.2 — Final
══════════════════════════════════════════════════════════════════ */

/* ── Fiche: image-based premium ─────────────────────────────────── */
.aco-chip__img {
    position:      absolute;
    inset:         0;
    width:         100%;
    height:        100%;
    object-fit:    cover;
    border-radius: 50%;
    opacity:       0.18;         /* vuota: quasi invisibile */
    transition:    opacity .3s, filter .3s;
    z-index:       0;
    pointer-events:none;
}
.aco-chip--op.aco-chip--on  .aco-chip__img { opacity: 0.75; filter: brightness(1.1) saturate(1.2); }
.aco-chip--op.aco-chip--current .aco-chip__img { opacity: 1; filter: brightness(1.3) saturate(1.4); }
.aco-chip--op.aco-chip--warn .aco-chip__img { opacity: .8; filter: brightness(.9) sepia(.4) saturate(2); }

.aco-chip--win .aco-chip__img  { opacity: 0.12; transition: opacity .4s, filter .4s; }
.aco-chip--win.aco-chip--won .aco-chip__img {
    opacity: 1;
    filter:  brightness(1.15) saturate(1.3) drop-shadow(0 0 8px rgba(242,192,58,.8));
}

/* Overlay glow layer */
.aco-chip__overlay {
    position:       absolute; inset: 0;
    border-radius:  50%;
    pointer-events: none;
    z-index:        2;
    transition:     box-shadow .3s, background .3s;
}
.aco-chip--op.aco-chip--on .aco-chip__overlay {
    background: radial-gradient(circle at 35% 30%, rgba(255,230,80,.12) 0%, transparent 70%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.aco-chip--op.aco-chip--current .aco-chip__overlay {
    background: radial-gradient(circle at 35% 30%, rgba(255,230,80,.22) 0%, transparent 65%);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.35), 0 0 20px rgba(212,162,0,.9);
}
.aco-chip--win.aco-chip--won .aco-chip__overlay {
    background: radial-gradient(circle at 35% 25%, rgba(255,255,200,.3) 0%, transparent 60%);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.4);
}

/* ── Fase coloring per fiche operative ───────────────────────────── */
.aco-chip--fase-recovery_soft .aco-chip__img  { filter: brightness(1.1) hue-rotate(20deg) saturate(1.3); }
.aco-chip--fase-recovery_hard .aco-chip__img  { filter: brightness(.9) hue-rotate(-15deg) sepia(.5) saturate(2); }
.aco-chip--fase-recovery_soft .aco-chip__val  { color: rgba(251,191,36,.95); }
.aco-chip--fase-recovery_hard .aco-chip__val  { color: rgba(252,165,165,.95); }

/* ── Recovery Shield bar ─────────────────────────────────────────── */
.aco__recovery-bar {
    display:     flex;
    align-items: center;
    gap:         1.2rem;
    flex-wrap:   wrap;
    padding:     .6rem .0;
    border-top:  1px solid rgba(255,255,255,.05);
    margin-top:  .4rem;
}

/* Fase AI badge */
.aco__fase { display:flex; align-items:center; gap:.4rem; }
.aco__fase-lbl {
    font-size:      .52rem; font-weight:900; letter-spacing:.14em;
    text-transform: uppercase; color:#333;
}
.aco__fase-badge {
    font-size:      .62rem; font-weight:800; letter-spacing:.08em;
    text-transform: uppercase; padding:.18rem .6rem;
    border-radius:  999px; border: 1px solid;
}
.aco__fase-badge--base {
    background: rgba(34,197,94,.1); border-color:rgba(34,197,94,.35); color:#4ade80;
}
.aco__fase-badge--recovery_soft {
    background: rgba(251,191,36,.12); border-color:rgba(251,191,36,.45); color:#fbbf24;
}
.aco__fase-badge--recovery_hard {
    background: rgba(239,68,68,.14); border-color:rgba(239,68,68,.5); color:#fca5a5;
    animation: aco-pulse-badge 1.4s infinite;
}

/* Pressure Index */
.aco__pressure { display:flex; align-items:center; gap:.5rem; flex:1; min-width:140px; max-width:260px; }
.aco__pressure-lbl {
    font-size:.52rem; font-weight:900; letter-spacing:.14em;
    text-transform:uppercase; color:#333; flex-shrink:0;
}
.aco__pressure-bar-wrap {
    flex:        1;
    height:      5px;
    background:  rgba(255,255,255,.06);
    border-radius: 99px;
    overflow:    hidden;
    position:    relative;
}
.aco__pressure-bar {
    height:       100%;
    border-radius: 99px;
    transition:   width .6s cubic-bezier(.4,0,.2,1), background .4s;
    background:   linear-gradient(90deg, #22c55e, #22c55e);  /* default: verde */
}
/* Colori dinamici via JS, ma anche via CSS per il primo render */
.aco__pressure-bar[data-value]           { background: linear-gradient(90deg, #22c55e 0%, #4ade80 100%); }

/* JS aggiornerà il colore, ma prendiamo anche le soglie statiche */
.aco__pressure-val {
    font-size:   .62rem; font-weight:900; font-family:var(--font-m,monospace);
    flex-shrink: 0; min-width: 44px; text-align:right;
}
.aco__pressure-val--ok      { color: #4ade80; }
.aco__pressure-val--warning { color: #fbbf24; }
.aco__pressure-val--danger  { color: #fca5a5; }

/* Stop loss count */
.aco__stops { display:flex; align-items:center; gap:.35rem; }
.aco__stops-lbl { font-size:.52rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:#333; }
.aco__stops-val { font-size:.72rem; font-weight:900; color:#e8e0cc; font-family:var(--font-m,monospace); }

/* Lock badge */
.aco__lock-badge {
    display:     flex; align-items:center; gap:.45rem;
    padding:     .3rem .75rem; border-radius:8px;
    background:  rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.35);
    flex:        1;
}
.aco__lock-ico  { font-size:.9rem; }
.aco__lock-msg  { font-size:.65rem; font-weight:700; color:#fca5a5; line-height:1.4; }

/* Warning badge (no lock, solo pressione alta) */
.aco__warn-badge {
    font-size:  .65rem; font-weight:700; color:#fbbf24;
    padding:    .25rem .6rem; border-radius:6px;
    background: rgba(251,191,36,.1); border:1px solid rgba(251,191,36,.3);
}

/* ── Win Lock & Daily Lock status nella card Pro3 ─────────────────── */
.asp-p3-lock-overlay {
    display:     flex; align-items:center; gap:.75rem;
    padding:     .75rem 1rem; border-radius:10px; margin-bottom:.6rem;
    background:  rgba(239,68,68,.08);
    border:      1px solid rgba(239,68,68,.28);
    border-left: 3px solid #ef4444;
}
.asp-p3-lock-overlay--win {
    background: rgba(212,162,0,.1);
    border-color:rgba(212,162,0,.35);
    border-left-color: #d4a200;
}
.asp-p3-lock-ico  { font-size:1.4rem; }
.asp-p3-lock-text { font-size:.78rem; font-weight:700; color:#fca5a5; line-height:1.5; }
.asp-p3-lock-text--win { color:#f2c03a; }

/* ── Pressure mini-indicator nel chip corrente ────────────────────── */
.aco-chip--current::after {
    content:       '';
    position:      absolute;
    bottom:        -6px; left: 50%;
    transform:     translateX(-50%);
    width:         4px; height:4px;
    border-radius: 50%;
    background:    #f2c03a;
    box-shadow:    0 0 6px rgba(212,162,0,.9);
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width:700px) {
    .aco__recovery-bar { gap:.75rem; }
    .aco__pressure      { max-width:none; flex-basis:100%; }
    .aco__lock-badge    { flex-basis:100%; }
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — AREA OPERATIVA LIVE (unified 3-col card)
   v6.3 — Unified layout
══════════════════════════════════════════════════════════════════ */

/* ── Hide old separate blocks ────────────────────────────────────── */
.asp-p3-main, #asp-p3-last-number,
.aco[id="aco-panel"]:not(.arp-opguide__col) { display: none !important; }

/* ── Section wrapper ─────────────────────────────────────────────── */
.arp-opguide {
    background:    #000;
    border-top:    1px solid rgba(212,162,0,.15);
    border-bottom: 1px solid rgba(212,162,0,.2);
    position:      relative;
    overflow:      hidden;
}
/* scanline texture */
.arp-opguide::before {
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.01) 3px,rgba(255,255,255,.01) 4px);
}

/* ── Header ──────────────────────────────────────────────────────── */
.arp-opguide__header {
    display:     flex; align-items: center; justify-content: space-between;
    flex-wrap:   wrap; gap: .5rem;
    padding:     .65rem 2rem .0;
    position:    relative; z-index: 1;
    border-bottom: 1px solid rgba(212,162,0,.07);
    padding-bottom: .5rem;
}
.arp-opguide__title {
    font-family:    var(--font-d, 'Bebas Neue', sans-serif);
    font-size:      .72rem; letter-spacing: .25em;
    color:          rgba(212,162,0,.55); text-transform: uppercase;
    display: block; line-height: 1;
}
.arp-opguide__subtitle {
    font-family:    var(--font-d, 'Bebas Neue', sans-serif);
    font-size:      1.05rem; letter-spacing: .1em; color: #fff;
    display: block; line-height: 1.1; margin-top: .12rem;
}
.arp-opguide__header-right { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }

/* ── Body: 3 columns ────────────────────────────────────────────── */
.arp-opguide__body {
    display:   grid;
    grid-template-columns: 220px 1fr 200px;
    gap:       0;
    position:  relative; z-index: 1;
    min-height:240px;
}
@media (max-width:1100px) {
    .arp-opguide__body { grid-template-columns: 200px 1fr 180px; }
}
@media (max-width:860px) {
    .arp-opguide__body { grid-template-columns: 1fr 1fr; }
    .arp-opguide__col--target { grid-column: 1 / -1; border-right: none; }
}
@media (max-width:560px) {
    .arp-opguide__body { grid-template-columns: 1fr; }
}

/* Shared col styles */
.arp-opguide__col {
    padding:     .85rem 1.2rem;
    display:     flex; flex-direction: column; gap: .65rem;
}
.arp-opguide__col--target {
    border-right: 1px solid rgba(212,162,0,.1);
}
.arp-opguide__col--cycle {
    border-right: 1px solid rgba(212,162,0,.1);
    background:   rgba(212,162,0,.015);
}
.arp-opguide__col--status {
    background: rgba(0,0,0,.25);
}

/* ── Col SX: Ultimo numero + target ────────────────────────────── */
.arp-opguide__last {
    display:     flex; flex-direction: column; align-items: flex-start; gap: .3rem;
    padding-bottom: .6rem; border-bottom: 1px solid rgba(255,255,255,.05);
}
.arp-opguide__last-lbl {
    font-size:.54rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; color:#3a3a3a;
}
.arp-opguide__last-color { font-size:.65rem; color:#666; margin-top:.1rem; }

.arp-opguide__target-nums {}
.arp-opguide__target-header {
    display:   flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .5rem;
}
.arp-opguide__target-title {
    font-family: var(--font-d,'Bebas Neue',sans-serif);
    font-size:   1.35rem; letter-spacing: .07em; color: #fff; margin: 0; line-height:1;
}
.arp-opguide__chips { display: flex; gap: .45rem; flex-wrap: wrap; }

.arp-opguide__stop {
    font-size:  .67rem; color: #444; font-style: italic; line-height: 1.5;
    margin-top: auto;
}

/* ── Col CX: kv row + fiche ─────────────────────────────────────── */
.arp-opguide__kv-row {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   .32rem;
}
@media (max-width:900px) { .arp-opguide__kv-row { grid-template-columns: repeat(2,1fr); } }

/* Keep existing asp-p3-kv styles — just override size here */
.arp-opguide__col--cycle .asp-p3-kv { padding: .35rem .5rem; }
.arp-opguide__col--cycle .asp-p3-k  { font-size: .52rem; }
.arp-opguide__col--cycle .asp-p3-v  { font-size: .78rem; }

/* Recovery bar inside cycle col: compact */
.arp-opguide__col--cycle .aco__recovery-bar {
    padding:    .4rem 0 0; margin-top: 0; gap: .75rem; flex-wrap: wrap;
    border-top: 1px solid rgba(255,255,255,.04);
}

/* ── Col DX: vittorie + esito + pulsanti ────────────────────────── */
.arp-opguide__col--status { align-items: center; text-align: center; }
.arp-opguide__col--status .aco__track-wrap--wins { align-items: center; }
.arp-opguide__col--status .aco__chips--wins { justify-content: center; flex-wrap: wrap; gap: .4rem; }
.arp-opguide__col--status .aco-chip--win  { width: 64px; height: 64px; }
.arp-opguide__col--status .aco-chip__num  { font-size: 1rem; }
.arp-opguide__col--status .aco-chip__star { font-size: 1.6rem; }

/* Esito HIT/NO HIT */
.arp-opguide__esito {
    display:     flex; flex-direction: column; align-items: center; gap: .2rem;
    padding:     .45rem .7rem; border-radius: 8px; width: 100%;
}
.arp-opguide__esito--hit  { background:rgba(34,197,94,.1);  border:1px solid rgba(34,197,94,.28); }
.arp-opguide__esito--miss { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.22); }
.arp-opguide__esito-lbl   { font-size:.54rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:#555; }
.arp-opguide__esito-val   { font-size:.95rem; font-weight:900; }
.arp-opguide__esito--hit  .arp-opguide__esito-val { color:#4ade80; }
.arp-opguide__esito--miss .arp-opguide__esito-val { color:#fca5a5; }

/* Guadagno netto */
.arp-opguide__netto {
    display:  flex; flex-direction: column; align-items: center; gap: .15rem;
    padding:  .35rem .6rem; border-radius: 7px; width: 100%;
    background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07);
}
.arp-opguide__netto--ok   { border-color: rgba(34,197,94,.2);  background: rgba(34,197,94,.06);  }
.arp-opguide__netto--buco { border-color: rgba(239,68,68,.2);  background: rgba(239,68,68,.06);  }
.arp-opguide__netto--pareggio { border-color: rgba(212,162,0,.2); background: rgba(212,162,0,.05); }
.arp-opguide__netto-lbl   { font-size:.52rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:#555; }
.arp-opguide__netto-val   { font-size:1.05rem; font-weight:900; font-family:var(--font-m,monospace); color:#e8e0cc; }
.arp-opguide__netto--ok   .arp-opguide__netto-val { color: #4ade80; }
.arp-opguide__netto--buco .arp-opguide__netto-val { color: #fca5a5; }

/* ── Pulsanti sessione ───────────────────────────────────────────── */
.arp-opguide__btns { display:flex; flex-direction:column; align-items:center; gap:.45rem; width:100%; margin-top:auto; }
.arp-opguide__locked {
    font-size:.72rem; font-weight:700; color:#fca5a5;
    padding:.4rem .7rem; background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.28); border-radius:8px; text-align:center;
}
.arp-opguide__btn {
    width:100%; padding:.52rem 1rem; border-radius:9px;
    font-size:.78rem; font-weight:900; cursor:pointer; border:1px solid;
    font-family:var(--font,sans-serif); letter-spacing:.05em; transition:all .18s;
}
.arp-opguide__btn--start {
    background: linear-gradient(135deg,rgba(34,197,94,.25),rgba(34,197,94,.15));
    border-color:rgba(34,197,94,.6); color:#4ade80; font-size:.85rem; padding:.65rem 1rem;
}
.arp-opguide__btn--start:hover { background:linear-gradient(135deg,rgba(34,197,94,.38),rgba(34,197,94,.22)); box-shadow:0 0 18px rgba(34,197,94,.3); }
.arp-opguide__btn--live {
    background: rgba(34,197,94,.08); border-color:rgba(34,197,94,.3); color:#4ade80;
    cursor:default;
}
.arp-opguide__btn-pulse { animation:aco-pulse-badge 1.6s infinite; display:inline-block; }
.arp-opguide__btn--stop {
    background: rgba(239,68,68,.1); border-color:rgba(239,68,68,.4); color:#fca5a5;
}
.arp-opguide__btn--stop:hover  { background:rgba(239,68,68,.2); }
.arp-opguide__btn--new {
    background: rgba(99,102,241,.12); border-color:rgba(99,102,241,.4); color:#a5b4fc;
}
.arp-opguide__btn--new:hover   { background:rgba(99,102,241,.22); }

/* ── Responsive fiche operative nella col CX ─────────────────────── */
.arp-opguide__col--cycle .aco__chips {
    flex-wrap:  wrap; gap: .38rem;
}
/* Fiche operative: usa immagine grafica, dimensione leggibile */
.arp-opguide__col--cycle .aco-chip--op {
    width:  48px;
    height: 48px;
}
.arp-opguide__col--cycle .aco-chip__val {
    font-size:   .52rem;
    font-weight: 900;
    letter-spacing: .02em;
}
@media (max-width:860px) {
    .arp-opguide__col--cycle .aco-chip--op { width:40px; height:40px; }
    .arp-opguide__col--cycle .aco-chip__val { font-size:.44rem; }
}
@media (max-width:560px) {
    .arp-opguide__col--cycle .aco-chip--op { width:36px; height:36px; }
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — Font boost v6.4
   Aumenta leggibilità dashboard
══════════════════════════════════════════════════════════════════ */

/* KV labels (PROGRESSIONE, FICHE, PUNTATA/NR...) */
.asp-p3-k  { font-size: .65rem !important; }
/* KV values */
.asp-p3-v  { font-size: 1.05rem !important; }
.asp-p3-v--big { font-size: 1.2rem !important; }
.asp-p3-v--gold { font-size: 1.1rem !important; }

/* Titolo "Gioca" */
.arp-opguide__target-title { font-size: 1.6rem !important; }

/* Ultimo uscito chip */
.arp-opguide__last-lbl { font-size: .68rem !important; }
.arp-opguide__last-color { font-size: .78rem !important; }

/* Header area operativa */
.arp-opguide__title    { font-size: .8rem !important; }
.arp-opguide__subtitle { font-size: 1.15rem !important; }

/* Step label sopra fiche */
.aco__track-label { font-size: .66rem !important; }

/* Label fase/pressione */
.aco__fase-lbl, .aco__pressure-lbl, .aco__stops-lbl { font-size: .62rem !important; }
.aco__fase-badge  { font-size: .7rem !important; }
.aco__pressure-val{ font-size: .72rem !important; }

/* Chip numeri target: più grandi */
.arp-opguide__chips .arp-chip--xl {
    width:       62px !important;
    height:      62px !important;
    font-size:   1.25rem !important;
    font-weight: 900 !important;
}

/* Fiche vittoria */
.aco-chip--win { width: 60px !important; height: 60px !important; }
.aco-chip__star{ font-size: 1.5rem !important; }
.aco-chip__num { font-size: .85rem !important; }

/* Vittorie label */
.aco__wins-label { font-size: .72rem !important; }

/* Esito HIT/NO HIT */
.arp-opguide__esito-lbl { font-size: .62rem !important; }
.arp-opguide__esito-val { font-size: 1.15rem !important; }

/* Netto se HIT */
.arp-opguide__netto-lbl { font-size: .62rem !important; }
.arp-opguide__netto-val { font-size: 1.2rem !important; }

/* Pulsanti sessione */
.arp-opguide__btn       { font-size: .82rem !important; padding: .6rem 1.1rem !important; }
.arp-opguide__btn--start{ font-size: .9rem !important;  padding: .7rem 1.2rem !important; }

/* Config cassa */
.asp-v6-label { font-size: .72rem !important; }
.asp-v6-input { font-size: 1.05rem !important; }
.asp-v6-risk-btn { font-size: .72rem !important; }
.asp-v6-kv span  { font-size: .72rem !important; }
.asp-v6-kv strong{ font-size: .92rem !important; }

/* Stop rule */
.arp-opguide__stop { font-size: .76rem !important; }

/* Bet type badge + controllo */
.asp-p3-targets__badge { font-size: .68rem !important; }
.asp-p3-targets__ctrl  { font-size: .68rem !important; }

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO v8 — Font e dimensioni definitive
   Questo override è definitivo — sovrascrive tutti i precedenti
══════════════════════════════════════════════════════════════════ */

/* Nascondi finestra analisi (rimossa da UI) */
.asp-window-lbl, .asp-wbtn { display: none !important; }
/* Mantieni la toolbar se altri elementi ci sono */
.asp-toolbar:empty { display: none !important; }

/* ── Chip target numeri da giocare ──────────────────────────────── */
.arp-opguide__chips .arp-chip--xl,
.arp-opguide__chips .arp-chip {
    width:       66px !important;
    height:      66px !important;
    font-size:   1.35rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* ── Chip fiche operativa ────────────────────────────────────────── */
.arp-opguide__col--cycle .aco-chip--op,
#aco-chips-op .aco-chip--op {
    width:  46px !important;
    height: 46px !important;
}
.arp-opguide__col--cycle .aco-chip__val,
#aco-chips-op .aco-chip__val {
    font-size:  .54rem !important;
    font-weight: 900 !important;
}

/* ── Chip vittoria ───────────────────────────────────────────────── */
.aco-chip--win {
    width:  60px !important;
    height: 60px !important;
}
.aco-chip__star { font-size: 1.5rem !important; }
.aco-chip__num  { font-size: .88rem !important; }

/* ── KV dati puntata ─────────────────────────────────────────────── */
.asp-p3-k   { font-size: .66rem !important; letter-spacing: .06em !important; }
.asp-p3-v   { font-size: 1.05rem !important; font-weight: 900 !important; }
.asp-p3-v--big  { font-size: 1.25rem !important; }
.asp-p3-v--gold { font-size: 1.1rem !important; }
.asp-p3-v--win  { font-size: 1.1rem !important; }

/* ── Titolo Gioca ────────────────────────────────────────────────── */
.arp-opguide__target-title { font-size: 1.7rem !important; letter-spacing: .06em !important; }

/* ── Header area operativa ───────────────────────────────────────── */
.arp-opguide__title    { font-size: .78rem !important; letter-spacing: .2em !important; }
.arp-opguide__subtitle { font-size: 1.15rem !important; font-weight: 900 !important; }

/* ── Ultimo uscito ───────────────────────────────────────────────── */
.arp-opguide__last-lbl   { font-size: .7rem !important; }
.arp-opguide__last-color { font-size: .8rem !important; color: #999 !important; }

/* ── Esito HIT/NO HIT ────────────────────────────────────────────── */
.arp-opguide__esito-lbl { font-size: .64rem !important; letter-spacing: .12em !important; }
.arp-opguide__esito-val { font-size: 1.2rem !important; font-weight: 900 !important; }

/* ── Guadagno netto ──────────────────────────────────────────────── */
.arp-opguide__netto-lbl { font-size: .64rem !important; }
.arp-opguide__netto-val { font-size: 1.25rem !important; font-weight: 900 !important; }

/* ── Pulsanti sessione ───────────────────────────────────────────── */
.arp-opguide__btn        { font-size: .84rem !important; padding: .62rem 1.2rem !important; }
.arp-opguide__btn--start { font-size: .92rem !important; padding: .72rem 1.4rem !important; letter-spacing: .06em !important; }

/* ── Recovery bar ────────────────────────────────────────────────── */
.aco__fase-badge  { font-size: .72rem !important; font-weight: 800 !important; }
.aco__pressure-val{ font-size: .72rem !important; }
.aco__stops-val   { font-size: .78rem !important; }
.aco__track-label { font-size: .66rem !important; letter-spacing: .15em !important; }
.aco__wins-label  { font-size: .74rem !important; }

/* ── Config cassa ────────────────────────────────────────────────── */
.asp-v6-label     { font-size: .72rem !important; }
.asp-v6-input     { font-size: 1.05rem !important; }
.asp-v6-risk-btn  { font-size: .72rem !important; }
.asp-v6-kv span   { font-size: .72rem !important; }
.asp-v6-kv strong { font-size: .9rem !important; }

/* ── Stop rule ───────────────────────────────────────────────────── */
.arp-opguide__stop { font-size: .76rem !important; }

/* ── Badge tipo puntata ──────────────────────────────────────────── */
.asp-p3-targets__badge { font-size: .7rem !important; padding: .22rem .7rem !important; }
.asp-p3-targets__ctrl  { font-size: .7rem !important; padding: .22rem .7rem !important; }

/* ── Live bar step ───────────────────────────────────────────────── */
.asp-p3-live-lbl { font-size: .64rem !important; }
.asp-p3-live-val { font-size: 1.05rem !important; }

/* ── Responsive mobile ───────────────────────────────────────────── */
@media (max-width: 600px) {
    .arp-opguide__chips .arp-chip--xl { width: 54px !important; height: 54px !important; font-size: 1.1rem !important; }
    .aco-chip--win { width: 50px !important; height: 50px !important; }
    .arp-opguide__col--cycle .aco-chip--op { width: 38px !important; height: 38px !important; }
}

/* ── AI Spin Pro v8 — Fix dimensioni fiche mobile ───────────────────────── */

/* Fiche step operativo — più piccole */
.arp-opguide__col--cycle .aco-chip--op,
#aco-chips-op .aco-chip--op {
    width:  34px !important;
    height: 34px !important;
}
.arp-opguide__col--cycle .aco-chip__val,
#aco-chips-op .aco-chip__val {
    font-size: .44rem !important;
}

/* Fiche vittoria — più piccole */
.aco-chip--win {
    width:  44px !important;
    height: 44px !important;
}
.aco-chip__star { font-size: 1.1rem !important; }
.aco-chip__num  { font-size: .7rem  !important; }

/* Chip target numeri — leggermente più piccoli su mobile */
@media (max-width: 600px) {
    .arp-opguide__chips .arp-chip--xl,
    .arp-opguide__chips .arp-chip {
        width:  54px !important;
        height: 54px !important;
        font-size: 1.15rem !important;
    }
    .aco-chip--win {
        width:  38px !important;
        height: 38px !important;
    }
    .arp-opguide__col--cycle .aco-chip--op,
    #aco-chips-op .aco-chip--op {
        width:  28px !important;
        height: 28px !important;
    }
}

/* ══════════════════════════════════════════════════════════════════
   AI SPIN PRO — PDF improvements v1
   Font boost, layout operativo migliorato
══════════════════════════════════════════════════════════════════ */

/* Chip auto fiche label */
.asp-v6-chip-auto { font-size: .85rem !important; color: #f2c03a !important; font-weight: 800 !important; }

/* Spin label (era Step) */
.arp-opguide__spin-label, .asp-p3-live-lbl { font-size: .72rem !important; letter-spacing: .12em !important; }

/* PNL colore verde/rosso */
.asp-p3-v--pnl.pnl--pos { color: #4ade80 !important; }
.asp-p3-v--pnl.pnl--neg { color: #fca5a5 !important; }

/* Ultimo uscito — più grande e visibile (PDF) */
.arp-opguide__last-num {
    font-size: 2.8rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
.arp-opguide__last-lbl {
    font-size: .7rem !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: #888 !important;
}

/* Numeri target — più leggibili */
.arp-opguide__chips .arp-chip {
    width: 58px !important;
    height: 58px !important;
    font-size: 1.2rem !important;
    font-weight: 900 !important;
}

/* Tavolo toggle button */
.asp-tavolo-collapse { margin: 1rem 0; }
.asp-tavolo-toggle-btn {
    width: 100%; text-align: left; padding: .6rem 1rem;
    background: rgba(212,162,0,.07); border: 1px solid rgba(212,162,0,.18);
    border-radius: 8px; color: #999; font-size: .78rem; font-weight: 700;
    letter-spacing: .08em; cursor: pointer; text-transform: uppercase;
    transition: all .18s;
}
.asp-tavolo-toggle-btn:hover { background: rgba(212,162,0,.14); color: #f2c03a; }

/* Spin corrente/max — rinominato */
#aco-step-count::before { content: 'Spin '; }

/* Config section — chip auto info */
.asp-v6-field--chip-info {
    display: flex; align-items: center;
    padding: .5rem 0;
}

/* Area operativa — titolo status più grande */
.arp-opguide__subtitle {
    font-size: 1.1rem !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
}

/* Colonna destra — vittorie/PNL */
.aco__wins-label { font-size: .72rem !important; }
#aco-step-count { font-size: 1.1rem !important; font-weight: 900 !important; }

/* Mobile: layout più compatto */
@media (max-width: 600px) {
    .arp-opguide__chips .arp-chip { width: 52px !important; height: 52px !important; font-size: 1.05rem !important; }
    .arp-opguide__last-num { font-size: 2.2rem !important; }
}

/* ══════════════════════════════════════════════════════════════════
   AI Spin Pro — Fix UI (fix6): fiche 2 colonne, vittorie big, no stella
══════════════════════════════════════════════════════════════════ */

/* Fiche operative: grid 2 colonne × 10 righe */
.aco__chips--grid20 {
    display: grid !important;
    grid-template-columns: repeat(10, 1fr) !important;
    grid-template-rows: repeat(2, auto) !important;
    gap: 4px !important;
    width: 100% !important;
}

/* Fiche operativa singola — più grande e leggibile */
.aco__chips--grid20 .aco-chip--op {
    width:  100% !important;
    height: 42px !important;
    aspect-ratio: 1 !important;
}

/* Fiche vittoria — solo immagine, più grande, no testo */
.aco-chip--win {
    width:  68px !important;
    height: 68px !important;
    position: relative !important;
    overflow: hidden !important;
}
.aco-chip--win .aco-chip__img {
    width:  100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    opacity: .25 !important;
    transition: opacity .3s !important;
}
.aco-chip--win.aco-chip--won .aco-chip__img {
    opacity: 1 !important;
    filter: drop-shadow(0 0 8px rgba(212,162,0,.8)) !important;
}
/* Nasconde tutto il testo dentro le win chip */
.aco-chip--win .aco-chip__inner,
.aco-chip--win .aco-chip__star,
.aco-chip--win .aco-chip__num,
.aco-chip--win .aco-chip__val { display: none !important; }

/* Fiche operativa — immagine dimmed quando non attiva */
.aco-chip--op .aco-chip__img {
    opacity: .2 !important;
    transition: opacity .25s !important;
}
.aco-chip--op.aco-chip--on .aco-chip__img,
.aco-chip--op.aco-chip--current .aco-chip__img {
    opacity: 1 !important;
}

/* Mobile */
@media (max-width: 600px) {
    .aco__chips--grid20 { grid-template-columns: repeat(10, 1fr) !important; gap: 2px !important; }
    .aco__chips--grid20 .aco-chip--op { height: 32px !important; }
    .aco-chip--win { width: 52px !important; height: 52px !important; }
}

/* ── INIZIA SESSIONE button (area inserimento) ── */
.asp3-start-wrap { padding: 1rem 0 .5rem; text-align: center; }
.asp3-start-btn-big {
    display: inline-flex; align-items: center; gap: .6rem;
    padding: .9rem 2.4rem;
    background: linear-gradient(135deg, #d4a200, #9a7400);
    border: none; border-radius: 12px;
    color: #000; font-size: 1rem; font-weight: 900;
    letter-spacing: .06em; cursor: pointer;
    box-shadow: 0 4px 20px rgba(212,162,0,.35);
    transition: all .18s;
    width: 100%;
}
.asp3-start-btn-big:hover { opacity: .88; transform: translateY(-1px); }
.asp3-start-active {
    display: flex; align-items: center; justify-content: center; gap: .6rem;
    padding: .7rem 1.5rem; border-radius: 10px;
    background: rgba(74,222,128,.08); border: 1px solid rgba(74,222,128,.3);
    color: #4ade80; font-size: .85rem; font-weight: 700; letter-spacing: .08em;
}
.asp3-start-active__dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #4ade80; animation: pulse 1.5s infinite;
}

/* ══════════════════════════════════════════════════════
   AI Spin Pro v9 — Cassa inline + INIZIA colonna destra
══════════════════════════════════════════════════════ */

/* Cassa inline nell'area operativa */
.asp-cassa-inline {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-top: .6rem;
    flex-wrap: wrap;
}
.asp-cassa-inline__lbl {
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    color: #666;
    text-transform: uppercase;
    white-space: nowrap;
}
.asp-cassa-inline__input {
    width: 90px;
    padding: .38rem .6rem;
    background: #1a1a1a;
    border: 1px solid rgba(212,162,0,.3);
    border-radius: 7px;
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    outline: none;
    -moz-appearance: textfield;
}
.asp-cassa-inline__input::-webkit-outer-spin-button,
.asp-cassa-inline__input::-webkit-inner-spin-button { -webkit-appearance: none; }
.asp-cassa-inline__input:focus { border-color: #d4a200; box-shadow: 0 0 0 2px rgba(212,162,0,.15); }
.asp-cassa-inline__chip {
    font-size: .8rem;
    color: #f2c03a;
    font-weight: 800;
    white-space: nowrap;
}
.asp-cassa-inline__btn {
    padding: .35rem .8rem;
    background: linear-gradient(135deg,#d4a200,#9a7400);
    border: none; border-radius: 7px;
    color: #000; font-size: .78rem; font-weight: 900;
    cursor: pointer; transition: opacity .18s;
    white-space: nowrap;
}
.asp-cassa-inline__btn:hover { opacity: .85; }
.asp-cassa-inline__fb {
    font-size: .75rem; color: #4ade80; font-weight: 700;
}

/* INIZIA SESSIONE nella colonna destra */
.asp3-inizia-col {
    margin: .6rem 0;
}
.asp3-inizia-col .asp3-start-btn-big {
    padding: .65rem 1.2rem;
    font-size: .85rem;
    width: 100%;
}
.asp3-start-hint {
    font-size: .72rem;
    color: #555;
    text-align: center;
    padding: .4rem 0;
    letter-spacing: .04em;
}

/* Mobile: cassa inline stack */
@media (max-width: 600px) {
    .asp-cassa-inline { gap: .4rem; }
    .asp-cassa-inline__input { width: 75px; }
}

/* ════════════════════════════════════════════════════════════════════════════
   PATCH 2.2 — Pannello Statistiche per Trigger (collassabile)
   ════════════════════════════════════════════════════════════════════════════ */
.asp3-stats-panel {
    margin: 16px 0;
    background: rgba(20, 28, 40, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    overflow: hidden;
}
.asp3-stats-panel__header { margin: 0; padding: 0; }
.asp3-stats-panel__toggle {
    width: 100%;
    background: transparent;
    border: 0;
    color: #e6edf3;
    padding: 14px 18px;
    font: 600 14px/1 -apple-system, BlinkMacSystemFont, sans-serif;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background .15s ease;
}
.asp3-stats-panel__toggle:hover { background: rgba(255,255,255,0.04); }
.asp3-stats-panel__icon { font-size: 18px; }
.asp3-stats-panel__title { flex: 0 0 auto; }
.asp3-stats-panel__summary { color: #8b949e; font-weight: 400; flex: 1 1 auto; font-size: 13px; }
.asp3-stats-panel__chev { transition: transform .2s ease; opacity: .7; }
.asp3-stats-panel__toggle[aria-expanded="true"] .asp3-stats-panel__chev { transform: rotate(180deg); }

.asp3-stats-panel__body {
    padding: 16px 18px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.asp3-stats-panel__body[hidden] { display: none; }

/* KPI riepilogativi */
.asp3-stats-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}
.asp3-stats-kpi {
    background: rgba(255, 255, 255, 0.04);
    border-left: 3px solid #58a6ff;
    padding: 8px 10px;
    border-radius: 4px;
}
.asp3-stats-kpi__label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #8b949e;
    margin-bottom: 3px;
}
.asp3-stats-kpi__value {
    font-size: 16px;
    font-weight: 600;
    color: #e6edf3;
    font-variant-numeric: tabular-nums;
}
.asp3-stats-kpi__value--pos { color: #3fb950; }
.asp3-stats-kpi__value--neg { color: #f85149; }

.asp3-stats-extremes {
    background: rgba(255, 255, 255, 0.03);
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 12px;
    margin-bottom: 12px;
    color: #c9d1d9;
}
.asp3-stats-extremes:empty { display: none; }
.asp3-stats-extremes code { background: rgba(88, 166, 255, 0.15); padding: 1px 5px; border-radius: 3px; color: #58a6ff; }

/* Tabella */
.asp3-stats-table-wrap {
    max-height: 420px;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 4px;
}
.asp3-stats-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    color: #c9d1d9;
}
.asp3-stats-table thead {
    position: sticky;
    top: 0;
    background: #161b22;
    z-index: 1;
}
.asp3-stats-table th {
    padding: 8px 10px;
    text-align: right;
    font-weight: 600;
    color: #8b949e;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0.5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    white-space: nowrap;
}
.asp3-stats-table th:first-child { text-align: center; }
.asp3-stats-table th.asp3-sortable { cursor: pointer; user-select: none; }
.asp3-stats-table th.asp3-sortable:hover { color: #e6edf3; }
.asp3-stats-table th.asp3-sortable.asp3-sort-asc::after  { content: ' ▲'; opacity: .6; }
.asp3-stats-table th.asp3-sortable.asp3-sort-desc::after { content: ' ▼'; opacity: .6; }
.asp3-stats-table td {
    padding: 6px 10px;
    text-align: right;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    font-variant-numeric: tabular-nums;
}
.asp3-stats-table td:first-child {
    text-align: center;
    font-weight: 600;
    color: #e6edf3;
}
.asp3-stats-table tr.asp3-row-empty td { color: #4a525c; }
.asp3-stats-table tr.asp3-row-best  td:first-child { background: rgba(63, 185, 80, 0.15); }
.asp3-stats-table tr.asp3-row-worst td:first-child { background: rgba(248, 81, 73, 0.15); }
.asp3-stats-table td.asp3-pos { color: #3fb950; }
.asp3-stats-table td.asp3-neg { color: #f85149; }

/* Azioni */
.asp3-stats-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    flex-wrap: wrap;
}
.asp3-stats-btn {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #e6edf3;
    padding: 6px 12px;
    font: 500 12px/1.2 -apple-system, BlinkMacSystemFont, sans-serif;
    border-radius: 4px;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.asp3-stats-btn:hover { background: rgba(255, 255, 255, 0.1); }
.asp3-stats-btn--reset { color: #f85149; border-color: rgba(248, 81, 73, 0.4); }
.asp3-stats-btn--reset:hover { background: rgba(248, 81, 73, 0.15); border-color: #f85149; }
.asp3-stats-hint { color: #8b949e; font-size: 11px; margin-left: auto; }
.asp3-stats-loading { text-align: center; padding: 30px; color: #8b949e; font-size: 13px; }
.asp3-stats-error   { text-align: center; padding: 20px; color: #f85149; font-size: 13px; }
