/* Money Motive - palette e layout */
:root{
    --g-900:#0f3a22; --g-800:#1a5331; --g-700:#137a42; --g-600:#00a650;
    --g-500:#0eab5a; --g-400:#3ebb7a; --g-300:#71cd9d; --g-100:#e8f7ef; --g-50:#f4fbf7;
    --ink:#1c2620; --muted:#5d6b63; --line:#d7e3dc; --bg:#f6f8f7; --white:#fff; --err:#d64545;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;
    background-image:radial-gradient(circle at 100% 0%,var(--g-100) 0,transparent 40%),radial-gradient(circle at 0% 100%,var(--g-100) 0,transparent 35%)}
  header{background:var(--white);border-bottom:1px solid var(--line);padding:14px 32px;display:flex;align-items:center;justify-content:space-between}
  header img{height:44px;display:block}
  header .user{font-size:14px;color:var(--muted)}
  .hero{background:linear-gradient(120deg,var(--g-800) 0%,var(--g-700) 55%,var(--g-600) 100%);color:#fff;padding:36px 32px 90px}
  .hero h1{font-size:26px;font-weight:700;letter-spacing:-.3px}
  .hero p{opacity:.85;margin-top:6px;font-size:15px}
  .wrap{max-width:920px;margin:-60px auto 48px;padding:0 16px}
  .card{background:var(--white);border-radius:14px;box-shadow:0 10px 30px rgba(26,83,49,.10);border:1px solid var(--line);overflow:hidden}
  .steps{display:flex;border-bottom:1px solid var(--line);background:var(--g-50)}
  .steps div{flex:1;padding:14px 20px;font-size:13px;font-weight:600;color:var(--muted);display:flex;gap:10px;align-items:center}
  .steps span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:var(--muted);font-size:12px}
  .steps .on{color:var(--g-800);border-bottom:3px solid var(--g-600)}
  .steps .on span{background:var(--g-600);color:#fff}
  form{padding:28px 32px 32px}
  fieldset{border:none;margin-bottom:28px}
  legend{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--g-700);margin-bottom:16px;display:flex;align-items:center;gap:10px;width:100%}
  legend::after{content:"";flex:1;height:1px;background:var(--line)}
  .grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px 18px}
  .c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c1{grid-column:span 1}
  label{display:block;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:6px}
  label .req{color:var(--g-600)}
  input[type=text],input[type=date],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;font-size:14px;padding:11px 13px;border:1.5px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);transition:.15s}
  input:hover,select:hover,textarea:hover{border-color:var(--g-300)}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--g-600);box-shadow:0 0 0 4px rgba(0,166,80,.14)}
  input.invalid{border-color:var(--err);box-shadow:0 0 0 4px rgba(214,69,69,.10)}
  textarea{resize:vertical;min-height:80px}
  .radio{display:flex;gap:10px}
  .radio label{flex:1;margin:0;cursor:pointer}
  .radio table{width:100%}
  .radio input{display:none}
  .val{color:var(--err);font-size:12px;margin-top:4px;display:block}
  .summary{background:#fdeaea;border:1px solid #f3c2c2;color:var(--err);padding:12px 16px;border-radius:9px;font-size:13px;margin-bottom:20px}
  .summary ul{margin-left:18px}
  .radio span{display:block;text-align:center;padding:11px;border:1.5px solid var(--line);border-radius:9px;font-size:14px;transition:.15s}
  .radio input:checked+span{border-color:var(--g-600);background:var(--g-100);color:var(--g-800);font-weight:600}
  .check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin-top:4px}
  .check input{width:18px;height:18px;accent-color:var(--g-600);margin-top:1px;flex-shrink:0}
  .actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
  .btn{font:inherit;font-weight:600;font-size:14px;padding:12px 26px;border-radius:9px;cursor:pointer;border:1.5px solid transparent;transition:.15s}
  .btn-ghost{background:#fff;border-color:var(--line);color:var(--muted)}
  .btn-ghost:hover{border-color:var(--g-300);color:var(--g-800)}
  .btn-primary{background:var(--g-600);color:#fff}
  .btn-primary:hover{background:var(--g-700)}
  .toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--g-800);color:#fff;padding:14px 22px;border-radius:10px;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:.3s}
  .toast.show{transform:translate(-50%,0)}
  footer{text-align:center;font-size:12px;color:var(--muted);padding-bottom:28px}
  @media(max-width:720px){
    header,.hero{padding-left:16px;padding-right:16px} form{padding:22px 16px}
    .grid{grid-template-columns:1fr}.c1,.c2,.c3,.c4,.c6{grid-column:span 1}
    .steps div:not(.on){display:none}
    .actions{flex-direction:column-reverse}.btn{width:100%}
  }

/* Tipo soggetto (Privato / Azienda) */
.tipo{max-width:420px}
.tipo span{padding:13px;font-size:15px}
.tipo span small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}
.hint{font-size:12px;color:var(--muted);margin-top:4px;display:block}

