:root{--acs-bg:#f5f7fb;--acs-card:#fff;--acs-ink:#152238;--acs-muted:#738096;--acs-line:#e7ebf2;--acs-primary:#176b87;--acs-primary2:#1a9b80;--acs-soft:#e9f6f3;--acs-warn:#b56b15;--acs-warnbg:#fff3df;--acs-shadow:0 18px 50px rgba(39,54,83,.08)}
.acs-app{width:100vw;max-width:none;margin:0 calc(50% - 50vw);background:var(--acs-bg);min-height:100vh;border-radius:0;overflow:hidden;display:grid;grid-template-columns:245px minmax(0,1fr);box-shadow:none;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--acs-ink)}
.acs-sidebar{background:#10283a;color:#fff;padding:28px 20px;display:flex;flex-direction:column;min-height:850px}.acs-brand{display:flex;align-items:center;gap:12px;padding:2px 8px 28px}.acs-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#42c6a6,#4ba0df);display:grid;place-items:center;font-weight:800;font-size:23px}.acs-brand strong{display:block;letter-spacing:.12em;font-size:14px}.acs-brand small{display:block;color:#9fb2c2;margin-top:4px}.acs-nav{display:flex;flex-direction:column;gap:5px}.acs-nav button{border:0;background:transparent;color:#afc0cd;text-align:left;padding:13px 14px;border-radius:12px;font:inherit;font-size:14px;cursor:pointer;display:flex;gap:12px;align-items:center}.acs-nav button.active,.acs-nav button:hover{background:rgba(255,255,255,.09);color:#fff}.acs-side-bottom{margin-top:auto;padding:16px 8px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.acs-side-bottom small{color:#8da2b1}.acs-side-bottom a{color:#74d9c1;font-size:13px;margin-top:8px;text-decoration:none}.acs-main{padding:34px 38px 70px;min-width:0}.acs-topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.acs-topbar h2{margin:4px 0 0;font-size:22px}.acs-eyebrow,.acs-section-title>span,.acs-card-head span,.acs-today-note>span,.acs-med-card>div>span{font-size:11px;letter-spacing:.14em;color:#789; font-weight:800}.acs-pill{background:#fff;border:1px solid var(--acs-line);padding:9px 13px;border-radius:999px;color:#5d6a80;font-size:12px}.acs-panel{display:none}.acs-panel.active{display:block}.acs-hero{background:linear-gradient(135deg,#153a52 0%,#176b87 52%,#169077 100%);color:#fff;border-radius:24px;padding:30px;display:flex;justify-content:space-between;align-items:end;box-shadow:var(--acs-shadow)}.acs-hero span{font-size:11px;letter-spacing:.15em;opacity:.7;font-weight:800}.acs-hero h1{margin:7px 0 7px;color:#fff;font-size:31px}.acs-hero p{margin:0;color:rgba(255,255,255,.75)}.acs-status{background:rgba(255,255,255,.12);padding:12px 15px;border-radius:14px;display:flex;gap:9px;align-items:center;max-width:320px}.acs-status i{width:9px;height:9px;background:#78e0b4;border-radius:50%;box-shadow:0 0 0 5px rgba(120,224,180,.13)}.acs-status.warn i{background:#ffc66d}.acs-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.acs-stat-grid article{background:#fff;border:1px solid var(--acs-line);padding:20px;border-radius:18px;box-shadow:0 8px 24px rgba(40,50,70,.04)}.acs-stat-grid span,.acs-stat-grid small{display:block;color:var(--acs-muted);font-size:12px}.acs-stat-grid strong{display:block;font-size:28px;margin:8px 0 4px}.acs-stat-grid strong.acs-smaller{font-size:17px;line-height:1.25}.acs-two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.acs-card,.acs-list-card{background:#fff;border:1px solid var(--acs-line);border-radius:20px;padding:22px;box-shadow:0 8px 30px rgba(40,50,70,.04)}.acs-card-head{display:flex;justify-content:space-between;align-items:flex-start}.acs-card h3,.acs-card-head h3{margin:5px 0 15px}.acs-link{border:0;background:none;color:var(--acs-primary);cursor:pointer;font-weight:700}.acs-event{display:flex;gap:13px;padding:14px 0;border-top:1px solid var(--acs-line)}.acs-event:first-child{border-top:0}.acs-event-icon{width:42px;height:42px;background:#f2f6f9;border-radius:12px;display:grid;place-items:center;font-size:19px;flex:0 0 auto}.acs-event-body strong,.acs-event-body span,.acs-event-body small{display:block}.acs-event-body span{font-size:12px;color:var(--acs-muted);margin-top:4px}.acs-event-body small{margin-top:6px;color:var(--acs-warn);font-weight:700}.acs-today-note{background:linear-gradient(180deg,#fff,#f4fbf9)}.acs-today-note h3{font-size:22px;line-height:1.25}.acs-mini-alert{background:#fff;border:1px solid #dbeee8;border-radius:12px;padding:10px 12px;margin-top:10px;font-size:13px}.acs-section-title{margin:10px 0 24px}.acs-section-title h1{font-size:34px;margin:5px 0}.acs-section-title p{color:var(--acs-muted);margin:0;max-width:720px}.acs-row-event{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--acs-line)}.acs-row-event:first-child{border-top:0}.acs-row-event h3{margin:2px 0 5px;font-size:16px}.acs-row-event p{margin:3px 0;color:var(--acs-muted);font-size:13px}.acs-datebox{width:58px;height:58px;border-radius:14px;background:#edf6f4;display:flex;flex-direction:column;align-items:center;justify-content:center}.acs-datebox strong{font-size:20px}.acs-datebox span{font-size:10px;color:#607586;font-weight:800}.acs-tag{display:inline-block;margin-top:7px;background:var(--acs-warnbg);color:var(--acs-warn);font-size:11px;font-weight:800;padding:5px 8px;border-radius:8px}.acs-simple-row{padding:14px 0;border-top:1px solid var(--acs-line);display:flex;justify-content:space-between;gap:20px}.acs-simple-row span{color:var(--acs-muted);font-size:13px}.acs-med-grid,.acs-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.acs-med-card,.acs-contact-card{background:#fff;border:1px solid var(--acs-line);border-radius:20px;padding:22px;box-shadow:0 8px 30px rgba(40,50,70,.04)}.acs-med-card{display:flex;gap:15px}.acs-med-icon{width:42px;height:42px;border-radius:13px;background:#e8f7f2;color:#17846e;display:grid;place-items:center;font-size:20px;flex:none}.acs-med-card h3{margin:4px 0 11px}.acs-med-card p{margin:6px 0;font-size:13px}.acs-school-med{margin:12px 0;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:700}.acs-school-med.yes{background:#e8f7ee;color:#27794b}.acs-school-med.no{background:#f2f4f7;color:#667085}.acs-med-card small{color:var(--acs-muted)}.diary-layout{grid-template-columns:.9fr 1.1fr}.acs-form label{display:block;font-size:12px;font-weight:700;margin:12px 0}.acs-form select,.acs-form textarea,.acs-feedback-form textarea{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #dce2ea;border-radius:12px;padding:11px;background:#fbfcfe}.acs-check{display:flex!important;align-items:center;gap:8px}.acs-primary{border:0;background:linear-gradient(135deg,var(--acs-primary),var(--acs-primary2));color:#fff;padding:11px 16px;border-radius:11px;font-weight:800;cursor:pointer}.acs-message{padding:14px 0;border-top:1px solid var(--acs-line)}.acs-message:first-child{border-top:0}.acs-message.important{border-left:3px solid #ef9a3d;padding-left:12px}.acs-message>div{display:flex;justify-content:space-between;gap:12px}.acs-message span{font-size:11px;color:var(--acs-muted)}.acs-message p{margin:8px 0 0;line-height:1.55}.acs-ratings{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:12px}.acs-ratings input{display:none}.acs-ratings span{display:flex;flex-direction:column;align-items:center;background:#f5f7fa;border:1px solid var(--acs-line);border-radius:12px;padding:10px 4px;font-size:22px;cursor:pointer}.acs-ratings small{font-size:9px;margin-top:4px;color:#667085}.acs-ratings input:checked+span{outline:2px solid #38a88b;background:#eaf8f4}.acs-feedback-form textarea{margin-bottom:10px}.acs-feedback-history{margin-top:18px}.acs-feedback-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.acs-feedback-strip>div{background:#f6f8fb;border-radius:12px;padding:10px;text-align:center}.acs-feedback-strip span,.acs-feedback-strip strong,.acs-feedback-strip small{display:block}.acs-feedback-strip span{font-size:22px}.acs-feedback-strip strong{font-size:11px;margin:5px 0}.acs-feedback-strip small{font-size:10px;color:var(--acs-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acs-contact-card{text-align:center;position:relative}.acs-avatar{width:62px;height:62px;margin:0 auto 12px;border-radius:20px;background:linear-gradient(135deg,#dff5ee,#dceefd);color:#196e83;display:grid;place-items:center;font-size:24px;font-weight:900}.acs-contact-role{display:inline-block;background:#edf6f4;color:#217d69;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.acs-contact-card h3{margin:10px 0 18px}.acs-contact-line{display:flex;text-align:left;gap:11px;align-items:center;text-decoration:none;color:inherit;border-top:1px solid var(--acs-line);padding:12px 0}.acs-contact-line>span{width:34px;height:34px;border-radius:10px;background:#f5f7fa;display:grid;place-items:center}.acs-contact-line small,.acs-contact-line strong{display:block}.acs-contact-line small{color:var(--acs-muted);font-size:10px}.acs-contact-line strong{font-size:12px;word-break:break-word}.acs-contact-note{font-size:12px;color:var(--acs-muted);background:#f7f9fb;border-radius:10px;padding:9px}.acs-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.acs-contact-actions a{background:#10283a;color:#fff;border-radius:10px;padding:9px;text-decoration:none;font-size:12px;font-weight:800}.acs-privacy-note{margin-top:18px;color:#6d7788;font-size:12px;background:#fff;border:1px solid var(--acs-line);padding:12px 14px;border-radius:12px}.acs-empty{padding:30px;text-align:center;color:var(--acs-muted);background:#f8fafc;border-radius:14px}.acs-mobile-nav{display:none}.acs-login-shell{max-width:520px;margin:70px auto;padding:22px;font-family:Inter,system-ui,sans-serif}.acs-login-card{background:#fff;border:1px solid #e6eaf0;border-radius:26px;padding:34px;box-shadow:0 24px 70px rgba(33,51,82,.12);text-align:center}.acs-logo{width:62px;height:62px;margin:auto;background:linear-gradient(135deg,#176b87,#1a9b80);color:#fff;border-radius:20px;display:grid;place-items:center;font-size:28px;font-weight:900}.acs-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#718096;margin-top:18px}.acs-login-card h1{margin:6px 0}.acs-login-card>p{color:#718096}.acs-login-card form{text-align:left;margin-top:24px}.acs-login-card label{font-size:12px;font-weight:700}.acs-login-card input[type=text],.acs-login-card input[type=password]{width:100%;box-sizing:border-box;border:1px solid #dce2ea;border-radius:12px;padding:12px;margin-top:6px}.acs-login-card input[type=submit]{width:100%;border:0;border-radius:12px;background:#176b87;color:#fff;padding:12px;font-weight:800}.acs-login-card small{display:block;color:#7a8699;margin-top:18px}.acs-denied{max-width:700px;margin:50px auto;padding:25px;background:#fff0f0;border:1px solid #ffd1d1;border-radius:18px}
@media(max-width:1050px){.acs-app{grid-template-columns:190px 1fr}.acs-main{padding:28px 24px 70px}.acs-stat-grid{grid-template-columns:repeat(2,1fr)}.acs-med-grid,.acs-contact-grid{grid-template-columns:repeat(2,1fr)}.acs-two-col{grid-template-columns:1fr}.acs-nav button{padding:12px 10px}}
@media(max-width:760px){.acs-app{display:block;margin:0;border-radius:0;min-height:100vh}.acs-sidebar{display:none}.acs-main{padding:22px 16px 92px}.acs-topbar{align-items:center}.acs-topbar h2{font-size:18px}.acs-pill{display:none}.acs-hero{padding:22px;display:block}.acs-hero h1{font-size:25px}.acs-status{margin-top:18px;max-width:none}.acs-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.acs-stat-grid article{padding:16px}.acs-stat-grid strong{font-size:23px}.acs-med-grid,.acs-contact-grid{grid-template-columns:1fr}.acs-section-title h1{font-size:28px}.acs-mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--acs-line);box-shadow:0 -8px 30px rgba(40,50,70,.08);padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.acs-mobile-nav button{border:0;background:none;color:#7d8999;font-size:20px;padding:4px}.acs-mobile-nav button small{display:block;font-size:9px;margin-top:2px}.acs-mobile-nav button.active{color:#177f77}.acs-ratings{grid-template-columns:repeat(5,1fr);gap:4px}.acs-ratings span{font-size:18px;padding:8px 2px}.acs-feedback-strip{grid-template-columns:repeat(2,1fr)}.acs-message>div{display:block}.acs-message span{display:block;margin-top:2px}.acs-simple-row{display:block}.acs-simple-row span{display:block;margin-top:5px}}

.acs-recurring-banner{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#eaf8f4,#f4fbff);border:1px solid #d6eee8;border-radius:20px;padding:18px 20px;margin:0 0 18px;box-shadow:0 8px 26px rgba(40,50,70,.04)}.acs-recurring-icon{width:50px;height:50px;border-radius:15px;background:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 5px 16px rgba(40,50,70,.07);flex:none}.acs-recurring-banner span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#17846e}.acs-recurring-banner h3{margin:4px 0 3px;font-size:17px}.acs-recurring-banner p{margin:0;color:var(--acs-muted);font-size:12px}@media(max-width:760px){.acs-recurring-banner{align-items:flex-start;padding:16px}.acs-recurring-icon{width:44px;height:44px;font-size:21px}.acs-recurring-banner h3{font-size:15px}}

/* v1.1.0 — documents + Adam profile */
.acs-event-docs{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.acs-event-docs a{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:10px;background:#eef6fb;color:#176b87;text-decoration:none;font-size:11px;font-weight:800;border:1px solid #dcecf5}.acs-event-docs a:hover{background:#e2f1f8}
.acs-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.acs-doc-card{background:#fff;border:1px solid var(--acs-line);border-radius:20px;padding:20px;display:flex;gap:14px;box-shadow:0 8px 30px rgba(40,50,70,.04);min-width:0}.acs-doc-icon{width:46px;height:46px;border-radius:14px;background:#f2f6f9;display:grid;place-items:center;font-size:21px;flex:none}.acs-doc-card>div:last-child{min-width:0}.acs-doc-card span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#17846e}.acs-doc-card h3{font-size:16px;margin:5px 0 6px}.acs-doc-card p,.acs-doc-card small{display:block;color:var(--acs-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acs-doc-open{display:inline-block;margin-top:13px;color:#176b87;text-decoration:none;font-size:12px;font-weight:900}
.acs-profile-hero{background:linear-gradient(135deg,#153a52 0%,#176b87 55%,#169077 100%);color:#fff;border-radius:24px;padding:28px;display:flex;align-items:center;gap:22px;box-shadow:var(--acs-shadow);margin-bottom:18px}.acs-profile-photo{width:118px;height:118px;border-radius:28px;background:rgba(255,255,255,.16);border:3px solid rgba(255,255,255,.45);overflow:hidden;display:grid;place-items:center;flex:none}.acs-profile-photo img{width:100%;height:100%;object-fit:cover}.acs-profile-photo span{font-size:48px;font-weight:900}.acs-profile-title>span{font-size:10px;letter-spacing:.16em;font-weight:900;opacity:.7}.acs-profile-title h2{font-size:30px;margin:5px 0;color:#fff}.acs-profile-title p{margin:0;color:rgba(255,255,255,.78)}.acs-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.acs-profile-grid article{background:#fff;border:1px solid var(--acs-line);border-radius:18px;padding:18px}.acs-profile-grid span{display:block;color:var(--acs-muted);font-size:11px;margin-bottom:7px}.acs-profile-grid strong{font-size:15px;line-height:1.35}.acs-profile-notes>span{font-size:10px;letter-spacing:.13em;font-weight:900;color:#17846e}.acs-profile-notes p{margin:10px 0 0;line-height:1.65;color:#465469}
@media(max-width:1050px){.acs-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.acs-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.acs-doc-grid{grid-template-columns:1fr}.acs-profile-hero{padding:20px;align-items:flex-start}.acs-profile-photo{width:88px;height:88px;border-radius:22px}.acs-profile-photo span{font-size:38px}.acs-profile-title h2{font-size:23px}.acs-profile-grid{grid-template-columns:1fr 1fr;gap:10px}.acs-mobile-nav{display:flex;overflow-x:auto;grid-template-columns:none;justify-content:flex-start;scrollbar-width:none}.acs-mobile-nav::-webkit-scrollbar{display:none}.acs-mobile-nav button{flex:0 0 74px}.acs-main{padding-bottom:98px}}


/* v1.1.1 — weekly school timetable */
.acs-today-lessons{background:#fff;border:1px solid var(--acs-line);border-radius:20px;padding:20px 22px;margin:0 0 18px;box-shadow:0 8px 30px rgba(40,50,70,.04)}
.acs-today-lessons-head,.acs-weekly-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.acs-today-lessons-head span,.acs-weekly-head span{font-size:10px;letter-spacing:.13em;font-weight:900;color:#17846e}
.acs-today-lessons-head h3,.acs-weekly-head h3{margin:4px 0 0;font-size:19px}
.acs-lesson-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:15px}
.acs-lesson-chip{background:#f6f9fb;border:1px solid #e6edf2;border-radius:14px;padding:12px;min-width:0}
.acs-lesson-chip small{display:block;font-size:10px;color:var(--acs-muted);margin-bottom:6px}
.acs-lesson-chip strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acs-lesson-chip.empty{opacity:.5}
.acs-weekly-card{margin-bottom:18px;padding:22px}
.acs-provisional-badge{background:#fff3df;color:#a75d09;border:1px solid #ffe0ad;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.acs-weekly-scroll{overflow-x:auto;margin-top:16px;border:1px solid var(--acs-line);border-radius:16px}
.acs-weekly-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0}
.acs-weekly-table th,.acs-weekly-table td{padding:14px 12px;border-right:1px solid var(--acs-line);border-bottom:1px solid var(--acs-line);text-align:center;background:#fff}
.acs-weekly-table tr:last-child th,.acs-weekly-table tr:last-child td{border-bottom:0}
.acs-weekly-table th:last-child,.acs-weekly-table td:last-child{border-right:0}
.acs-weekly-table thead th{background:#f6f8fb;font-size:12px;color:#536174;font-weight:900}
.acs-weekly-table tbody th{background:#fbfcfd;width:54px;font-size:12px;color:#667085}
.acs-weekly-table td strong{font-size:13px}
.acs-weekly-table .is-today{background:#ecf8f4}
.acs-weekly-table thead .is-today{color:#157a67;box-shadow:inset 0 -3px 0 #38a88b}
.acs-weekly-table .is-empty{color:#b5bdc8;background:#fbfcfd}
.acs-weekly-note{margin:12px 2px 0;color:var(--acs-muted);font-size:11px}
@media(max-width:1050px){.acs-lesson-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.acs-today-lessons{padding:17px}.acs-today-lessons-head{align-items:center}.acs-lesson-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.acs-lesson-chip{padding:10px}.acs-weekly-card{padding:16px}.acs-weekly-head h3{font-size:16px}.acs-provisional-badge{padding:6px 8px}.acs-weekly-table th,.acs-weekly-table td{padding:11px 9px}}
.acs-contact-section-head{margin:26px 0 12px;display:flex;align-items:end;justify-content:space-between}.acs-contact-section-head:first-of-type{margin-top:0}.acs-contact-section-head span{font-size:10px;letter-spacing:.15em;font-weight:900;color:#718096}.acs-contact-section-head h2{margin:4px 0 0;font-size:20px}.acs-school-contact-head{margin-top:34px}.acs-school-contact-card .acs-avatar{background:linear-gradient(135deg,#eef4ff,#e8f7f2);font-size:25px}.acs-contact-actions a:only-child{grid-column:1/-1}

/* v1.1.3 — calendario mensile nella home + accesso insegnanti pulito */
.acs-home-calendar{min-width:0}
.acs-month-calendar{margin-top:14px;border:1px solid var(--acs-line);border-radius:16px;overflow:hidden;background:#fff}
.acs-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f6f8fb;border-bottom:1px solid var(--acs-line)}
.acs-cal-weekdays span{text-align:center;padding:9px 4px;font-size:10px;font-weight:900;letter-spacing:.06em;color:#69778a;text-transform:uppercase}
.acs-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.acs-cal-day{min-height:96px;padding:8px;border-right:1px solid var(--acs-line);border-bottom:1px solid var(--acs-line);background:#fff;min-width:0;position:relative}
.acs-cal-day:nth-child(7n){border-right:0}.acs-cal-day.is-blank{background:#fafbfd}
.acs-cal-day.is-today{background:#ecf8f4;box-shadow:inset 0 0 0 2px #38a88b}
.acs-cal-number{font-size:12px;font-weight:900;color:#596779;margin-bottom:5px}
.acs-cal-day.is-today .acs-cal-number{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#17846e;color:#fff;margin-top:-2px}
.acs-cal-events{display:flex;flex-direction:column;gap:4px}
.acs-cal-event{display:grid;grid-template-columns:16px auto minmax(0,1fr);gap:4px;align-items:center;background:#f3f7fa;border-radius:7px;padding:4px 5px;min-width:0;font-size:10px}
.acs-cal-event span{font-size:11px}.acs-cal-event strong{font-size:9px;color:#176b87}.acs-cal-event em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#536174;font-size:9px}
.acs-cal-more{font-size:9px;color:#7a8699;font-weight:800;padding-left:4px}.acs-cal-empty-note{margin-top:10px;color:var(--acs-muted);font-size:11px}
@media(max-width:1200px){.acs-cal-day{min-height:82px;padding:6px}.acs-cal-event{grid-template-columns:14px 1fr}.acs-cal-event em{display:none}}
@media(max-width:760px){.acs-month-calendar{overflow-x:auto}.acs-cal-weekdays,.acs-cal-grid{min-width:650px}.acs-cal-day{min-height:78px}.acs-home-calendar{padding:16px}.acs-home-calendar .acs-card-head{align-items:center}.acs-home-calendar .acs-card-head h3{font-size:17px}}


/* v1.1.4 — premium "Adam oggi" card */
.acs-today-note{position:relative;overflow:hidden;background:linear-gradient(145deg,#ffffff 0%,#f7fbfa 58%,#edf8f5 100%);border:1px solid #dceee8;padding:24px;box-shadow:0 16px 42px rgba(31,92,81,.08)}
.acs-today-note:before{content:"";position:absolute;right:-58px;top:-72px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(38,174,145,.16),rgba(38,174,145,0) 68%);pointer-events:none}
.acs-today-note.has-changes{background:linear-gradient(145deg,#fff 0%,#fffaf1 100%);border-color:#f3dfbf}
.acs-today-note.has-changes:before{background:radial-gradient(circle,rgba(225,154,57,.16),rgba(225,154,57,0) 68%)}
.acs-today-note-top{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;position:relative;z-index:1}
.acs-today-note-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#e1f7f0,#d9f1eb);color:#167b67;font-size:24px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(29,141,118,.08)}
.acs-today-note.has-changes .acs-today-note-icon{background:#fff0db;color:#a9600d}
.acs-today-note-top>div:nth-child(2)>span{display:block;font-size:10px;letter-spacing:.16em;font-weight:900;color:#17846e;margin-bottom:3px}
.acs-today-note.has-changes .acs-today-note-top>div:nth-child(2)>span{color:#aa650f}
.acs-today-note h3{font-size:21px;line-height:1.2;margin:0;color:#183448;letter-spacing:-.02em}
.acs-today-state{justify-self:end;background:#e4f7ef;color:#167a65;border:1px solid #c8eadf;border-radius:999px;padding:7px 10px;font-size:9px!important;letter-spacing:.08em!important;font-weight:900;white-space:nowrap}
.acs-today-note.has-changes .acs-today-state{background:#fff0db;color:#a55e0b;border-color:#f5d9ac}
.acs-today-lead{margin:18px 0 16px!important;color:#68778a!important;font-size:13px;line-height:1.55;position:relative;z-index:1}
.acs-school-day-flow{display:grid;grid-template-columns:auto minmax(65px,1fr) auto;gap:12px;align-items:center;background:rgba(255,255,255,.82);border:1px solid #e3ece9;border-radius:17px;padding:13px 14px;position:relative;z-index:1;box-shadow:0 6px 20px rgba(47,82,78,.04)}
.acs-school-time{display:flex;gap:9px;align-items:center}.acs-school-time-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eaf7f3;color:#168069;font-size:14px;font-weight:900}.acs-school-time.exit .acs-school-time-icon{background:#edf3fb;color:#326e9e}
.acs-school-time small,.acs-school-time strong{display:block}.acs-school-time small{font-size:8px;letter-spacing:.12em;color:#8793a3;font-weight:900;margin-bottom:2px}.acs-school-time strong{font-size:20px;line-height:1;color:#17354a}
.acs-school-flow-line{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center}.acs-school-flow-line i{height:1px;background:linear-gradient(90deg,transparent,#c8d8d4)}.acs-school-flow-line i:last-child{background:linear-gradient(90deg,#c8d8d4,transparent)}.acs-school-flow-line span{font-size:7px!important;letter-spacing:.1em!important;color:#9aa5b3!important;font-weight:900;white-space:nowrap}
.acs-all-good{display:flex;gap:10px;align-items:center;margin-top:13px;padding:11px 12px;background:#eef9f5;border:1px solid #d8eee6;border-radius:13px;position:relative;z-index:1}.acs-all-good>span{width:27px;height:27px;border-radius:9px;background:#fff;color:#17846e;display:grid;place-items:center;font-size:14px;font-weight:950}.acs-all-good strong,.acs-all-good small{display:block}.acs-all-good strong{font-size:11px;color:#206958}.acs-all-good small{font-size:10px;color:#7b8998;margin-top:2px}
.acs-today-alerts{display:flex;flex-direction:column;gap:8px;margin-top:13px;position:relative;z-index:1}.acs-today-note .acs-mini-alert{display:flex;gap:10px;align-items:flex-start;margin:0;background:#fff;border-color:#f0dfc4;padding:11px 12px}.acs-mini-alert-icon{width:29px;height:29px;display:grid;place-items:center;background:#fff5e7;border-radius:9px;flex:none}.acs-today-note .acs-mini-alert strong,.acs-today-note .acs-mini-alert small{display:block}.acs-today-note .acs-mini-alert strong{font-size:11px;color:#384b5b}.acs-today-note .acs-mini-alert small{font-size:10px;color:#9a6a2d;margin-top:2px}
@media(max-width:1050px){.acs-today-note-top{grid-template-columns:48px 1fr}.acs-today-state{grid-column:2;justify-self:start;margin-top:-5px}.acs-school-day-flow{grid-template-columns:1fr}.acs-school-flow-line{grid-template-columns:1fr auto 1fr}.acs-school-time.exit{justify-self:end}}
@media(max-width:760px){.acs-today-note{padding:18px}.acs-today-note-top{grid-template-columns:44px 1fr;gap:11px}.acs-today-note-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.acs-today-note h3{font-size:18px}.acs-today-state{font-size:8px!important;padding:6px 8px}.acs-today-lead{margin:14px 0!important}.acs-school-day-flow{padding:12px}.acs-school-time strong{font-size:18px}.acs-school-flow-line span{font-size:6px!important}}

/* v1.1.5 — calendario per tipologia + farmaci premium */
.acs-calendar-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.acs-calendar-group{background:#fff;border:1px solid var(--acs-line);border-radius:20px;padding:20px;box-shadow:0 8px 30px rgba(40,50,70,.04);min-width:0}
.acs-calendar-group-head{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:start;padding-bottom:15px;border-bottom:1px solid var(--acs-line)}
.acs-calendar-group-icon{width:46px;height:46px;border-radius:14px;background:#edf6f4;display:grid;place-items:center;font-size:21px}
.acs-calendar-group-head span{display:block;font-size:9px;font-weight:900;letter-spacing:.13em;color:#7b8a9b;margin-bottom:3px}
.acs-calendar-group-head h2{font-size:18px;margin:0 0 4px;color:#183448}
.acs-calendar-group-head p{font-size:11px;color:var(--acs-muted);margin:0;line-height:1.45}
.acs-calendar-group-list{display:flex;flex-direction:column}
.acs-calendar-compact-event{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--acs-line)}
.acs-calendar-compact-event:last-child{border-bottom:0}
.acs-calendar-date{width:46px;height:48px;border-radius:12px;background:#f5f8fa;display:flex;flex-direction:column;align-items:center;justify-content:center}
.acs-calendar-date strong{font-size:17px;line-height:1}.acs-calendar-date span{font-size:9px;font-weight:900;color:#6d7d8f;margin-top:3px}
.acs-calendar-event-body h3{font-size:14px;margin:1px 0 4px}.acs-calendar-event-body p{font-size:11px;color:var(--acs-muted);margin:0;line-height:1.45}
.acs-calendar-more-note{padding:12px 0 0;font-size:11px;font-weight:800;color:#607586}
.acs-calendar-group-medical .acs-calendar-group-icon{background:#eef5ff}.acs-calendar-group-therapy .acs-calendar-group-icon{background:#eaf8f4}.acs-calendar-group-school .acs-calendar-group-icon{background:#f1f4ff}.acs-calendar-group-holiday .acs-calendar-group-icon{background:#fff6e7}.acs-calendar-group-important .acs-calendar-group-icon{background:#fff0ed}.acs-calendar-group-family .acs-calendar-group-icon{background:#f7f2ff}

.acs-med-premium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.acs-med-premium-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f7fbfa 62%,#edf8f5 100%);border:1px solid #dceee8;border-radius:24px;padding:24px;box-shadow:0 16px 42px rgba(31,92,81,.08)}
.acs-med-premium-card:after{content:"";position:absolute;right:-55px;top:-65px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(38,174,145,.13),rgba(38,174,145,0) 70%);pointer-events:none}
.acs-med-premium-top{position:relative;z-index:1;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center}
.acs-med-premium-icon{width:52px;height:52px;border-radius:16px;background:#dff5ee;color:#177c68;display:grid;place-items:center;font-size:17px;font-weight:950;letter-spacing:-.04em}
.acs-med-premium-top span{display:block;font-size:9px;letter-spacing:.15em;font-weight:900;color:#17846e;margin-bottom:3px}.acs-med-premium-top h2{font-size:19px;line-height:1.25;margin:0;color:#17354a}
.acs-med-active-dot{justify-self:end;background:#e1f7ef;color:#167a65;border:1px solid #c8eadf;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:900;letter-spacing:.1em}
.acs-med-facts{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.acs-med-facts>div{background:rgba(255,255,255,.86);border:1px solid #e2ece9;border-radius:15px;padding:13px}.acs-med-facts small{display:block;font-size:8px;letter-spacing:.12em;color:#85919f;font-weight:900;margin-bottom:5px}.acs-med-facts strong{display:block;font-size:13px;color:#273f51;line-height:1.35}
.acs-med-school-status{position:relative;z-index:1;display:flex;gap:11px;align-items:center;margin-top:12px;padding:12px 13px;border-radius:14px;background:#f2f5f7;border:1px solid #e4e9ed}.acs-med-school-status>span{width:32px;height:32px;border-radius:10px;background:#fff;display:grid;place-items:center}.acs-med-school-status strong,.acs-med-school-status small{display:block}.acs-med-school-status strong{font-size:11px;color:#425466}.acs-med-school-status small{font-size:10px;color:#7e8b99;margin-top:2px}.acs-med-school-status.yes{background:#eaf8f1;border-color:#d4ede0}.acs-med-school-status.yes strong{color:#286c51}
@media(max-width:1050px){.acs-calendar-groups,.acs-med-premium-grid{grid-template-columns:1fr}}
@media(max-width:760px){.acs-calendar-group,.acs-med-premium-card{padding:16px}.acs-med-premium-top{grid-template-columns:44px 1fr}.acs-med-premium-icon{width:44px;height:44px;border-radius:14px}.acs-med-active-dot{grid-column:2;justify-self:start;margin-top:-5px}.acs-med-facts{grid-template-columns:1fr}.acs-calendar-group-head{grid-template-columns:42px 1fr}.acs-calendar-group-icon{width:42px;height:42px}}


/* v1.1.7 — reliable custom typography + mobile colour band */
/* Force the requested body font inside AdamCare even when the WordPress theme
   has more specific typography rules. */
.acs-app,
.acs-app *,
.acs-login-shell,
.acs-login-shell *{
    font-family:'ACS Emirates Essentials',Arial,Helvetica,sans-serif !important;
}

/* Kids Word is reserved for headings/titles. */
.acs-app h1,
.acs-app h1 *,
.acs-app h2,
.acs-app h2 *,
.acs-app h3,
.acs-app h3 *,
.acs-app .acs-brand strong,
.acs-app .acs-section-title h1,
.acs-app .acs-hero h1,
.acs-app .acs-calendar-group-head h2,
.acs-app .acs-med-premium-top h2,
.acs-app .acs-today-note h3,
.acs-login-shell h1,
.acs-login-shell h2,
.acs-login-shell h3{
    font-family:'ACS Kids Word','ACS Emirates Essentials',Arial,Helvetica,sans-serif !important;
}

/* Mobile identity strip: visible at the very top of the screen. */
@media(max-width:760px){
    .acs-app:before,
    .acs-login-shell:before{
        content:"";
        position:fixed;
        top:0;
        left:0;
        right:0;
        height:8px;
        z-index:999999;
        background:linear-gradient(90deg,#1ca589 0 28%,#479fd0 28% 52%,#f1c45b 52% 74%,#ef8fa4 74% 100%);
        box-shadow:0 2px 8px rgba(16,40,58,.12);
        pointer-events:none;
    }
}

/* v1.1.12 — diari insegnanti separati + nominativo insegnante */
.acs-diary-privacy-banner{display:flex;gap:12px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid #dceee8;border-radius:16px;background:linear-gradient(135deg,#f2fbf8,#f7fbff)}
.acs-diary-privacy-banner>span{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:0 5px 16px rgba(35,78,71,.08);font-size:17px;flex:none}
.acs-diary-privacy-banner strong,.acs-diary-privacy-banner small{display:block}.acs-diary-privacy-banner strong{font-size:12px;color:#244559}.acs-diary-privacy-banner small{font-size:10px;color:#788796;margin-top:3px;line-height:1.45}
.acs-message-space{display:inline-flex!important;width:max-content;margin-top:5px;padding:4px 7px;border-radius:999px;background:#edf6f4;color:#25725f!important;font-size:8px!important;font-weight:900;letter-spacing:.04em}
.acs-feedback-strip b{display:block;margin-top:4px;font-size:9px;color:#27745f;line-height:1.2}
@media(max-width:760px){.acs-diary-privacy-banner{padding:12px}.acs-diary-privacy-banner>span{width:34px;height:34px}.acs-diary-privacy-banner small{font-size:9px}}

/* v1.1.14 — one-off physiotherapy cancellation */
.acs-cal-event.is-cancelled{background:#fff0f0;border:1px solid #f1b8b8;grid-template-columns:16px auto minmax(0,1fr) auto}
.acs-cal-event.is-cancelled em{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#d92d20;color:#a53b35}
.acs-cal-event.is-cancelled strong{color:#b42318}
.acs-cancelled-badge,.acs-cancelled-inline{display:inline-flex;align-items:center;background:#d92d20;color:#fff!important;border-radius:999px;padding:2px 6px;font-size:8px!important;line-height:1.2;font-weight:900;letter-spacing:.05em;text-decoration:none!important;vertical-align:middle}
.acs-calendar-compact-event.is-cancelled{background:#fff7f7;border:1px solid #f4c1c1;border-radius:14px;padding:14px;margin:4px 0}
.acs-calendar-compact-event.is-cancelled .acs-calendar-event-body h3{text-decoration:line-through;text-decoration-color:#d92d20;text-decoration-thickness:2px;color:#9b332c}
.acs-calendar-compact-event.is-cancelled .acs-calendar-date{background:#ffebeb;color:#b42318}
.acs-tag.acs-tag-cancelled{background:#ffebeb;color:#b42318}
.acs-mini-alert.is-cancelled{border-color:#efb7b7!important;background:#fff5f5!important}
.acs-mini-alert.is-cancelled strong{text-decoration:line-through;text-decoration-color:#d92d20;text-decoration-thickness:2px;color:#9b332c!important}
.acs-mini-alert.is-cancelled small{color:#b42318!important}
@media(max-width:1200px){.acs-cal-event.is-cancelled{grid-template-columns:14px 1fr auto}.acs-cal-event.is-cancelled strong{display:none}}


/* v1.1.15 — stronger cancelled-session treatment in the monthly calendar */
.acs-cal-event.is-cancelled{
    position:relative;
    background:#fff0f0!important;
    border:1px solid #e24a4a!important;
    box-shadow:inset 3px 0 0 #d92d20;
    color:#a12b25!important;
    overflow:hidden;
}
.acs-cal-event.is-cancelled:after{
    content:"";
    position:absolute;
    left:5px;
    right:5px;
    top:50%;
    height:2px;
    background:#d92d20;
    transform:rotate(-2deg);
    transform-origin:center;
    opacity:.9;
    pointer-events:none;
}
.acs-cal-event.is-cancelled span,
.acs-cal-event.is-cancelled strong,
.acs-cal-event.is-cancelled em,
.acs-cal-event.is-cancelled .acs-cancelled-badge{position:relative;z-index:1}
.acs-cal-event.is-cancelled .acs-cancelled-badge{
    background:#d92d20!important;
    color:#fff!important;
    padding:2px 5px!important;
    border-radius:999px!important;
    font-size:7px!important;
    letter-spacing:.03em!important;
}
@media(max-width:1200px){
    .acs-cal-event.is-cancelled{grid-template-columns:14px minmax(0,1fr)!important}
    .acs-cal-event.is-cancelled strong,.acs-cal-event.is-cancelled em{display:none!important}
    .acs-cal-event.is-cancelled .acs-cancelled-badge{display:inline-flex!important;justify-self:start;font-size:7px!important}
}

/* v1.1.19 — private notification center */
.acs-top-actions{display:flex;align-items:center;gap:10px;position:relative}
.acs-notification-wrap{position:relative;z-index:90}
.acs-bell-button{position:relative;width:44px;height:44px;border:1px solid var(--acs-line);border-radius:14px;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 20px rgba(40,50,70,.05);transition:.18s ease}
.acs-bell-button:hover,.acs-bell-button[aria-expanded="true"]{transform:translateY(-1px);border-color:#c9ddd8;background:#f8fcfb}
.acs-bell-icon{font-size:19px;line-height:1}
.acs-bell-count{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 4px;box-sizing:border-box;border:2px solid var(--acs-bg);border-radius:999px;background:#e5484d;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900;line-height:1}
.acs-notification-popover{display:none;position:absolute;right:0;top:54px;width:min(410px,calc(100vw - 30px));background:#fff;border:1px solid #e3e9ef;border-radius:20px;box-shadow:0 24px 70px rgba(21,34,56,.20);overflow:hidden;z-index:1000}
.acs-notification-popover.is-open{display:block;animation:acsNoticeIn .16s ease-out}
@keyframes acsNoticeIn{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
.acs-notification-popover-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 18px 14px;border-bottom:1px solid var(--acs-line);background:linear-gradient(135deg,#fbfdfd,#f4faf8)}
.acs-notification-popover-head span,.acs-notification-popover-head strong{display:block}.acs-notification-popover-head span{font-size:8px;letter-spacing:.14em;font-weight:900;color:#79909a}.acs-notification-popover-head strong{font-size:14px;margin-top:2px;color:#183448}
.acs-notification-popover-head a{font-size:9px;font-weight:900;color:#1a806d;text-decoration:none;white-space:nowrap}
.acs-notification-preview{max-height:390px;overflow:auto}
.acs-notification-mini{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 7px;gap:11px;align-items:start;padding:14px 16px;color:inherit;text-decoration:none;border-bottom:1px solid #eff2f5;transition:.15s ease}
.acs-notification-mini:hover{background:#f8fbfb}.acs-notification-mini.is-unread{background:#f1faf7}.acs-notification-mini.is-unread:hover{background:#ebf7f3}
.acs-notification-type{width:38px;height:38px;border-radius:12px;background:#edf5f4;display:grid;place-items:center;font-size:16px;font-weight:900;color:#176b87}
.acs-notification-mini strong{display:block;font-size:11px;line-height:1.35;color:#1c3345}.acs-notification-mini p{margin:4px 0 3px;font-size:9px;line-height:1.4;color:#6d7b89}.acs-notification-mini small{display:block;font-size:8px;color:#98a2ad}.acs-notification-mini i{width:7px;height:7px;border-radius:50%;background:#20a383;margin-top:6px}
.acs-notification-all{width:100%;border:0;border-top:1px solid var(--acs-line);background:#fff;color:#176b87;padding:13px 16px;font-size:10px;font-weight:900;cursor:pointer}.acs-notification-all:hover{background:#f8fbfb}
.acs-notification-empty{padding:28px 20px;text-align:center;color:#7b8794}.acs-notification-empty>span,.acs-notification-empty strong,.acs-notification-empty small{display:block}.acs-notification-empty>span{font-size:24px}.acs-notification-empty strong{font-size:12px;margin:7px 0 4px;color:#354a5c}.acs-notification-empty small{font-size:9px}
.acs-notification-title{margin-bottom:16px}
.acs-notifications-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;padding:16px 18px;background:linear-gradient(135deg,#163c51,#177763);color:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(23,107,135,.12)}
.acs-notifications-toolbar>div{display:flex;align-items:baseline;gap:8px}.acs-notifications-toolbar strong{font-size:25px}.acs-notifications-toolbar span{font-size:11px;color:rgba(255,255,255,.76)}
.acs-secondary-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:11px;color:#fff;text-decoration:none;padding:9px 12px;font-size:9px;font-weight:900;background:rgba(255,255,255,.09)}
.acs-notifications-list{display:flex;flex-direction:column;gap:9px}
.acs-notification-row{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:14px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--acs-line);border-radius:17px;color:inherit;text-decoration:none;box-shadow:0 6px 22px rgba(40,50,70,.035);transition:.16s ease}
.acs-notification-row:hover{transform:translateY(-1px);border-color:#cddfd9;box-shadow:0 10px 28px rgba(40,50,70,.07)}.acs-notification-row.is-unread{background:linear-gradient(90deg,#effaf6,#fff 28%);border-left:4px solid #23a486;padding-left:14px}
.acs-notification-row-icon{width:48px;height:48px;border-radius:14px;background:#eef5f5;color:#176b87;display:grid;place-items:center;font-size:18px;font-weight:900}.acs-notification-row-icon.type-message{background:#edf4ff;color:#356bb4}.acs-notification-row-icon.type-feedback{background:#fff6df;color:#a46a0c}.acs-notification-row-icon.type-event,.acs-notification-row-icon.type-event_update{background:#eef8f5;color:#1a806d}.acs-notification-row-icon.type-document{background:#f3f0ff;color:#715bb1}.acs-notification-row-icon.type-medication{background:#f0f8ff;color:#2674a8}.acs-notification-row-icon.type-reminder{background:#fff0ec;color:#b84a35}.acs-notification-row-icon.type-event_delete{background:#fff0f0;color:#c23b3b}
.acs-notification-row-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.acs-notification-row-top h3{margin:0;font-size:14px;line-height:1.35;color:#1d3547}.acs-notification-row-top span{display:inline-flex;padding:3px 6px;border-radius:999px;background:#dff5ee;color:#177963;font-size:7px;letter-spacing:.08em;font-weight:900}.acs-notification-row-body p{margin:5px 0 4px;font-size:11px;line-height:1.45;color:#667785}.acs-notification-row-body small{font-size:9px;color:#98a2ad}.acs-notification-arrow{font-size:18px;color:#91a1ad;text-align:right}
.acs-notifications-zero{background:#fff;border:1px dashed #d8e1e8;border-radius:20px;text-align:center;padding:46px 24px;color:#7e8b97}.acs-notifications-zero span{display:block;font-size:34px}.acs-notifications-zero h3{margin:10px 0 6px;color:#273f51}.acs-notifications-zero p{max-width:440px;margin:0 auto;font-size:11px;line-height:1.5}
@media(max-width:760px){
  .acs-topbar{align-items:center;gap:8px}.acs-topbar>div:first-child h2{font-size:16px}.acs-top-actions{gap:7px}.acs-top-actions .acs-pill{display:none}.acs-bell-button{width:41px;height:41px;border-radius:13px}.acs-bell-count{right:-3px;top:-4px;border-color:var(--acs-bg)}
  .acs-notification-popover{position:fixed;top:62px;right:10px;left:10px;width:auto;max-height:calc(100vh - 145px)}.acs-notification-preview{max-height:calc(100vh - 265px)}
  .acs-notifications-toolbar{padding:13px 14px}.acs-notifications-toolbar strong{font-size:21px}.acs-secondary-action{padding:8px 9px}
  .acs-notification-row{grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;padding:13px}.acs-notification-row.is-unread{padding-left:10px}.acs-notification-row-icon{width:42px;height:42px;border-radius:12px}.acs-notification-row-top h3{font-size:12px}.acs-notification-row-body p{font-size:10px}.acs-notification-arrow{font-size:14px}
}


/* v1.1.20 — larger, high-visibility notification bell */
.acs-bell-button{
  width:60px!important;
  height:60px!important;
  border-radius:18px!important;
  border:2px solid #cfe5df!important;
  background:linear-gradient(145deg,#ffffff,#f0faf7)!important;
  box-shadow:0 10px 28px rgba(24,113,94,.16)!important;
}
.acs-bell-button:hover,.acs-bell-button[aria-expanded="true"]{
  border-color:#27a287!important;
  background:#eaf8f4!important;
  transform:translateY(-2px) scale(1.02)!important;
}
.acs-bell-icon{
  display:block!important;
  font-size:34px!important;
  line-height:1!important;
  transform:translateY(1px);
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.08));
}
.acs-bell-count{
  right:-7px!important;
  top:-8px!important;
  min-width:25px!important;
  height:25px!important;
  padding:0 6px!important;
  border-width:3px!important;
  font-size:11px!important;
  box-shadow:0 4px 12px rgba(229,72,77,.35)!important;
}
@media(max-width:760px){
  .acs-bell-button{width:58px!important;height:58px!important;border-radius:17px!important}
  .acs-bell-icon{font-size:33px!important}
  .acs-bell-count{right:-5px!important;top:-7px!important;min-width:24px!important;height:24px!important;font-size:10px!important}
  .acs-notification-popover{top:76px!important}
}


/* v1.1.21 — use a real SVG bell instead of an emoji glyph */
.acs-bell-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  overflow:visible!important;
}
.acs-bell-icon{
  width:34px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:0!important;
  transform:none!important;
  filter:none!important;
  color:#176b87!important;
}
.acs-bell-icon svg{
  display:block!important;
  width:34px!important;
  height:34px!important;
  fill:#f3a51d!important;
  stroke:#8a5b00!important;
  stroke-width:1.5!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
}
.acs-bell-button:hover .acs-bell-icon svg,
.acs-bell-button[aria-expanded="true"] .acs-bell-icon svg{
  fill:#ffb928!important;
  transform:scale(1.06);
}
@media(max-width:760px){
  .acs-bell-button{width:62px!important;height:62px!important}
  .acs-bell-icon,.acs-bell-icon svg{width:38px!important;height:38px!important}
}

/* v1.1.22 — Thursday early exit + completed physiotherapy status */
.acs-thursday-exit-card{
  border-color:#b9ddd4!important;
  background:linear-gradient(180deg,#ffffff,#eefaf6)!important;
}
.acs-thursday-exit-card strong{color:#137a66!important}
.acs-school-time em{display:block;margin-top:2px;font-style:normal;font-size:9px;color:#17846e;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

.acs-passed-badge,.acs-passed-inline{
  display:inline-flex;
  align-items:center;
  background:#e8f7ef;
  color:#177a52!important;
  border:1px solid #bfe4d0;
  border-radius:999px;
  padding:2px 6px;
  font-size:8px!important;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.05em;
  text-decoration:none!important;
  vertical-align:middle;
}
.acs-cal-event.is-passed{
  background:#f1f8f4;
  border:1px solid #cfe7d9;
  grid-template-columns:16px auto minmax(0,1fr) auto;
  opacity:.82;
}
.acs-cal-event.is-passed strong{color:#3c7d66}
.acs-cal-event.is-passed em{color:#60786e}
.acs-calendar-compact-event.is-passed{
  background:#f7fbf8;
  border:1px solid #d7eadf;
  border-radius:14px;
  padding:14px;
  margin:4px 0;
  opacity:.88;
}
.acs-calendar-compact-event.is-passed .acs-calendar-date{background:#e9f6ee;color:#177a52}
.acs-mini-alert.is-passed{border-color:#cfe7d9!important;background:#f6fbf8!important}
.acs-mini-alert.is-passed strong{color:#356c59!important}
.acs-mini-alert.is-passed small{color:#5d7c70!important}
.acs-today-note.is-resolved{background:linear-gradient(180deg,#fff,#f3faf6)}
.acs-today-note.is-resolved .acs-today-state{background:#e8f7ef;color:#177a52}
@media(max-width:1200px){
  .acs-cal-event.is-passed{grid-template-columns:14px minmax(0,1fr) auto!important}
  .acs-cal-event.is-passed strong,.acs-cal-event.is-passed em{display:none!important}
  .acs-cal-event.is-passed .acs-passed-badge{display:inline-flex!important;justify-self:start;font-size:7px!important}
}

/* v1.1.23 — diary sent/read receipts */
.acs-message-status{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;margin-top:9px!important;font-size:11px!important;font-weight:800!important;line-height:1!important}
.acs-message-status .acs-message-checks{font-size:14px!important;letter-spacing:-3px!important;margin:0!important;display:inline-block!important}
.acs-message-status strong{font-size:11px!important;font-weight:900!important}
.acs-message-status small{font-size:10px!important;font-weight:600!important;color:var(--acs-muted)!important;margin-left:2px!important}
.acs-message-status.is-sent{color:#7b8794!important}
.acs-message-status.is-read{color:#138a78!important}
.acs-message-status.is-read .acs-message-checks{color:#138a78!important}
@media(max-width:760px){.acs-message-status{display:flex!important;justify-content:flex-end!important}.acs-message-status span,.acs-message-status small{display:inline-block!important;margin-top:0!important}}
