@media(max-width:600px){
  .cssTopPickOverlay{padding:12px}
  .staticAnalysisOverlay{padding:12px}
  .staticAnalysisOverlay .matchAnalysisModal{
    max-height:calc(100dvh - 24px) !important;
    overflow:auto;
  }
}

/* ==========================================================
   iDoppiaL IA \002014  AREA PRIVATA
   L'interfaccia pubblica riprende il file di riferimento.
   ========================================================== */
.hidden{display:none!important}

/* LOGIN: stesso linguaggio grafico del sito principale */
#authGate{
  position:fixed;inset:0;z-index:200000;
  display:flex;align-items:center;justify-content:center;gap:16px;
  padding:18px;overflow:auto;
  background:
    radial-gradient(1100px 680px at 50% -8%, rgba(27,154,255,.95), rgba(7,82,205,.72) 34%, rgba(4,37,112,.32) 58%, transparent 75%),
    linear-gradient(180deg,#0a57c8 0%,#073c9d 28%,#05286f 58%,#03183f 82%,#020d25 100%);
}
.authShell{
  width:min(520px,100%);
  padding:28px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(11,20,36,.96),rgba(6,12,24,.98));
  border:1px solid rgba(120,190,255,.16);
  box-shadow:0 36px 100px rgba(0,0,0,.56),0 0 80px rgba(39,184,255,.10);
  backdrop-filter:blur(18px);
}
.authBrand{
  display:flex;align-items:center;justify-content:center;gap:15px;
  margin-bottom:22px;text-align:center;
}
.authBrand img{
  width:58px;height:58px;border-radius:17px;object-fit:cover;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 32px rgba(0,0,0,.32),0 0 24px rgba(97,246,255,.10);
}
.authBrand b{display:block;font-size:33px;line-height:1;font-weight:1000;letter-spacing:-1.35px}
.authBrand small{display:block;margin-top:5px;color:#7f8799;font-size:11px;letter-spacing:1.35px;text-transform:uppercase}
.authShell .field{margin-bottom:12px}
.authShell label,.adminPanel label{
  display:block;color:#8e96a8;font-size:10px;font-weight:900;margin-bottom:6px;letter-spacing:.45px;text-transform:uppercase
}
.authShell input,.adminPanel input,.adminPanel textarea,.adminPanel select{
  width:100%;padding:11px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.075);
  background:#090c13;color:#fff;outline:none;font:inherit
}
.authShell input:focus,.adminPanel input:focus,.adminPanel textarea:focus,.adminPanel select:focus{
  border-color:rgba(97,246,255,.26);box-shadow:0 0 0 3px rgba(39,184,255,.05)
}
.authButtons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.privateBtn{
  border:1px solid rgba(97,246,255,.18);border-radius:13px;padding:12px 14px;
  font-weight:1000;font-size:11px;letter-spacing:.35px;cursor:pointer;
  color:#eefeff;background:linear-gradient(180deg,rgba(16,24,33,.96),rgba(8,12,18,.98));
}
.privateBtn.primary{color:#041018;background:linear-gradient(135deg,#61f6ff,#1d74ee);border:0}
.privateBtn.danger{color:#ffc2ca;background:#241216;border-color:#512a32}
.privateBtn.ok{color:#baf5cb;background:#10271a;border-color:#245336}
.privateBtn.warn{color:#ffe09a;background:#2a2110;border-color:#58471f}
.authHelp{margin-top:6px;color:#7d879a;font-size:10px;line-height:1.45}
.authMsg{display:none;margin-top:14px;padding:11px 12px;border-radius:12px;background:#090f19;border:1px solid rgba(255,255,255,.055);font-size:11px;line-height:1.55}
.authMsg.show{display:block}.authMsg.error{color:#ffadb6}.authMsg.ok{color:#aff4c2}.authMsg.warn{color:#ffe19c}
.authState{text-align:center}.authState .stateBadge{display:inline-block;padding:7px 11px;border-radius:999px;border:1px solid rgba(97,246,255,.20);background:rgba(97,246,255,.05);font-size:9px;font-weight:1000;letter-spacing:1.1px}
.authState h2{margin:17px 0 8px}.authState p{color:#a7aebe;font-size:13px;line-height:1.65}
.pendingApprovalBadge{
  color:#bffaff!important;
  border-color:rgba(97,246,255,.34)!important;
  background:linear-gradient(180deg,rgba(27,152,205,.13),rgba(8,43,70,.13))!important;
  box-shadow:0 0 26px rgba(79,226,255,.08);
}
.approvalPulse{
  position:relative;
  width:82px;height:82px;
  display:grid;place-items:center;
  margin:21px auto 10px;
}
.approvalPulse:before,.approvalPulse:after,.approvalPulse i{
  content:"";position:absolute;border-radius:50%;
}
.approvalPulse:before{
  inset:0;border:1px solid rgba(106,238,255,.23);
  border-left-color:transparent;
  animation:scoreRing 7s linear infinite;
}
.approvalPulse:after{
  inset:11px;border:1px dashed rgba(92,175,255,.19);
  border-bottom-color:transparent;
  animation:scoreRingReverse 5s linear infinite;
}
.approvalPulse i{
  inset:22px;
  background:radial-gradient(circle,rgba(93,228,255,.18),rgba(32,91,173,.05) 62%,transparent 72%);
  box-shadow:0 0 28px rgba(68,215,255,.08);
}
.approvalPulse span{
  position:relative;z-index:2;
  display:grid;place-items:center;
  width:38px;height:38px;border-radius:50%;
  color:#dffeff;font-size:18px;font-weight:1000;
  background:linear-gradient(135deg,rgba(53,194,224,.30),rgba(28,78,172,.28));
  border:1px solid rgba(129,242,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 22px rgba(81,222,255,.13);
}
.approvalPulse.approvedEmail span{
  color:#b9ffd0;
  border-color:rgba(93,246,159,.25);
  background:linear-gradient(135deg,rgba(38,164,104,.22),rgba(22,75,73,.25));
}
.approvalSteps{
  display:grid;gap:8px;
  margin:18px 0 15px;
  text-align:left;
}
.approvalSteps>div{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border-radius:13px;
  background:linear-gradient(180deg,rgba(5,19,37,.76),rgba(3,11,24,.82));
  border:1px solid rgba(92,190,255,.09);
}
.approvalSteps b{
  display:grid;place-items:center;
  min-height:28px;
  border-radius:8px;
  color:#79efff;
  background:rgba(66,199,255,.07);
  border:1px solid rgba(89,224,255,.10);
  font-size:8px;letter-spacing:1px;
}
.approvalSteps span{
  color:#aab6c8;
  font-size:11px;
  line-height:1.5;
}
.approvalNotice{
  margin:14px 0 16px;
  padding:10px 12px;
  border-radius:11px;
  color:#83eaf4;
  background:rgba(39,161,207,.07);
  border:1px solid rgba(90,225,255,.12);
  font-size:8px;
  font-weight:1000;
  letter-spacing:1.05px;
  line-height:1.45;
}
.approvalSmall{
  margin-top:-3px!important;
  font-size:11px!important;
  color:#8390a4!important;
}
.emailConfirmBadge{
  color:#ffe6a6!important;
  border-color:rgba(255,199,83,.30)!important;
  background:linear-gradient(180deg,rgba(184,123,23,.12),rgba(71,42,8,.13))!important;
  box-shadow:0 0 28px rgba(255,182,53,.07);
}
.approvalPulse.emailWarning span{
  color:#ffe4a0;
  border-color:rgba(255,196,78,.27);
  background:linear-gradient(135deg,rgba(185,120,25,.24),rgba(87,48,10,.25));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 25px rgba(255,177,54,.10);
}
.approvalPulse.emailWarning:before{
  border-color:rgba(255,200,91,.24);
  border-left-color:transparent;
}
.importantNotice{
  color:#ffd98b!important;
  border-color:rgba(255,190,66,.18)!important;
  background:rgba(173,111,18,.08)!important;
}
#unconfirmedBox .privateBtn{width:100%}
#confirmMsg{margin-top:10px;text-align:left}
.loginBusy{opacity:.65;pointer-events:none}

.authUtility{display:flex;justify-content:center;margin-top:11px}
.authLinkBtn{appearance:none;border:0;background:transparent;color:#7fcaff;font:inherit;font-size:10px;font-weight:900;letter-spacing:.25px;cursor:pointer;padding:5px 8px}
.authLinkBtn:hover{text-decoration:underline}
.privacyMini{margin-top:13px;padding:10px 11px;border-radius:12px;background:rgba(4,11,24,.55);border:1px solid rgba(255,255,255,.05);color:#738097;font-size:9px;line-height:1.55;text-align:center}
.recoveryFields{margin-top:15px;text-align:left}
.recoveryFields .field{margin-bottom:10px}
.userTableWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.userTable{min-width:780px}

/* Header privato: brand resta centrato come il riferimento */
.privateHeaderActions{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;gap:7px
}
.privateHeaderActions .privateBtn{padding:10px 12px}
.privateUserChip{
  max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:8px 10px;border-radius:999px;
  color:#a8d5ff;font-size:9px;font-weight:900;
  border:1px solid rgba(39,184,255,.14);background:rgba(2,9,20,.28)
}

/* Filigrana utente */
.privateWatermark{
  position:fixed;z-index:90000;pointer-events:none;
  padding:6px 9px;border-radius:9px;
  color:rgba(220,240,255,.42);font-size:8px;font-weight:1000;letter-spacing:.65px;
  border:1px solid rgba(255,255,255,.055);background:rgba(2,8,18,.28);
  backdrop-filter:blur(4px)
}
.privateWatermark.p0{top:12px;left:12px}.privateWatermark.p1{top:12px;right:12px}
.privateWatermark.p2{bottom:12px;left:12px}.privateWatermark.p3{bottom:12px;right:12px}

/* Admin */
.adminOverlay{
  position:fixed;inset:0;z-index:190000;display:none;padding:14px;
  background:rgba(0,4,12,.80);backdrop-filter:blur(14px)
}
.adminOverlay.open{display:block}
.adminPanel{
  width:min(1120px,100%);height:100%;margin:auto;overflow:auto;
  padding:20px;border-radius:24px;
  color:#f6f7fb;background:linear-gradient(180deg,#090b11 0%,#05070b 100%);
  border:1px solid rgba(255,255,255,.07);box-shadow:0 30px 90px rgba(0,0,0,.55)
}
.adminHead{
  position:sticky;top:-20px;z-index:3;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:10px 0 16px;background:linear-gradient(180deg,#090b11 78%,rgba(9,11,17,0))
}
.adminHead h2{margin:0;font-size:25px;letter-spacing:-.7px}
.adminTabs{display:flex;gap:8px;margin:4px 0 16px}
.adminTabs .active{color:#041018;background:linear-gradient(135deg,#61f6ff,#1d74ee)}
.adminNote{margin-bottom:14px;color:#8893a7;font-size:10px;line-height:1.55}
.userTable{width:100%;border-collapse:collapse;font-size:10px}
.userTable th,.userTable td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.055);text-align:left;vertical-align:middle}
.userTable th{color:#79869a;font-size:8px;letter-spacing:.9px;text-transform:uppercase}
.statusPill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:1000;text-transform:uppercase}
.statusPill.pending{color:#ffd98e;background:#30230d}.statusPill.active{color:#a9f4c0;background:#10291a}.statusPill.suspended{color:#ffabb5;background:#31131a}
.adminActions{display:flex;gap:5px;flex-wrap:wrap}.adminActions .privateBtn{padding:6px 8px;font-size:8px}
.predEditor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.predCard{padding:14px;border-radius:15px;border:1px solid rgba(255,255,255,.055);background:#090c13}
.predCard h4{margin:0 0 11px;font-size:13px}
.predCard textarea{min-height:108px;resize:vertical}
.adminGrid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.adminGrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.adminCheck{display:flex;align-items:center;gap:7px;color:#aab5c8;font-size:10px;margin-top:9px}
.adminCheck input{width:auto}
.adminCheck label{display:inline;margin:0;text-transform:none}

/* TOP PICK con esatto look del riferimento */
.privateTopPickOverlay{
  position:fixed;inset:0;z-index:150000;display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(0,5,15,.66);backdrop-filter:blur(12px)
}
.privateTopPickOverlay.open{display:flex;animation:modalFade .24s ease}
