:root{
  --bg:#f4f7fb;--ink:#111827;--muted:#6b7280;--card:#ffffff;
  --admin:#111827;--super:#7c3aed;--promoter:#2563eb;--partner:#059669;--nurxy:#f97316;
  --shadow:0 10px 30px rgba(15,23,42,.08)
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,"Segoe UI",sans-serif}
button,input,select{font:inherit}.hidden{display:none!important}
.app{max-width:1440px;margin:auto;padding:22px 22px 92px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-card,.panel,.card{background:white;box-shadow:var(--shadow)}
.login-card{width:100%;max-width:430px;border-radius:28px;padding:30px}
.logo{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#111827,#2563eb);color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;margin-bottom:16px}
.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted)}
label{display:block;font-weight:800;margin:14px 0 6px}
input,select{width:100%;border:1px solid #d1d5db;padding:13px 14px;border-radius:14px}
.btn{border:0;border-radius:14px;padding:12px 16px;background:#111827;color:#fff;font-weight:900;cursor:pointer}
.btn.full{width:100%;margin-top:20px}.btn.blue{background:var(--promoter)}.btn.green{background:var(--partner)}.btn.purple{background:var(--super)}.btn.light{background:#e5e7eb;color:#111827}
.error{background:#fef2f2;color:#991b1b}.notice{background:#ecfdf5;color:#065f46}
.error,.notice{border-radius:14px;padding:12px;margin:12px 0}
.header{display:flex;justify-content:space-between;gap:18px;background:#111827;color:white;border-radius:28px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}
.header h1{margin:0;font-size:28px}.header p{margin:6px 0 0;color:#d1d5db}
.role-pill{border-radius:999px;padding:8px 12px;font-weight:900;color:white}
.role-admin{background:var(--admin)}.role-super_promoter{background:var(--super)}.role-promoter{background:var(--promoter)}.role-partner{background:var(--partner)}
.grid{display:grid;gap:14px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.card{border-radius:22px;padding:18px;min-height:102px}.card span{display:block;color:var(--muted);font-size:13px;font-weight:800;margin-bottom:8px}.card strong{font-size:25px}
.card.partner{border-left:7px solid var(--partner)}.card.nurxy{border-left:7px solid var(--nurxy)}.card.promoter{border-left:7px solid var(--promoter)}.card.super{border-left:7px solid var(--super)}.card.black{border-left:7px solid var(--admin)}
.panel{border-radius:24px;padding:20px;margin-bottom:18px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel h2{margin:0;font-size:21px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.actions-row{display:flex;flex-wrap:wrap;gap:10px}
.table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:16px}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 12px;border-bottom:1px solid #e5e7eb;white-space:nowrap;text-align:left}
th{background:#f9fafb;color:#374151;position:sticky;top:0}td.amount{font-weight:900}
.amount-partner{color:var(--partner)}.amount-nurxy{color:var(--nurxy)}.amount-promoter{color:var(--promoter)}.amount-super{color:var(--super)}
.muted{color:var(--muted)}.kpi-note{font-size:12px;color:var(--muted);margin-top:8px}
.bottom-bar{position:fixed;left:0;right:0;bottom:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);backdrop-filter:blur(14px);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid #e5e7eb;z-index:20}
.bottom-bar button{border:0;background:#f3f4f6;border-radius:14px;padding:11px 4px;font-weight:900;font-size:12px}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.app{padding:12px 12px 88px}.header{border-radius:22px;padding:18px;flex-direction:column;align-items:flex-start}.header h1{font-size:23px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{border-radius:18px;padding:14px;min-height:92px}.card strong{font-size:18px}.card span{font-size:11px}.panel{border-radius:20px;padding:14px}.form-grid{grid-template-columns:1fr}table{font-size:12px}th,td{padding:9px 10px}.mobile-scroll-note::after{content:"Scorri lateralmente per vedere tutti i dati";display:block;color:var(--muted);font-size:12px;margin:8px 0}}