/* =================== Front office =================== */
.wrap-sm{max-width:680px}
.thanks{padding:56px 32px;text-align:center}
.thanks .ok{width:64px;height:64px;border-radius:50%;background:var(--g-100);color:var(--g-600);display:grid;place-items:center;margin:0 auto 18px;font-size:30px;font-weight:700}
.thanks h2{font-size:22px;color:var(--g-800);margin-bottom:8px}
.thanks p{color:var(--muted);font-size:15px;line-height:1.5}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}   /* campo anti-spam */

/* =================== Back office =================== */
header nav{display:flex;gap:4px}
header nav a{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:8px}
header nav a:hover{background:var(--g-50);color:var(--g-800)}
header nav a.on{background:var(--g-100);color:var(--g-800);font-weight:600}
.hero-bo{padding-bottom:36px}
.wrap-wide{max-width:1240px;margin:-20px auto 48px;padding:0 16px}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:0 4px 14px rgba(26,83,49,.06)}
.stat b{display:block;font-size:26px;font-weight:700;color:var(--g-800);line-height:1.1}
.stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.stat.accent{background:linear-gradient(135deg,var(--g-700),var(--g-600));border:none}
.stat.accent b,.stat.accent span{color:#fff}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr auto;gap:12px;align-items:end;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--g-50)}
.filters label{font-size:12px;color:var(--muted)}
.filters .btns{display:flex;gap:8px}
.btn-sm{padding:10px 16px;font-size:13px}
.toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:13px;color:var(--muted)}
.toolbar a{color:var(--g-700);font-weight:600;text-decoration:none}
.tbl-wrap{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
table.tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff;white-space:nowrap}
table.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
table.tbl tr:hover td{background:var(--g-50)}
table.tbl small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
table.tbl a{color:var(--g-700);text-decoration:none}
table.tbl a.open{font-weight:600;border:1.5px solid var(--line);padding:6px 12px;border-radius:7px;white-space:nowrap}
table.tbl a.open:hover{border-color:var(--g-600);background:var(--g-100)}
.empty{padding:40px;text-align:center;color:var(--muted)}
.pager td{border:none!important;background:none!important;padding:14px 4px!important}
.pager table{margin:0 auto}
.pager a,.pager span{display:inline-block;min-width:32px;text-align:center;padding:6px 8px;border-radius:7px;font-weight:600}
.pager span{background:var(--g-600);color:#fff}
.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}
.b-nuovo{background:var(--g-100);color:var(--g-800)}
.b-contattato{background:#e6f0fb;color:#1d4f91}
.b-trattativa{background:#fff3dc;color:#8a5a00}
.b-convertito{background:var(--g-600);color:#fff}
.b-perso{background:#eeeeee;color:#666}
.b-tipo{background:#fff;border:1px solid var(--line);color:var(--muted)}
.b-warn{background:#fdeaea;color:var(--err)}
.ref{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;color:var(--g-800);background:var(--g-50);padding:2px 6px;border-radius:5px}

/* Dettaglio */
.back{display:inline-block;color:#fff;opacity:.85;text-decoration:none;font-size:14px;margin-bottom:10px}
.back:hover{opacity:1}
.detail{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.detail .card{padding:24px 26px}
.detail h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--g-700);margin-bottom:16px;display:flex;gap:10px;align-items:center}
.detail h3::after{content:"";flex:1;height:1px;background:var(--line)}
dl.kv{display:grid;grid-template-columns:150px 1fr;gap:10px 16px;font-size:14px;margin-bottom:24px}
dl.kv dt{color:var(--muted)}
dl.kv dd{font-weight:500;word-break:break-word}
dl.kv a{color:var(--g-700)}
.side > .card + .card{margin-top:18px}
.meta{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.6}

@media(max-width:1000px){
  .filters{grid-template-columns:1fr 1fr}
  .filters .btns{grid-column:span 2}
  .stats{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr}
}
@media(max-width:720px){
  header nav a{padding:8px 8px}
  .filters{grid-template-columns:1fr}.filters .btns{grid-column:span 1}
  dl.kv{grid-template-columns:1fr;gap:2px}
  dl.kv dd{margin-bottom:10px}
}

/* Link / QR Boomerang dopo il salvataggio del referral */
.linkbox{display:flex;gap:22px;align-items:flex-start;background:var(--g-50);border:1.5px solid var(--g-300);border-radius:12px;padding:20px;margin-bottom:26px}
.linkbox b{color:var(--g-800);font-size:15px}
.linkbox p{font-size:13.5px;color:var(--muted);margin:8px 0}
.linkbox a{color:var(--g-700);word-break:break-all}
.linkbox .btn{margin-top:6px;margin-right:6px;text-decoration:none;display:inline-block}
.qr{flex-shrink:0;background:#fff;padding:8px;border-radius:8px;border:1px solid var(--line)}
.qr:empty{display:none}
@media(max-width:720px){.linkbox{flex-direction:column}}
