:root { --nb-navy:#0b1b3a; --nb-blue:#1d4ed8; --nb-orange:#f97316; }
body.nb-auth-pending > #view-nova-basket { visibility:hidden; }
.nb-login-screen { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 18% 15%,rgba(249,115,22,.2),transparent 30%),linear-gradient(145deg,#071329,#102b58); font-family:'Plus Jakarta Sans',sans-serif; }
.nb-login-screen.is-hidden { display:none; }
.nb-login-card { width:min(430px,100%); background:rgba(255,255,255,.98); border-radius:24px; padding:38px; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.nb-login-mark { width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:31px;background:#fff1e8;box-shadow:inset 0 0 0 1px #fed7aa;margin-bottom:22px; }
.nb-login-kicker,.nb-access-kicker { display:block;color:#ea580c;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase; }
.nb-login-card h1 { margin:6px 0 8px;color:var(--nb-navy);font-size:2rem;letter-spacing:-.04em; }
.nb-login-card>p { color:#64748b;margin:0 0 26px;line-height:1.55;font-size:.92rem; }
.nb-login-card label,.nb-access-fields label { display:grid;gap:7px;color:#334155;font-size:.78rem;font-weight:800;margin-bottom:15px; }
.nb-login-card input,.nb-access-fields input,.nb-access-fields select,.nb-permission-row select { width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:12px 13px;background:#fff;color:#0f172a;font:600 .9rem 'Plus Jakarta Sans';outline:none; }
.nb-login-card input:focus,.nb-access-fields input:focus,.nb-access-fields select:focus { border-color:#3b82f6;box-shadow:0 0 0 3px #dbeafe; }
.nb-login-card button[type=submit],.nb-access-primary,.nb-access-modal-actions button[type=submit] { width:100%;border:0;border-radius:11px;background:linear-gradient(135deg,#ea580c,#f97316);color:#fff;padding:13px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(234,88,12,.22); }
.nb-login-error,.nb-access-error { min-height:21px;color:#dc2626;font-size:.78rem;font-weight:700;margin:2px 0 8px; }
.nb-user-actions { display:flex;align-items:center;gap:8px; }
.nb-user-chip { display:flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid #dbe3ef;background:#fff;border-radius:10px;color:#1e293b; }
.nb-user-chip .material-icons{font-size:22px;color:#2563eb}.nb-user-chip span:last-child{display:grid;line-height:1.2}.nb-user-chip strong{font-size:.72rem}.nb-user-chip small{font-size:.62rem;color:#64748b;text-transform:uppercase;font-weight:700}
.nb-logout-btn { width:34px;height:34px;border:1px solid #dbe3ef;border-radius:9px;background:#fff;color:#64748b;display:grid;place-items:center;cursor:pointer}.nb-logout-btn .material-icons{font-size:18px}
.nb-access-page { flex-direction:column;gap:18px;padding:12px 4px;font-family:'Plus Jakarta Sans',sans-serif; }
.nb-access-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#0b1b3a,#17396d);box-shadow:0 14px 32px rgba(15,23,42,.14); }
.nb-access-heading h2{margin:5px 0 4px;font-size:1.7rem}.nb-access-heading p{margin:0;color:#cbd5e1;font-size:.85rem}.nb-access-heading .nb-access-primary{width:auto;white-space:nowrap;padding:11px 16px;display:flex;align-items:center;gap:7px}.nb-access-heading .material-icons{font-size:18px}
.nb-access-stats { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }.nb-access-stat{padding:16px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 3px 12px rgba(15,23,42,.05)}.nb-access-stat strong{display:block;font-size:1.5rem;color:#0f172a}.nb-access-stat span{font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase}
.nb-access-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px; }.nb-user-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(15,23,42,.05)}.nb-user-card-head{display:flex;justify-content:space-between;gap:12px}.nb-user-avatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eaf1ff;color:#1d4ed8;font-weight:900}.nb-user-identity{display:flex;gap:11px;min-width:0}.nb-user-identity h3{margin:2px 0;font-size:.94rem;color:#0f172a}.nb-user-identity p{margin:0;color:#64748b;font-size:.72rem;overflow:hidden;text-overflow:ellipsis}.nb-user-badge{height:max-content;padding:4px 8px;border-radius:99px;font-size:.65rem;font-weight:800;background:#dcfce7;color:#15803d}.nb-user-badge.off{background:#fee2e2;color:#b91c1c}.nb-user-permissions{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0}.nb-user-permissions span{padding:4px 7px;border-radius:7px;background:#f1f5f9;color:#475569;font-size:.64rem;font-weight:700}.nb-user-card-actions{display:flex;gap:8px;border-top:1px solid #eef2f7;padding-top:12px}.nb-user-card-actions button{border:1px solid #dbe3ef;background:#fff;border-radius:8px;padding:7px 10px;color:#334155;font-weight:700;font-size:.72rem;cursor:pointer}.nb-user-card-actions button.delete{margin-left:auto;color:#dc2626;border-color:#fecaca}
.nb-access-modal{position:fixed;inset:0;z-index:100010;display:none;place-items:center;padding:20px;background:rgba(2,6,23,.58);backdrop-filter:blur(4px)}.nb-access-modal.is-open{display:grid}.nb-access-modal-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.3);font-family:'Plus Jakarta Sans',sans-serif}.nb-access-modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.nb-access-modal-head h3{margin:4px 0;font-size:1.35rem;color:#0f172a}.nb-access-modal-head button{border:0;background:#f1f5f9;border-radius:8px;width:32px;height:32px;font-size:20px;cursor:pointer}.nb-access-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.nb-active-check{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:#334155}.nb-permission-list{margin:16px 0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.nb-permission-row{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #eef2f7}.nb-permission-row:last-child{border:0}.nb-permission-row strong{font-size:.78rem;color:#334155}.nb-permission-row select{padding:8px;font-size:.76rem}.nb-access-modal-actions{display:flex;justify-content:flex-end;gap:9px}.nb-access-modal-actions button{width:auto!important;padding:10px 16px;border:1px solid #dbe3ef;border-radius:9px;background:#fff;font-weight:800;cursor:pointer}
@media(max-width:780px){.nb-global-header{align-items:flex-start!important}.nb-user-chip{display:none}.nb-access-heading{align-items:flex-start;flex-direction:column}.nb-access-stats{grid-template-columns:1fr}.nb-access-fields{grid-template-columns:1fr}.nb-access-grid{grid-template-columns:1fr}}
body.nb-athletes-readonly #btnNewIscritto,body.nb-athletes-readonly #btnImportIscritti,body.nb-athletes-readonly .btn-action.archive,body.nb-athletes-readonly .btn-action.restore,body.nb-athletes-readonly .quota-edit-actions,body.nb-athletes-readonly #athleteDetailModal .nb-modal-footer .btn-primary{display:none!important}
