:root{--violet:#32115c;--violet-2:#5d227f;--violet-3:#8b3fb2;--yellow:#ffd329;--yellow-2:#ffeb78;--ink:#25113d;--white:#fff;--glass:rgba(73,27,111,.57);--glass-light:rgba(255,255,255,.13);--line:rgba(255,255,255,.24);--muted:#e2d7ec;--green:#8dffae;--red:#ff9996;--shadow:0 18px 55px rgba(37,8,68,.26)}*{box-sizing:border-box}body{min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 16% 8%,#ffe55a 0 6%,transparent 22%),radial-gradient(circle at 88% 82%,#8e40bb 0 4%,transparent 26%),linear-gradient(130deg,#ffd51f 0%,#f6c51b 34%,#6d268f 35%,#311052 100%);background-attachment:fixed;color:var(--white);font-family:'DM Sans',sans-serif}body:after{content:'';position:fixed;z-index:-1;inset:0;opacity:.16;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.sidebar{position:fixed;z-index:3;top:17px;bottom:17px;left:17px;width:244px;border:1px solid rgba(255,255,255,.28);border-radius:25px;padding:26px 16px;background:rgba(43,12,81,.76);box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.2);backdrop-filter:blur(20px);color:#fff;display:flex;flex-direction:column}.sidebar:before,.sidebar:after{content:'';position:absolute;border-radius:50%;background:var(--yellow);box-shadow:0 0 8px #fff,0 0 21px var(--yellow),0 0 44px var(--yellow)}.sidebar:before{width:7px;height:7px;right:25px;top:25px}.sidebar:after{width:5px;height:5px;right:44px;top:26px}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 40px}.brand img{width:50px;height:50px;border-radius:15px;object-fit:contain;background:#fff;padding:3px;box-shadow:0 0 0 2px #ffdf43,0 8px 20px #140023}.brand strong{display:block;font:700 29px Oswald;letter-spacing:1px;line-height:25px}.brand span{color:var(--yellow);font-size:10px;font-weight:700;letter-spacing:2.5px}.sidebar nav{display:grid;gap:7px}.nav-link{border:1px solid transparent;border-radius:13px;background:transparent;color:#dfcfed;padding:13px 14px;text-align:left;font:600 13px 'DM Sans';cursor:pointer;transition:.22s}.nav-link span{display:inline-block;margin-right:10px;color:var(--yellow);font-size:18px}.nav-link:hover,.nav-link.active{border-color:rgba(255,224,54,.38);background:linear-gradient(90deg,rgba(255,209,39,.24),rgba(255,255,255,.08));color:#fff;box-shadow:0 0 19px rgba(255,211,41,.13)}.nav-link.active span{filter:drop-shadow(0 0 8px var(--yellow))}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.18);padding:18px 9px 0;color:#d9cdea;font-size:10px;letter-spacing:1.2px;line-height:1.8}.sidebar-foot small{font-size:11px;letter-spacing:0}main{max-width:1680px;margin-left:264px;padding:54px 55px 64px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.eyebrow{margin:0 0 5px;color:var(--yellow-2);font-size:10px;font-weight:700;letter-spacing:1.8px}h1,h2,h3{margin:0;font-family:Oswald,sans-serif}h1{font-size:41px;letter-spacing:.2px;text-shadow:0 4px 18px rgba(43,5,74,.28)}h2{font-size:26px}.primary,.button{border:1px solid transparent;border-radius:12px;padding:12px 17px;cursor:pointer;font:700 13px 'DM Sans';transition:.2s}.primary{background:linear-gradient(135deg,#ffe85e,#ffc916);color:#35105d;box-shadow:0 8px 23px rgba(96,34,129,.25),0 0 20px rgba(255,226,65,.37)}.primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(96,34,129,.31),0 0 29px rgba(255,235,120,.55)}.button{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:white;backdrop-filter:blur(9px)}.button:hover{background:rgba(255,255,255,.22)}.view{display:none}.view.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:35px}.stat,.group-card,.panel,.athlete-card,.calendar-card{border:1px solid var(--line);background:var(--glass);box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.18);backdrop-filter:blur(18px)}.stat{position:relative;overflow:hidden;border-radius:19px;padding:21px}.stat:after{content:'';position:absolute;right:-25px;bottom:-24px;width:88px;height:88px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:radial-gradient(circle,#ffeb66 0 6%,rgba(255,211,41,.13) 28%,transparent 65%);box-shadow:0 0 25px rgba(255,220,55,.35)}.stat p{position:relative;margin:0 0 8px;color:#e7dff0;font-size:10px;font-weight:700;letter-spacing:.9px}.stat strong{position:relative;color:#fff;font:700 37px Oswald;text-shadow:0 0 15px rgba(255,255,255,.24)}.stat .accent{color:var(--yellow)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 15px}.section-heading.no-top,.section-heading.compact{margin-top:0}.subcopy{margin:2px 0 0;color:#e6d9ed;font-size:13px}.link-button{border:0;background:transparent;color:var(--yellow);font-weight:700;cursor:pointer;text-shadow:0 0 12px rgba(255,231,94,.45)}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.group-card{position:relative;overflow:hidden;border-radius:18px;padding:20px;cursor:pointer;transition:.25s}.group-card:before{content:'';position:absolute;right:19px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 7px #fff,0 0 18px var(--yellow)}.group-card:after{content:'';position:absolute;width:120px;height:120px;right:-52px;bottom:-66px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,215,42,.09)}.group-card:hover,.athlete-card:hover{transform:translateY(-5px) scale(1.01);border-color:rgba(255,230,85,.9);box-shadow:0 25px 47px rgba(32,4,63,.32),0 0 23px rgba(255,224,64,.17)}.group-top{display:flex;align-items:center;justify-content:space-between;padding-right:15px}.group-badge{font:600 19px Oswald}.count{border:1px solid rgba(255,255,255,.18);border-radius:30px;background:rgba(255,255,255,.12);padding:5px 9px;color:#fff;font-size:11px;font-weight:700}.group-card p{margin:18px 0 11px;color:#ded0ea;font-size:12px}.group-card progress{width:100%;height:6px;accent-color:var(--yellow)}.panel{border-radius:19px;padding:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:21px}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid rgba(255,255,255,.33);border-radius:30px;background:rgba(63,19,97,.36);padding:8px 13px;color:#fff;font:700 12px 'DM Sans';cursor:pointer;backdrop-filter:blur(12px)}.filter.active,.filter:hover{border-color:var(--yellow);background:var(--yellow);color:var(--violet);box-shadow:0 0 17px rgba(255,231,94,.4)}.search{min-width:245px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.9);padding:11px 13px;color:var(--ink);font:14px 'DM Sans';outline:0;box-shadow:0 8px 19px rgba(36,5,64,.13)}.search:focus{box-shadow:0 0 0 3px rgba(255,237,123,.5)}.athlete-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.athlete-card{position:relative;min-height:181px;overflow:hidden;border-radius:18px;padding:20px;cursor:pointer;transition:.25s}.athlete-card:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(255,225,62,.14),transparent 42%,rgba(170,84,206,.13))}.athlete-card:after{content:'';position:absolute;right:-35px;bottom:-39px;width:115px;height:115px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 13px rgba(255,212,41,.07),0 0 0 26px rgba(255,255,255,.035)}.avatar{width:47px;height:47px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:15px;background:linear-gradient(135deg,#ffec76,#ffd21e);color:#432064;font-size:14px;font-weight:700;box-shadow:0 0 19px rgba(255,229,95,.45);margin-bottom:17px}.athlete-card h3{font:600 21px Oswald;line-height:1.1}.athlete-card p{margin:6px 0;color:#e4d7ec;font-size:12px}.tag{position:absolute;bottom:18px;left:20px;border:1px solid rgba(255,255,255,.19);border-radius:7px;background:rgba(255,255,255,.12);padding:5px 8px;color:#fff;font-size:10px;font-weight:700}.cert-ok{position:absolute;z-index:1;top:16px;right:16px;width:25px;height:25px;display:grid;place-items:center;border:1px solid #bdffcf;border-radius:50%;background:#26ad69;color:white;box-shadow:0 0 16px #75ff9c;font-size:14px}.empty{padding:55px 20px;text-align:center;color:#e6dbea}.grid-empty{grid-column:1/-1}.matches{display:grid;gap:9px}.match{display:flex;align-items:center;gap:17px;border:1px solid transparent;border-radius:13px;padding:13px 15px;transition:.2s}.match:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.match-date{width:65px;border-right:1px solid rgba(255,255,255,.18);color:var(--yellow);font:600 16px Oswald;text-align:center;text-transform:uppercase}.match-date span{display:block;margin-top:1px;color:#e2d4eb;font:11px 'DM Sans'}.match-info{flex:1}.match-info strong{font-size:14px}.match-info small{display:block;margin-top:4px;color:#ddd0e7}.match-actions{display:flex;gap:3px}.icon-btn{border:0;background:transparent;color:#f4e9fb;font-size:21px;cursor:pointer;padding:5px}.danger{color:#ffc0bd}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:20px}.calendar-card{border-radius:19px;padding:19px}.calendar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-title h3,.upcoming-list h3{font-size:22px}.calendar-title span{color:var(--yellow-2);font-size:12px;font-weight:600}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-week span{color:#e8dcec;font-size:10px;font-weight:700;text-align:center}.day{min-height:65px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.055);padding:7px;color:#fff;font-size:12px}.day.blank{border-color:transparent;background:transparent}.day.today{border-color:var(--yellow);background:rgba(255,214,39,.18);box-shadow:inset 0 0 15px rgba(255,226,73,.14),0 0 14px rgba(255,218,47,.15);color:var(--yellow);font-weight:700}.day-match{display:block;margin-top:6px;overflow:hidden;border:1px solid rgba(255,255,255,.23);border-radius:5px;background:rgba(255,227,93,.91);padding:3px 4px;color:#3a135e;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:700}.day-match.away{background:rgba(219,163,248,.93);color:#3e105e}.upcoming-list h3{margin-bottom:14px}.upcoming-mini{display:flex;gap:10px;border-bottom:1px solid rgba(255,255,255,.15);padding:11px 0}.upcoming-mini:last-child{border:0}.mini-date{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:var(--yellow);color:#401563;text-align:center;font:700 14px Oswald;line-height:1;box-shadow:0 0 14px rgba(255,226,72,.42)}.mini-date small{font:9px 'DM Sans';text-transform:uppercase}.mini-copy{min-width:0}.mini-copy strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mini-copy span{color:#e6d9ed;font-size:11px}dialog{width:min(660px,calc(100% - 28px));border:1px solid rgba(255,255,255,.3);border-radius:21px;padding:0;background:#f9f6fd;box-shadow:0 26px 80px rgba(20,0,39,.49)}dialog::backdrop{background:#1a0730bd;backdrop-filter:blur(5px)}.modal form,.profile-modal{padding:29px;color:var(--ink)}.modal-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px}.modal-title .eyebrow{color:#8c51a9}.modal-title h2{color:#311056}.modal .icon-btn,.profile-modal>.icon-btn{color:#6a4b7f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:grid;gap:7px;color:#59416e;font-size:12px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #e3dce9;border-radius:10px;background:#fff;padding:11px;color:var(--ink);font:14px 'DM Sans';outline:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#9760b5;box-shadow:0 0 0 3px #f1e4f8}.form-grid textarea{height:82px;resize:vertical}.form-grid .full{grid-column:1/-1}.form-grid small{color:#786a84;font-weight:400}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:27px}.button.secondary{background:#eee8f3;color:#5b4470}.profile-modal{overflow:hidden}.profile-modal>.icon-btn{position:absolute;z-index:2;right:18px;top:18px;color:#fff}.profile-banner{margin:-29px -29px 22px;padding:29px;background:linear-gradient(135deg,#31105b,#74309b);color:#fff}.profile-banner .avatar{float:left;margin:0 15px 0 0}.profile-banner .eyebrow{color:var(--yellow)}.profile-banner h2{font-size:30px}.profile-banner p{margin:3px 0;color:#eadff1;font-size:13px}.profile-status{display:inline-flex;gap:6px;margin-top:13px;border-radius:99px;background:rgba(255,255,255,.13);padding:6px 9px;font-size:11px;font-weight:700}.profile-status.ok{color:#b7ffc9}.profile-status.pending{color:#ffde70}.profile-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-box{border:1px solid #e5dfea;border-radius:12px;background:#faf8fc;padding:14px}.detail-box span{display:block;margin-bottom:4px;color:#8a759a;font-size:10px;font-weight:700;letter-spacing:.8px}.profile-notes{margin-top:14px;border-radius:12px;background:#f2ebf6;padding:14px;color:#5b4769;font-size:13px}.profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.remove-athlete{border-color:#ffd1cf;background:#fff0ef;color:#c54741}.remove-athlete:hover{background:#ffe0dd}#toast{position:fixed;z-index:10;right:25px;bottom:25px;border:1px solid rgba(255,255,255,.29);border-radius:12px;background:rgba(52,14,87,.92);padding:13px 17px;color:white;box-shadow:0 0 20px rgba(255,223,71,.22);font-size:13px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;backdrop-filter:blur(12px)}#toast.show{opacity:1;transform:translateY(0)}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:1fr}.group-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.sidebar{position:relative;top:auto;bottom:auto;left:auto;width:auto;margin:12px;border-radius:19px;padding:14px;flex-direction:row;align-items:center}.brand{padding:0}.sidebar nav{display:flex;margin-left:auto}.sidebar-foot{display:none}.nav-link{font-size:0;padding:9px}.nav-link span{margin:0}main{margin:0;padding:27px 20px}.form-grid{grid-template-columns:1fr}}@media(max-width:560px){header{align-items:flex-start;gap:12px}.stats,.group-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.search{width:100%;min-width:0}.calendar-days .day{min-height:52px;padding:5px}.calendar-week,.calendar-days{gap:2px}.day-match{font-size:8px}.profile-details{grid-template-columns:1fr}}
.certificate-detail{grid-column:span 2;border-color:rgba(126,240,173,.45)!important;background:linear-gradient(135deg,rgba(126,240,173,.13),rgba(255,255,255,.92))!important;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.certificate-detail:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(61,22,97,.14)}.certificate-detail b{display:block;margin-top:5px;color:#3d1661;overflow-wrap:anywhere}.certificate-detail small{display:block;margin-top:4px;color:#28714a;font-weight:800}.certificate-detail::after{content:'↗  VISUALIZZA CERTIFICATO';display:inline-flex;margin-top:12px;padding:8px 12px;border-radius:10px;background:#3d1661;color:#ffd329;font-size:12px;font-weight:900;letter-spacing:.04em}.certificate-detail.opening::after{content:'APERTURA IN CORSO…';opacity:.72}
.profile-actions .delete-certificate{background:#fff0f2!important;border:1px solid #dc4960!important;color:#a7142b!important;font-weight:900}.profile-actions .delete-certificate:hover{background:#dc4960!important;color:#fff!important}
