/* AIDIBIO Academy public frontend */
.aid-events,.aid-detail{--aid-green:#116553;--aid-ink:#183146;--aid-border:#e4e8e8;color:var(--aid-ink);max-width:1240px;margin:0 auto;padding:26px 18px 70px;font-family:inherit}
.aid-events *,.aid-detail *{box-sizing:border-box}.aid-events a,.aid-detail a{text-decoration:none}.aid-eyebrow{font-size:12px;letter-spacing:.14em;font-weight:750;color:var(--aid-green)}
.aid-events-heading{background:#f3f6f3;border-radius:16px;padding:35px;margin-bottom:25px}.aid-events h1,.aid-detail h1{font-size:clamp(30px,3.3vw,46px);line-height:1.12;margin:10px 0}.aid-events-heading p{max-width:680px}
.aid-events-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:25px}.aid-filters{display:flex;gap:12px;flex-wrap:wrap}.aid-filters label{font-size:12px;font-weight:650}.aid-filters select{display:block;min-width:155px;max-width:240px;border:1px solid var(--aid-border);border-radius:8px;background:#fff;padding:10px;margin-top:6px;color:var(--aid-ink)}
.aid-switch{display:flex;border:1px solid var(--aid-border);border-radius:9px;overflow:hidden}.aid-switch button{border:0;background:#fff;padding:12px 15px;cursor:pointer;color:var(--aid-ink)}.aid-switch button[aria-pressed=true]{background:var(--aid-green);color:white}
.aid-event-items.aid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.aid-event-card{min-width:0;border:1px solid var(--aid-border);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 18px #0a2d2410;display:flex;flex-direction:column}.aid-event-card[hidden]{display:none!important}
.aid-event-image{display:block;position:relative;aspect-ratio:1.35;overflow:hidden;background:#edf2ed}.aid-event-image img{width:100%;height:100%;object-fit:cover;display:block}.aid-image-fallback{width:100%;height:100%;display:grid;place-items:center;text-align:center;color:var(--aid-green);font-weight:700;letter-spacing:.12em}
.aid-date{position:absolute;bottom:12px;left:12px;background:#fff;padding:6px 12px;border-radius:8px;text-align:center;color:var(--aid-ink);box-shadow:0 3px 12px #0002}.aid-date strong{display:block;font-size:22px}.aid-date small{font-size:10px;font-weight:700}
.aid-event-info{padding:19px;display:flex;flex-direction:column;gap:10px;flex:1}.aid-event-type{font-size:12px;color:var(--aid-green);font-weight:700}.aid-event-info h2{font-size:19px;line-height:1.3;margin:0}.aid-event-info h2 a{color:var(--aid-ink)}.aid-event-summary{font-size:14px;line-height:1.55;color:#53636c;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.aid-event-meta{font-size:12px;display:grid;gap:7px;color:#52606a;margin-top:auto}.aid-approved{display:inline-block;font-size:11px;font-weight:700;color:#754e0d;background:#fff3d8;border-radius:20px;padding:6px 10px;align-self:flex-start}.aid-event-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--aid-green);color:white!important;padding:11px 14px;border-radius:8px;font-size:13px;font-weight:700;margin-top:6px}
.aid-event-items.aid-list{display:grid;gap:14px}.aid-list .aid-event-card{display:grid;grid-template-columns:240px minmax(0,1fr)}.aid-list .aid-event-image{aspect-ratio:auto;min-height:205px}.aid-list .aid-event-info{padding:20px}.aid-list .aid-event-cta{align-self:flex-start}
.aid-calendar{border:1px solid var(--aid-border);border-radius:14px;padding:20px;background:#fff}.aid-calendar-nav{display:flex;justify-content:center;gap:25px;align-items:center;margin-bottom:18px}.aid-calendar-nav h2{margin:0;text-transform:capitalize;font-size:22px}.aid-calendar-nav button{border:1px solid var(--aid-border);border-radius:7px;background:#fff;font-size:25px;width:38px;height:38px;cursor:pointer}.aid-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.aid-calendar-weekday{text-align:center;font-weight:700;padding:12px 0;font-size:12px}.aid-calendar-day,.aid-calendar-blank{border:1px solid var(--aid-border);background:#fff;min-height:74px;padding:9px;display:flex;align-items:flex-start;justify-content:flex-end;border-radius:4px}.aid-calendar-day{cursor:pointer;color:var(--aid-ink)}.aid-calendar-day.has-event{background:#e8f5ef;position:relative;font-weight:700}.aid-calendar-day.has-event:after{content:"";width:7px;height:7px;background:var(--aid-green);border-radius:50%;position:absolute;bottom:10px;left:12px}.aid-calendar-day.selected{outline:2px solid var(--aid-green)}.aid-calendar-results{margin-top:24px}.aid-calendar-results h3{font-size:19px}.aid-calendar-result{display:block;padding:12px;border-top:1px solid var(--aid-border);color:var(--aid-green)!important}.aid-no-events{padding:40px;text-align:center}
.aid-back{color:var(--aid-green)!important;display:inline-block;margin-bottom:20px}.aid-detail-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;align-items:center;background:#f3f6f3;border-radius:16px;padding:30px}.aid-detail-cover img{display:block;width:100%;max-height:430px;object-fit:cover;border-radius:12px}.aid-detail-cover .aid-image-fallback{min-height:300px}.aid-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:35px;margin-top:35px}.aid-detail-section{margin-bottom:35px}.aid-detail-section h2,.aid-detail-panel h2{font-size:23px;margin:0 0 18px}.aid-preformatted{line-height:1.75}.aid-detail-panel{padding:23px;border:1px solid var(--aid-border);border-radius:12px;margin-bottom:15px}.aid-detail-panel p{line-height:1.6}.aid-venue-logo{display:block;max-width:95px;max-height:95px;object-fit:contain;margin-bottom:12px}.aid-teacher{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--aid-border)}.aid-teacher img{width:100px;height:100px;object-fit:cover;border-radius:12px}.aid-teacher h3{margin:0 0 8px;font-size:18px}.aid-teacher p{margin:0;line-height:1.65}
@media(max-width:950px){.aid-event-items.aid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.aid-detail-columns{grid-template-columns:1fr}.aid-detail-hero{grid-template-columns:1fr 1fr}}@media(max-width:650px){.aid-event-items.aid-cards{grid-template-columns:1fr}.aid-list .aid-event-card{grid-template-columns:1fr}.aid-list .aid-event-image{aspect-ratio:1.6}.aid-detail-hero{grid-template-columns:1fr}.aid-events-toolbar{align-items:stretch}.aid-filters{width:100%}.aid-filters label{flex:1;min-width:130px}.aid-filters select{min-width:0;width:100%}.aid-switch{width:100%}.aid-switch button{flex:1;padding:11px 7px}.aid-calendar{padding:8px}.aid-calendar-day,.aid-calendar-blank{min-height:43px;padding:5px}.aid-calendar-weekday{padding:8px 0}}

/* AIDIBIO brand refinement — 0.0.14 */
.aid-events,.aid-detail{--aid-green:#97be0e;--aid-blue:#009de0}
.aid-eyebrow,.aid-event-type,.aid-back{color:#668400!important}
.aid-switch button[aria-pressed=true],.aid-event-cta{background:var(--aid-green);color:#fff!important}
.aid-event-cta:hover,.aid-event-cta:focus-visible{background:#84a70c;color:#fff!important}
.aid-event-image{aspect-ratio:1/1;overflow:visible;background:#fff}
.aid-event-image>img{width:100%;height:100%;object-fit:contain;border-radius:12px 12px 0 0}
.aid-date{bottom:12px;left:12px;background:var(--aid-blue);color:#fff;border:2px solid #fff;box-shadow:0 5px 14px #005f9029;min-width:68px;padding:9px 12px}
.aid-date strong{font-size:26px;line-height:1.1}.aid-date small{font-size:11px}
.aid-rosette{position:absolute;right:14px;top:12px;width:90px;height:115px;z-index:2;display:flex;justify-content:center;align-items:flex-start;pointer-events:none;filter:drop-shadow(0 4px 5px #0002)}
.aid-rosette:before,.aid-rosette:after{content:"";position:absolute;top:55px;width:32px;height:58px;background:var(--aid-green);z-index:-1}
.aid-rosette:before{left:19px;transform:rotate(12deg);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.aid-rosette:after{right:19px;transform:rotate(-12deg);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.aid-rosette img{width:82px;height:82px;object-fit:contain;background:#fff;border-radius:50%;border:2px solid #009de0}
.aid-approved{color:#72510e;background:#fff3ce;font-size:12px;padding:8px 12px}
.aid-approved span{color:#80a500;margin-right:4px;font-size:15px}
.aid-calendar-day.has-event{background:#f2f8df}.aid-calendar-day.has-event:after{background:var(--aid-green)}.aid-calendar-day.selected{outline-color:var(--aid-blue)}
.aid-detail-cover{position:relative}.aid-detail-cover>img{object-fit:contain;background:#fff}
.aid-list .aid-event-image{aspect-ratio:1/1;min-height:0}.aid-list .aid-event-image>img{object-fit:contain}
@media(max-width:650px){.aid-rosette{width:74px;height:96px;right:10px;top:9px}.aid-rosette img{width:68px;height:68px}.aid-rosette:before,.aid-rosette:after{top:46px;height:48px;width:25px}.aid-rosette:before{left:16px}.aid-rosette:after{right:16px}}


/* Event detail refresh — 0.0.15 */
.aid-rosette:before,.aid-rosette:after{background:#009de0}
.aid-detail{--aid-blue:#009de0;--aid-green:#97be0e}
.aid-detail .aid-back{font-size:14px;font-weight:650;margin-bottom:22px}
.aid-detail .aid-detail-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:42px;padding:clamp(24px,3.5vw,46px);align-items:center;background:#f4f7f4}
.aid-detail .aid-detail-copy{min-width:0}
.aid-detail .aid-detail-copy h1{font-size:clamp(32px,3.3vw,48px);line-height:1.14;margin:15px 0 19px}
.aid-detail .aid-detail-intro{font-size:clamp(16px,1.3vw,19px);line-height:1.65;color:#506270;max-width:54ch;margin:0 0 22px}
.aid-detail .aid-detail-cover{width:100%;aspect-ratio:1/1;min-width:0;background:#fff;border-radius:14px;overflow:visible}
.aid-detail .aid-detail-cover>img{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:14px}
.aid-detail .aid-detail-columns{grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:clamp(22px,3vw,42px);align-items:start}
.aid-detail .aid-detail-section{padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid var(--aid-border)}
.aid-detail .aid-detail-section h2{font-size:clamp(23px,2vw,28px);margin:0 0 20px}
.aid-detail .aid-preformatted{font-size:16px;line-height:1.85;color:#344a58;overflow-wrap:anywhere}
.aid-detail .aid-teachers{display:grid;gap:18px}
.aid-detail .aid-teacher{display:flex;align-items:flex-start;gap:20px;border:1px solid var(--aid-border);border-radius:13px;padding:20px;background:#fff}
.aid-detail .aid-teacher img,.aid-detail .aid-teacher-placeholder{width:118px;height:118px;flex:0 0 118px;border-radius:12px;object-fit:cover}
.aid-detail .aid-teacher-placeholder{background:#f1f6e6;color:#8bad0d;display:grid;place-items:center;font-size:40px}
.aid-detail .aid-teacher-text{min-width:0}
.aid-detail .aid-teacher h3{font-size:20px;margin:3px 0 10px}
.aid-detail .aid-teacher p{font-size:15px;line-height:1.75;color:#4f626e;overflow-wrap:anywhere}
.aid-detail .aid-detail-panel{border:1px solid var(--aid-border);border-radius:14px;padding:23px;margin-bottom:18px;background:#fff}
.aid-detail .aid-detail-panel h2{font-size:21px;margin-bottom:18px}
.aid-detail .aid-session-list{display:grid;gap:14px}
.aid-detail .aid-session{display:flex;align-items:center;gap:13px}
.aid-detail .aid-session+.aid-session{border-top:1px solid var(--aid-border);padding-top:14px}
.aid-detail .aid-session-date{width:64px;height:68px;flex:0 0 64px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;background:#009de0;color:#fff}
.aid-detail .aid-session-date strong{font-size:25px;line-height:1.1}
.aid-detail .aid-session-date small{font-size:11px;font-weight:700}
.aid-detail .aid-session>div:last-child{display:grid;gap:5px;font-size:14px}
.aid-detail .aid-session>div:last-child span{color:#5c6c77}
.aid-detail .aid-venue-head{display:flex;align-items:center;gap:13px}
.aid-detail .aid-venue-head strong{line-height:1.4}
.aid-detail .aid-venue-logo{width:76px;height:76px;max-width:none;max-height:none;object-fit:contain;margin:0;flex-shrink:0}
.aid-detail .aid-venue-panel p{font-size:14px;line-height:1.7;color:#526673}
.aid-detail .aid-map-link{display:inline-flex;align-items:center;color:#0079ae!important;font-weight:700;font-size:14px}
.aid-detail .aid-map-link:hover{text-decoration:underline}
.aid-detail .aid-registration-state{display:inline-block;border-radius:99px;padding:7px 11px;font-size:12px;font-weight:700}
.aid-detail .aid-registration-open{color:#426000;background:#edf7d7}
.aid-detail .aid-registration-closed{color:#6d737b;background:#f0f1f2}
.aid-detail .aid-registration-panel p{font-size:14px;line-height:1.7;color:#536571;margin:14px 0 0}
@media(max-width:950px){.aid-detail .aid-detail-hero{grid-template-columns:1fr 1fr;gap:25px}.aid-detail .aid-detail-columns{grid-template-columns:1fr}.aid-detail .aid-detail-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.aid-detail .aid-detail-panel{margin:0}}
@media(max-width:650px){.aid-detail .aid-detail-hero{grid-template-columns:1fr;padding:22px}.aid-detail .aid-detail-cover{max-width:460px;margin:0 auto}.aid-detail .aid-detail-sidebar{grid-template-columns:1fr}.aid-detail .aid-teacher{flex-direction:column}.aid-detail .aid-teacher img,.aid-detail .aid-teacher-placeholder{width:110px;height:110px;flex-basis:110px}}

/* Public document links — 0.0.16 */
.aid-attachment-list{display:grid;gap:10px}
.aid-attachment-link{display:flex;gap:15px;align-items:center;padding:15px 17px;border:1px solid var(--aid-border);border-radius:12px;color:var(--aid-ink)!important;background:#fff}
.aid-attachment-link:hover{border-color:#009de0;background:#f7fcff}
.aid-attachment-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e7f6fd;color:#009de0;font-size:23px;font-weight:700;flex-shrink:0}
.aid-attachment-link>span:nth-child(2){display:grid;gap:4px;min-width:0}
.aid-attachment-link small{font-size:12px;color:#60707b;overflow-wrap:anywhere}
.aid-attachment-action{margin-left:auto;white-space:nowrap;color:#007fb8;font-size:13px;font-weight:700}
@media(max-width:650px){.aid-attachment-action{font-size:12px}}

/* Albo pubblico AIDIBIO 0.0.22 */
.aid-albo{--aid-green:#97be0e;--aid-ink:#183146;--aid-border:#e4e8e8;max-width:1200px;margin:auto;padding:28px 18px 65px;color:var(--aid-ink)}.aid-albo *{box-sizing:border-box}.aid-albo a{text-decoration:none}.aid-albo-hero{background:#f4f8e8;border-radius:16px;padding:36px;margin-bottom:24px}.aid-albo h1{font-size:clamp(30px,3.5vw,44px);margin:10px 0}.aid-albo-hero p{color:#52636b;max-width:660px}.aid-albo-tabs{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--aid-border);padding-bottom:15px}.aid-albo-tabs a{padding:11px 18px;border-radius:8px;color:#425760;background:#f4f6f7;font-weight:700}.aid-albo-tabs a.active{background:var(--aid-green);color:#fff}.aid-albo-toolbar{display:flex;align-items:end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:24px 0}.aid-albo-toolbar h2{margin:0;font-size:24px}.aid-albo-toolbar label{font-size:13px;color:#50606a}.aid-albo-toolbar input{display:block;padding:11px 14px;border:1px solid #d9e0e2;border-radius:9px;margin-top:6px;min-width:230px}.aid-albo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.aid-albo-card{border:1px solid var(--aid-border);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 15px #0000000b}.aid-albo-card[hidden]{display:none}.aid-albo-card a{display:block;color:var(--aid-ink)}.aid-albo-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f5f8f1}.aid-albo-card-body{padding:16px}.aid-albo-card h3{font-size:19px;margin:0 0 6px}.aid-albo-card p{color:#647580;font-size:14px;margin:0 0 13px}.aid-albo-count{display:block;font-size:12px;color:#688600;font-weight:700}.aid-albo-more{display:block;margin-top:14px;font-size:13px;color:#007fac;font-weight:700}.aid-albo-disclaimer{font-size:13px;line-height:1.7;color:#61717a;background:#f7f8f8;border-left:3px solid #97be0e;border-radius:6px;padding:17px 19px;margin-top:38px}.aid-albo-back{display:inline-block;color:#6b8d00!important;font-weight:700;margin-bottom:25px}.aid-albo-profile{display:flex;align-items:center;gap:30px;background:#f4f8e8;padding:28px;border-radius:16px}.aid-albo-avatar{width:190px;height:190px;object-fit:cover;border-radius:15px;background:#fff}.aid-albo-profile p{color:#5c6b72}.aid-albo-section{margin-top:35px}.aid-albo-section h2{font-size:25px;margin:0 0 22px}.aid-albo-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.aid-albo-badge{border:1px solid var(--aid-border);padding:22px;text-align:center;border-radius:13px}.aid-albo-badge-img{width:115px;height:115px;margin:0 auto 15px;display:grid;place-items:center;border-radius:50%;background:#f5f9e9;color:#91b700;font-size:45px}.aid-albo-badge-img img{width:100%;height:100%;object-fit:contain}.aid-albo-badge h3{font-size:17px;margin:0 0 8px}.aid-albo-badge p{font-size:13px;line-height:1.6;color:#52616b}.aid-albo-badge small{color:#678400}.aid-albo-contacts{display:flex;gap:15px;flex-wrap:wrap}.aid-albo-contacts>*{padding:11px;background:#f4f7f7;border-radius:8px;color:#264a5b}
@media(max-width:950px){.aid-albo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.aid-albo-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.aid-albo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aid-albo-card h3{font-size:16px}.aid-albo-card-body{padding:12px}.aid-albo-toolbar input{width:100%;min-width:0}.aid-albo-toolbar label{width:100%}.aid-albo-profile{flex-direction:column;align-items:flex-start}.aid-albo-avatar{width:140px;height:140px}.aid-albo-badges{grid-template-columns:1fr}.aid-albo-hero{padding:24px}}

/* Albo compatto e scheda con coccarde integrate — 0.0.23 */
.aid-albo .aid-directory{display:grid;gap:11px}.aid-albo .aid-directory-row{display:flex;align-items:center;gap:16px;padding:10px 16px;border:1px solid #e0e8ed;border-radius:12px;background:#fff;box-shadow:0 2px 10px #13283b08;min-width:0}.aid-albo .aid-directory-row[hidden]{display:none}.aid-directory-main{display:flex;align-items:center;gap:17px;flex:1 1 330px;min-width:0;color:#152c42!important}.aid-directory-photo{width:86px;height:86px;flex:0 0 86px;object-fit:cover;border-radius:9px;background:#f1f4f5}.aid-directory-identity{display:grid;gap:7px;min-width:0}.aid-directory-identity strong{font-size:21px;line-height:1.2}.aid-directory-identity small{font-size:14px;color:#637787}.aid-directory-medals{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:1 1 270px;flex-wrap:wrap}.aid-directory-medal{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;background:#eef5e0;color:#799d00;font-size:23px}.aid-directory-medal img{width:100%;height:100%;object-fit:contain}.aid-directory-arrow{font-size:36px;line-height:1;color:#13527a!important;padding:0 7px}.aid-profile-new{max-width:1060px}.aid-profile-shell{border:1px solid #e2e9ee;border-radius:18px;background:#fff;box-shadow:0 7px 28px #19324c0c;padding:30px}.aid-profile-top{display:grid;grid-template-columns:minmax(180px,255px) 1fr;gap:34px;align-items:start}.aid-profile-photo-column{display:grid;gap:15px}.aid-profile-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:#f3f6f8}.aid-profile-information h1{margin:8px 0 7px;font-size:clamp(28px,3vw,42px)}.aid-profile-city{color:#62798c;margin:0 0 22px}.aid-profile-medals{display:flex;flex-wrap:wrap;gap:11px;margin:15px 0 26px}.aid-profile-medal{border:0;background:#f0f6e4;border-radius:50%;width:76px;height:76px;display:grid;place-items:center;cursor:pointer;padding:3px;color:#789d00;font-size:32px;transition:transform .15s}.aid-profile-medal:hover,.aid-profile-medal:focus-visible{transform:translateY(-3px);outline:2px solid #97be0e}.aid-profile-medal img{width:100%;height:100%;object-fit:contain}.aid-profile-muted{color:#667985;font-size:14px}.aid-profile-contacts{display:grid;gap:10px;padding-top:10px}.aid-profile-contacts a{color:#175a84!important}.aid-profile-contacts span{color:#41596a}.aid-profile-bio{margin-top:28px}.aid-profile-bio h2{font-size:24px;margin-bottom:12px}.aid-profile-bio p{line-height:1.75;color:#415668;white-space:normal}.aid-profile-shell .aid-albo-disclaimer{margin-top:30px}.aid-badge-dialog{width:min(430px,calc(100vw - 32px));border:1px solid #dfe8ee;border-radius:16px;box-shadow:0 18px 60px #102d4560;padding:28px;text-align:center;color:#1b3346}.aid-badge-dialog::backdrop{background:#14293c8a}.aid-badge-close{position:absolute;top:10px;right:13px;background:none;border:0;font-size:30px;cursor:pointer;color:#40596a}.aid-badge-dialog-icon{width:110px;height:110px;margin:12px auto;display:grid;place-items:center;background:#eff5e4;border-radius:50%;font-size:42px;color:#83a800}.aid-badge-dialog-icon img{width:100%;height:100%;object-fit:contain}.aid-badge-dialog h2{font-size:23px}.aid-badge-dialog p{line-height:1.65;color:#536878;white-space:pre-wrap}
@media(max-width:720px){.aid-albo .aid-directory-row{gap:8px;padding:10px}.aid-directory-main{flex-basis:100%;gap:10px}.aid-directory-photo{width:64px;height:64px;flex-basis:64px}.aid-directory-identity strong{font-size:16px}.aid-directory-medals{justify-content:flex-start;flex-basis:100%;padding-left:74px}.aid-directory-medal{width:37px;height:37px}.aid-directory-arrow{margin-left:auto}.aid-albo .aid-directory-row{flex-wrap:wrap}.aid-profile-shell{padding:17px}.aid-profile-top{grid-template-columns:1fr;gap:15px}.aid-profile-photo-column{max-width:220px}.aid-profile-medal{width:62px;height:62px}}

.aid-private-profile{max-width:850px;margin:32px auto;padding:24px;background:#fff;border-radius:16px}.aid-private-form{display:grid;gap:16px;max-width:650px}.aid-private-form label{display:grid;gap:6px;font-weight:600}.aid-private-form input:not([type=checkbox]),.aid-private-form textarea{border:1px solid #cbd5e1;border-radius:8px;padding:10px;width:100%}.aid-private-form button{background:#97be0e;color:#14200b;border:0;border-radius:8px;padding:12px 20px;font-weight:700;cursor:pointer}

.aid-owner-access{display:flex;justify-content:flex-end;margin:0 0 12px}.aid-owner-access-button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #dbe5ea;border-radius:10px;color:#174c6d!important;background:#fff;font-weight:600;text-decoration:none!important;font-size:14px}.aid-owner-access-button:hover,.aid-owner-access-button:focus-visible{border-color:#97be0e;background:#f7faef}@media(max-width:640px){.aid-owner-access-button{font-size:13px;padding:8px 11px}}

/* Area personale 0.0.29 */
.aid-private-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.aid-private-heading h1{margin:0}.aid-private-logout{background:#fff;border:1px solid #d4dfe5;border-radius:9px;padding:10px 14px;color:#174c6d;font-weight:700;cursor:pointer}.aid-private-logout:hover{background:#f2f7e8}.aid-private-photo-box{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:17px;border:1px solid #dfe6e8;border-radius:12px;margin-bottom:20px}.aid-private-photo-preview{width:110px;height:110px;object-fit:cover;border-radius:12px}.aid-private-photo-box form{display:grid;gap:8px;flex:1;min-width:220px}.aid-private-photo-box label{font-weight:700}.aid-private-photo-box small{color:#536775}.aid-private-photo-box button{justify-self:start;background:#97be0e;border:0;border-radius:8px;padding:10px 15px;font-weight:700;cursor:pointer}.aid-private-form label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;line-height:1.4}.aid-private-form label input[type=checkbox]{flex:0 0 auto;margin:0;width:18px;height:18px}

/* Storico formativo personale */
.aid-private-history{margin-top:2rem;padding-top:1.25rem;border-top:1px solid #dce4e7}
.aid-private-history h2{font-family:Georgia,serif;color:#193544}
.aid-history-scroll{overflow-x:auto}
.aid-history-table{width:100%;border-collapse:collapse;min-width:520px}
.aid-history-table th,.aid-history-table td{text-align:left;padding:12px;border-bottom:1px solid #dce4e7}
.aid-history-table th{color:#193544;background:#f4f7f7}
.aid-history-status{font-weight:700;color:#547b00}

/* Area personale: lettura, modifica e storico separati */
.aid-private-overview{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;margin:18px 0 26px}.aid-private-overview-photo{width:190px;height:190px;object-fit:cover;border-radius:15px;border:1px solid #dce5e7}.aid-private-overview>div{flex:1;min-width:220px}.aid-private-overview h2{margin:0 0 8px;color:#183746}.aid-private-overview p{margin:7px 0}.aid-private-readonly{padding:18px 0;border-top:1px solid #dce5e7}.aid-private-readonly h3{color:#183746;margin:0 0 10px}.aid-private-readonly p{overflow-wrap:anywhere}.aid-private-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.aid-private-action{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;background:#97be0e;border:1px solid #97be0e;color:#172f10!important;border-radius:9px;text-decoration:none!important;font-weight:700}.aid-private-action-secondary{background:#fff;border-color:#c8d6dd;color:#174c6d!important}.aid-history-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:20px 0}.aid-history-filters label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#183746}.aid-history-filters input,.aid-history-filters select{min-width:0;width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:10px;background:#fff;color:#183746}.aid-history-filters button{align-self:end;border:1px solid #cbd5e1;border-radius:7px;padding:10px;background:#f3f6f6;color:#183746;cursor:pointer}.aid-history-table tr[hidden]{display:none}
@media(max-width:600px){.aid-private-overview-photo{width:130px;height:130px}.aid-private-profile{padding:16px}.aid-private-actions .aid-private-action{width:100%}}

/* Stile coerente per i due titoli dello storico formativo */
.aid-private-history h2,.aid-private-profile .aid-private-heading h1{font-family:Georgia,serif}

/* 0.0.46: ruoli distinti nel profilo pubblico */
.aid-profile-photo-column .aid-profile-roles{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}
.aid-profile-photo-column .aid-role{box-sizing:border-box;display:block;max-width:100%;font-weight:800;letter-spacing:.075em;line-height:1.35}
.aid-profile-photo-column .aid-role-teacher{width:100%;padding:12px 13px;border-radius:9px;background:#668900;color:#fff!important;font-size:14px;text-align:center;box-shadow:0 2px 5px #32470024}
.aid-profile-photo-column .aid-role-teacher span{margin-right:5px}
.aid-profile-photo-column .aid-role-student{padding:7px 10px;border-radius:7px;background:#eff4e6;color:#597b00!important;font-size:11px}
@media(max-width:720px){.aid-profile-photo-column .aid-role-teacher{font-size:13px}}

.aid-badge-sections{display:flex;flex-direction:column;gap:14px;margin:20px 0}.aid-badge-section h2{font-size:.85rem!important;letter-spacing:.04em;text-transform:uppercase;color:#647c1b;margin:0 0 9px}.aid-badge-section .aid-profile-medals{margin:0}.aid-teacher-roles{margin:18px 0}.aid-teacher-roles h2,.aid-teacher-resources h2{font-size:1.1rem}.aid-teacher-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:12px 0}.aid-teacher-gallery a{display:block}.aid-teacher-gallery img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%}.aid-teacher-resources ul{padding-left:20px}.aid-teacher-resources a{color:#316a83}

/* v0.0.49 – Spaziatura e titoli del profilo docente */
.aid-profile-new .aid-profile-bio,
.aid-profile-new .aid-teacher-roles,
.aid-profile-new .aid-teacher-resources { margin-block: 32px 0; }
.aid-profile-new .aid-profile-bio h2,
.aid-profile-new .aid-teacher-roles h2,
.aid-profile-new .aid-teacher-resources h2 { color: #97be0e; font-size: clamp(1.2rem, 2vw, 1.45rem); line-height: 1.3; margin: 0 0 15px; font-weight: 700; }
.aid-profile-new .aid-teacher-roles p { margin: 0; line-height: 1.9; color: #183146; }
.aid-profile-new .aid-teacher-resources ul { margin: 0; padding-left: 23px; line-height: 1.85; }
.aid-profile-new .aid-teacher-resources li + li { margin-top: 8px; }
.aid-profile-new .aid-teacher-gallery { margin-top: 4px; }
.aid-profile-new .aid-profile-bio p { margin: 0; }
@media(max-width:720px) { .aid-profile-new .aid-profile-bio, .aid-profile-new .aid-teacher-roles, .aid-profile-new .aid-teacher-resources { margin-top: 26px; } }

/* 0.0.50 – Scheda pubblica unificata docenti e studenti */
.aid-profile-new{max-width:1240px}
.aid-profile-layout-v2{padding:30px}
.aid-profile-main-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:42px;align-items:start}
.aid-profile-sidebar{background:#f7f9f2;border-radius:14px;padding:18px;min-width:0}
.aid-profile-sidebar .aid-profile-photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.aid-profile-sidebar .aid-profile-roles{display:flex;flex-direction:column;gap:9px;margin-top:14px;align-items:stretch}
.aid-profile-sidebar .aid-role-student{align-self:flex-start}
.aid-profile-sidebar .aid-profile-contacts{margin-top:22px;padding-top:20px;border-top:1px solid #d6e3c2;gap:13px;overflow-wrap:anywhere}
.aid-profile-content{min-width:0}
.aid-profile-content h1{font-family:Georgia,serif;color:#173044;font-size:clamp(30px,3.4vw,46px);margin:0 0 8px;line-height:1.15}
.aid-profile-content .aid-profile-city{margin:0 0 22px;color:#607588}
.aid-profile-content-section{padding-top:20px;margin-top:23px;border-top:1px solid #cfe2ae}
.aid-profile-content-section h2,.aid-profile-resources h2{font-family:Georgia,serif;font-size:clamp(21px,2.1vw,27px)!important;line-height:1.25;color:#97be0e!important;text-transform:none!important;letter-spacing:normal!important;margin:0 0 14px!important}
.aid-profile-layout-v2 .aid-profile-bio,.aid-profile-layout-v2 .aid-teacher-roles{margin:23px 0 0}
.aid-profile-biography p{color:#314c61;line-height:1.8;margin:0 0 15px}
.aid-profile-biography p:last-child{margin-bottom:0}
.aid-profile-layout-v2 .aid-teacher-roles-text{line-height:1.9;color:#203e54}
.aid-profile-layout-v2 .aid-badge-sections{gap:0;margin:0}
.aid-profile-layout-v2 .aid-badge-section{margin:23px 0 0;padding-top:20px}
.aid-profile-layout-v2 .aid-profile-medals{margin:4px 0 0;gap:14px}
.aid-profile-layout-v2 .aid-profile-medal{width:84px;height:84px}
.aid-profile-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:32px;padding-top:22px;border-top:1px solid #cfe2ae}
.aid-profile-resource-section{min-width:0}
.aid-profile-layout-v2 .aid-teacher-gallery{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px}
.aid-profile-layout-v2 .aid-teacher-gallery img{aspect-ratio:1;object-fit:cover}
.aid-profile-document-list{padding:0!important;margin:0!important;list-style:none}
.aid-profile-document-list li{margin:0 0 10px}
.aid-profile-document-list a{display:flex;align-items:center;gap:12px;padding:15px;border-radius:10px;background:#f2f6f8;color:#17547a!important;overflow-wrap:anywhere}
.aid-profile-document-list a>span:nth-child(2){flex:1;font-weight:700}
.aid-profile-document-list small{display:block;font-size:12px;font-weight:400;margin-top:3px}
.aid-profile-layout-v2 .aid-albo-disclaimer{margin-top:32px}
@media(max-width:800px){.aid-profile-main-grid{grid-template-columns:minmax(175px,220px) minmax(0,1fr);gap:24px}.aid-profile-layout-v2{padding:20px}.aid-profile-resources{gap:18px}}
@media(max-width:650px){.aid-profile-main-grid{grid-template-columns:1fr}.aid-profile-sidebar{max-width:100%;display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:12px;align-items:start}.aid-profile-sidebar .aid-profile-roles{margin:0}.aid-profile-sidebar .aid-profile-contacts{grid-column:1/-1;margin-top:0}.aid-profile-resources{grid-template-columns:1fr}.aid-profile-layout-v2 .aid-profile-medal{width:66px;height:66px}}
@media(max-width:400px){.aid-profile-sidebar{grid-template-columns:1fr}.aid-profile-sidebar .aid-profile-photo{max-width:210px}.aid-profile-sidebar .aid-profile-contacts{grid-column:auto}}

/* 0.0.51 – Ripristino etichette ruolo nel nuovo layout */
.aid-profile-layout-v2 .aid-profile-sidebar .aid-profile-roles{display:flex;flex-direction:column;align-items:stretch;gap:9px;width:100%}
.aid-profile-layout-v2 .aid-profile-sidebar .aid-role{box-sizing:border-box;display:block;max-width:100%;font-family:inherit;font-weight:800;line-height:1.35;letter-spacing:.035em;text-decoration:none}
.aid-profile-layout-v2 .aid-profile-sidebar .aid-role-teacher{width:100%;padding:13px 12px;border-radius:9px;background:#668900;color:#fff!important;font-size:14px;text-align:center;box-shadow:0 2px 5px #32470024}
.aid-profile-layout-v2 .aid-profile-sidebar .aid-role-student{align-self:flex-start;padding:8px 11px;border-radius:7px;background:#eff4e6;color:#597b00!important;font-size:11px}
@media(max-width:650px){.aid-profile-layout-v2 .aid-profile-sidebar .aid-role-teacher{font-size:12px;padding:10px 8px}}

/* 0.0.52 — pagina dedicata I Docenti AIDIBIO */
.aid-docenti-page{max-width:1200px}
.aid-docenti-hero{background:#f7f9f2;border-radius:18px;padding:38px 42px;margin-bottom:26px;border:1px solid #e9eedf}
.aid-docenti-hero .aid-eyebrow{font-weight:700;letter-spacing:.12em;color:#779c00;font-size:12px}
.aid-docenti-hero h1{font-family:Georgia,serif;color:#173044;margin:10px 0 12px;font-size:clamp(30px,4vw,46px)}
.aid-docenti-hero p{line-height:1.7;max-width:750px;color:#4e6677;margin:0}
.aid-docenti-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.aid-docenti-total{margin:0;color:#647984;font-size:14px}
.aid-docenti-toolbar label{font-size:13px;font-weight:600;color:#39556a}
.aid-docenti-toolbar input{display:block;margin-top:7px;padding:12px 14px;border:1px solid #d5e0e5;border-radius:10px;min-width:260px;width:100%;font:inherit;background:white}
.aid-docenti-toolbar input:focus-visible{outline:2px solid #97be0e;outline-offset:2px}
.aid-docenti-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.aid-docente-card{background:#fff;border:1px solid #e3eae7;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px #20374b0c;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.aid-docente-card[hidden]{display:none!important}
.aid-docente-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #20374b17}
.aid-docente-photo-link{display:block;overflow:hidden;background:#f3f7ef}
.aid-docente-photo-link img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .25s}
.aid-docente-card:hover .aid-docente-photo-link img{transform:scale(1.025)}
.aid-docente-card-content{padding:21px 22px 24px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:0}
.aid-docente-label{background:#668900;color:#fff;border-radius:5px;font-weight:700;font-size:11px;letter-spacing:.06em;padding:7px 10px}
.aid-docente-card h2{font-family:Georgia,serif;font-size:clamp(20px,2.1vw,26px);line-height:1.2;margin:15px 0 7px;color:#173044}
.aid-docente-card h2 a{color:inherit!important}
.aid-docente-city{font-size:14px;color:#6a7f8c;margin:0 0 15px}
.aid-docente-roles{margin:0 0 18px;color:#334e60;line-height:1.5;font-size:14px}
.aid-docente-roles p{margin:0 0 5px}
.aid-docente-profile-link{margin-top:auto;font-weight:700;font-size:14px;color:#597c00!important;padding-top:12px}
.aid-docente-profile-link:hover{text-decoration:underline!important}
.aid-docenti-empty{padding:22px;background:#f7f9f2;border-radius:10px;color:#4e6677}
@media(max-width:850px){.aid-docenti-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:550px){.aid-docenti-grid{grid-template-columns:1fr}.aid-docenti-hero{padding:26px 22px}.aid-docenti-toolbar label{width:100%}.aid-docenti-toolbar input{min-width:0}.aid-docente-photo-link img{aspect-ratio:4/4}}

/* 0.0.54: distinzione leggibile anche senza percezione dei colori */
.aid-event-card.aid-event-curricular{background:#f0f5e4;border-color:#c8dca1}
.aid-event-card.aid-event-extra{background:#eaf3f8;border-color:#c4dbe9}
.aid-curriculum-tag{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#3b5815}
.aid-event-extra .aid-curriculum-tag{color:#285b78}
.aid-event-card.aid-event-curricular .aid-event-info{background:#f0f5e4}
.aid-event-card.aid-event-extra .aid-event-info{background:#eaf3f8}

.aid-event-meta a{display:block;color:inherit;text-decoration:underline;text-underline-offset:3px;margin:.3rem 0}.aid-delivery-label{font-weight:600;color:#507c1b}

/* 0.0.59.9 — Nastro promozionale per i corsi blended, indipendente dalla coccarda APOS. */
.aid-event-image .aid-blended-ribbon,.aid-detail-cover .aid-blended-ribbon{position:absolute;top:13px;left:0;z-index:3;display:inline-block;max-width:calc(100% - 104px);padding:9px 13px 9px 15px;background:#0789b7;color:#fff;font-size:11px;font-weight:800;letter-spacing:.045em;line-height:1.35;text-align:left;box-shadow:0 3px 10px #003b532b;border-radius:0 4px 4px 0;pointer-events:none}
@media(max-width:650px){.aid-event-image .aid-blended-ribbon,.aid-detail-cover .aid-blended-ribbon{top:9px;max-width:calc(100% - 83px);padding:7px 9px;font-size:9px;letter-spacing:.015em}}
