@font-face{font-family:Google Sans;src:url(/brand/google-sans-regular.ttf)format("truetype");font-style:normal;font-weight:400 500;font-display:swap}@font-face{font-family:Google Sans;src:url(/brand/google-sans-semibold.ttf)format("truetype");font-style:normal;font-weight:600 700;font-display:swap}:root{--ink:#21113e;--accent:#552b8c;--paper:#fff;--lavender:#eee8f6;--muted:#655f70;--rule:#ded7e8;--radius-control:8px;--radius-panel:24px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Google Sans,Arial,Helvetica,sans-serif}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.page{flex-direction:column;min-height:100vh;display:flex}header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:96px;padding:22px 5vw;display:flex}.brand{align-items:center;gap:22px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:140px;height:52px}.brand span{border-left:1px solid var(--rule);padding-left:22px;font-size:19px}.login-layout{flex:1;grid-template-columns:1.15fr 1fr;display:grid}.brand-panel{background:var(--lavender);flex-direction:column;justify-content:center;padding:clamp(48px,7vh,90px) 5vw;display:flex}.eyebrow{letter-spacing:.14em;margin:0 0 26px;font-size:12px;font-weight:600}h1{letter-spacing:-.055em;margin:0;font-size:clamp(44px,4.8vw,76px);font-weight:600;line-height:1.07}h1 em{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:400}.brand-caption{margin:42px 0 0;font-size:17px}.form-panel{flex-direction:column;justify-content:center;width:100%;max-width:660px;padding:44px 6vw;display:flex}.form-panel .eyebrow{color:var(--muted);margin-bottom:14px}h2{letter-spacing:-.035em;margin:0 0 32px;font-size:38px;font-weight:500}.login-form{flex-direction:column;display:flex}.login-form label{margin-bottom:10px;font-size:14px}.login-form input{border-radius:var(--radius-control);color:var(--ink);background:#fff;border:1px solid #91849f;width:100%;min-height:49px;margin-bottom:22px;padding:12px 14px;font-size:16px}.feedback{color:#8b2030;min-height:38px;margin-bottom:12px;font-size:14px;line-height:1.5}.primary-button{background:var(--accent);color:#fff;border-radius:var(--radius-control);border:0;justify-content:space-between;align-items:center;min-height:54px;padding:17px 20px;display:flex}.primary-button:hover{background:var(--ink)}.primary-button span{font-size:22px}.footer{color:var(--muted);border-top:1px solid var(--rule);justify-content:space-between;gap:20px;padding:20px 5vw;font-size:11px;display:flex}.editorial-main{flex:1;padding:45px 8vw 36px}.editorial-main h1{max-width:950px}.account{color:var(--muted);margin:28px 0 0}.choices{max-width:1000px;margin-top:24px}.choices .feedback:empty{min-height:0;margin:0}.space-choice{color:var(--ink);border:0;border-top:1px solid var(--rule);text-align:left;background:#fff;grid-template-columns:70px 1fr 40px;align-items:center;gap:20px;width:100%;padding:24px 0;font-size:29px;display:grid}.space-choice:last-child{border-bottom:1px solid var(--rule)}.space-choice:hover{color:var(--accent);background:#f9f6fc}.number{color:var(--muted);font-size:13px}.text-button{border:0;border-bottom:1px solid var(--ink);color:var(--ink);background:0 0;padding:6px 0;font-size:14px}.logout{align-items:center;gap:12px;display:flex}.logout span{color:#8b2030;font-size:12px}.identity-details{border-top:1px solid var(--rule);max-width:1000px;margin:40px 0}.identity-details div{border-bottom:1px solid var(--rule);grid-template-columns:180px 1fr;padding:22px 0;display:grid}dt{color:var(--muted);font-size:14px}dd{overflow-wrap:anywhere;margin:0;font-size:18px}.space-link{text-underline-offset:6px;font-size:15px}@media (max-width:1050px){.form-panel{padding:40px 4vw}h1{font-size:48px}header{min-height:80px}.brand-panel{padding:40px 4vw}}@media (max-height:760px){.form-panel{padding-top:30px;padding-bottom:30px}header{min-height:80px;padding-top:14px;padding-bottom:14px}h2{margin-bottom:24px}.editorial-main{padding-top:36px}.space-choice{padding:20px 0}}.connexion-page{background:#f6f3fc;place-items:start center;min-height:100vh;padding:clamp(32px,7vh,96px) 32px 32px;display:grid}.connexion-card{background:#fff;border:1px solid #e6def3;border-radius:24px 24px 76px;width:450px;max-width:100%;padding:44px}.connexion-logo{object-fit:contain;width:200px;height:84px;margin:0 auto 32px;display:block}.connexion-eyebrow{letter-spacing:.18em;color:#7655aa;margin:0 0 12px;font-size:10px}.connexion-card h1{letter-spacing:-.035em;color:#171925;font-size:36px;font-weight:600;line-height:1.14}.connexion-description{color:#655f70;margin:14px 0 22px;font-size:13px}.connexion-card .login-form label{margin-bottom:8px;font-size:12px}.connexion-card .login-form input{border:1px solid #dcd2ed;border-radius:8px;min-height:42px;margin-bottom:20px;padding:10px 12px}.connexion-card .login-form input:focus-visible{outline-offset:2px;outline:2px solid #4d3387}.connexion-card .feedback{min-height:0;margin:0 0 16px;font-size:12px}.connexion-card .feedback:empty{display:none}.connexion-card .primary-button{background:#4d3387;border-radius:8px;justify-content:center;min-height:40px;padding:11px 16px;font-size:13px;font-weight:600}.connexion-card .primary-button:hover{background:#372365}.connexion-forgot{text-align:right;margin:12px 0 0;font-size:13px}.connexion-forgot a{color:var(--accent);text-underline-offset:4px}.connexion-note{color:#7655aa;margin:32px 0 0;font-size:11px;line-height:1.6}@media (max-height:740px){.connexion-page{padding:24px}.connexion-card{padding-top:32px;padding-bottom:32px}.connexion-logo{margin-bottom:24px}}.activation-page{background:#f6f3fc;place-items:start center;min-height:100vh;padding:24px 32px;display:grid}.activation-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-panel);width:min(800px,100%);padding:28px 44px}.activation-heading{margin-bottom:20px;padding-right:180px;position:relative}.activation-heading img{object-fit:contain;position:absolute;top:0;right:0}.activation-heading h1{font-size:40px;font-weight:700}.activation-heading p:last-child{color:var(--muted);margin:12px 0;font-size:14px}.activation-kind{border:0;border-top:1px solid var(--rule);align-items:center;gap:28px;margin:0 0 18px;padding:16px 0 0;display:flex}.activation-kind legend{padding-right:10px;font-size:14px}.activation-kind label{align-items:center;gap:8px;min-height:44px;font-size:16px;display:flex}.activation-kind input{accent-color:var(--accent);width:18px;height:18px}.activation-fields{grid-template-columns:1fr 1fr;gap:14px 24px;margin-bottom:20px;display:grid}.activation-fields label{flex-direction:column;gap:7px;font-size:14px;display:flex}.activation-fields input{border:1px solid var(--rule);border-radius:var(--radius-control);width:100%;min-height:44px;color:var(--ink);background:#fff;padding:10px 12px}.activation-fields label span{color:var(--muted);font-size:12px}.activation-wide{grid-column:1/-1}.activation-footer{color:var(--muted);margin:20px 0 0;font-size:14px}.activation-footer a{color:var(--accent);text-underline-offset:4px}.activation-form .feedback:empty{display:none}.activation-form .primary-button{justify-content:center;width:100%;font-weight:700}.review-row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:30px;padding:24px 0;display:grid}.review-row h2{margin:12px 0;font-size:24px;font-weight:700}.review-row p{overflow-wrap:anywhere;margin:8px 0}.review-actions{gap:16px;display:grid}.review-actions .primary-button{justify-content:center}.review-profile,.review-note{color:var(--muted);font-size:13px}.review-feedback{min-height:24px}.page-header h1{font-weight:700}.review-empty{box-sizing:border-box;border:1px solid var(--rule);max-width:620px;color:var(--ink);background:#faf8fd;border-radius:12px;margin:18px 0;padding:24px;font-weight:600}@media (max-width:1050px){.activation-card{padding:28px}.activation-heading h1{font-size:34px}}h1,h2,h3,h4,.connexion-card h1,.activation-heading h1,.login-form label,.activation-fields label,.activation-kind legend,.activation-kind label{font-weight:700}.login-form input,.activation-fields input,.activation-fields label span{font-weight:400}.teaching-search{flex-direction:column;gap:8px;max-width:620px;margin:24px 0;font-weight:700;display:flex}.teaching-search input{border:1px solid var(--rule);border-radius:var(--radius-control);min-height:44px;font:inherit;color:var(--ink);background:var(--paper);padding:12px 14px;font-weight:400}.teaching-profile{border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--paper);margin:24px 0;padding:24px}.teaching-profile header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.teaching-profile h2{margin:8px 0;font-size:26px;font-weight:700}.teaching-planning-link{border:1px solid var(--rule);border-radius:var(--radius-control);min-height:44px;color:var(--accent);text-underline-offset:4px;align-items:center;padding:10px 16px;font-weight:700;display:inline-flex}.teaching-table{overflow-x:auto}.teaching-table table{border-collapse:collapse;text-align:left;width:100%}.teaching-table th,.teaching-table td{border-bottom:1px solid var(--rule);vertical-align:top;padding:14px 12px;line-height:1.5}.teaching-table thead th{color:var(--accent)}.teaching-table tbody th{width:45%;font-weight:700}.teaching-table tr:last-child>*{border-bottom:0}@media (max-width:1050px){.teaching-profile{padding:18px}.teaching-profile header{flex-wrap:wrap}}html,body,body *{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}body ::-webkit-scrollbar{width:0;height:0;display:none}.student-source-editor{width:100%;min-width:0}.student-source-fields{border:0;min-width:0;margin:0;padding:0}.student-source-heading,.student-source-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.student-source-heading>span{color:var(--muted,#665d78);font-size:.875rem}.student-source-verification{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0;display:flex}.student-source-section{border-top:1px solid #e3dbef;padding:1rem 0}.student-source-section>summary{cursor:pointer;font-weight:600}.student-source-section>p{max-width:75ch;font-size:.875rem}.student-source-row{border-bottom:1px solid #eee8f5;padding:.625rem 0}.student-source-nationalities{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.student-source-nationalities>span{background:#f6f2fa;border-radius:.25rem;align-items:center;gap:.25rem;padding:.25rem .5rem;display:inline-flex}.student-source-nationalities button{background:0 0;border:0;min-height:1.75rem;padding:.125rem .375rem}.student-source-editor .academic-form{margin:.75rem 0}.student-source-editor label,.student-source-editor input,.student-source-editor select{min-width:0;max-width:100%}.student-source-civil-form .student-source-nationality-block{gap:6px;margin:0;display:grid}.student-source-civil-form .student-source-nationality-block p,.student-source-civil-form .student-source-nationalities{margin:0}.student-source-civil-form .student-source-address-label{gap:8px;margin-top:12px;display:grid}@media (max-width:640px){.student-source-editor .academic-form-grid{grid-template-columns:minmax(0,1fr)}.student-source-row>.profile-editor-actions{width:100%}}.campus-list-pagination.campus-list-pagination{border-top:1px solid #e5ddec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin:16px 0 24px;padding:16px 0 0;display:flex}.campus-list-pagination .campus-list-pagination-count{color:var(--ink);margin:0;font-size:14px;line-height:1.4}.campus-list-pagination.campus-list-pagination .campus-list-pagination-controls{white-space:nowrap;background:#f5f2fa;border:1px solid #d9cfeb;border-radius:10px;align-items:stretch;max-width:100%;display:inline-flex;overflow:hidden}.campus-list-pagination.campus-list-pagination .campus-list-pagination-controls>:is(button,span){color:#542c88;min-width:0;min-height:36px;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;margin:0;padding:7px 14px;font-size:13px;line-height:1.4;display:inline-flex}.campus-list-pagination.campus-list-pagination .campus-list-pagination-controls>span{border-inline:1px solid #d9cfeb;min-width:60px;font-weight:600}.campus-list-pagination.campus-list-pagination .campus-list-pagination-controls>button{cursor:pointer}.campus-list-pagination.campus-list-pagination .campus-list-pagination-controls>button:hover:not(:disabled){background:#ede6f7}.campus-list-pagination.campus-list-pagination .campus-list-pagination-controls>button:disabled{color:#9a8aad;opacity:1;cursor:default}.campus-list-pagination.campus-list-pagination:not(:has(.campus-list-pagination-controls)){justify-content:flex-end;gap:0}.campus-list-pagination.campus-list-pagination:not(:has(.campus-list-pagination-controls))>:is(button,span){color:#542c88;min-width:0;min-height:36px;font:inherit;white-space:nowrap;background:#f5f2fa;border:1px solid #d9cfeb;border-radius:0;justify-content:center;align-items:center;margin:0;padding:7px 14px;font-size:13px;line-height:1.4;display:inline-flex}.campus-list-pagination.campus-list-pagination:not(:has(.campus-list-pagination-controls))>:is(button,span):not(:first-child){border-left:0}.campus-list-pagination.campus-list-pagination:not(:has(.campus-list-pagination-controls))>:first-child{border-radius:10px 0 0 10px}.campus-list-pagination.campus-list-pagination:not(:has(.campus-list-pagination-controls))>:last-child{border-radius:0 10px 10px 0}.campus-list-pagination.campus-list-pagination:not(:has(.campus-list-pagination-controls))>button:hover:not(:disabled){background:#ede6f7}.campus-list-pagination.campus-list-pagination:not(:has(.campus-list-pagination-controls))>button:disabled{color:#9a8aad;opacity:1;cursor:default}.course-roster .campus-list-pagination>button:first-child{order:0}.course-roster .campus-list-pagination>span{border-radius:0;order:1}.course-roster .campus-list-pagination>button:nth-child(2){border-radius:0 10px 10px 0;order:2}@media (max-width:650px){.campus-list-pagination.campus-list-pagination{align-items:flex-start}.campus-list-pagination.campus-list-pagination .campus-list-pagination-controls{max-width:100%}.campus-list-pagination :is(button,span){white-space:normal}}.planning-workspace .planning-session-card.planning-retake-card>button.planning-session{color:#281a48;background:#f3edf9;border-color:#d8c5ec}.planning-workspace .planning-session-card.planning-retake-card>button.planning-session:hover{background:#ebe0f6;border-color:#7d55ad}@media (max-width:600px){.planning-grid.is-day .planning-retake-card{grid-column:1/-1}}.planning-retake-badge{color:#56308b;background:#e6daf3;border-radius:6px;align-self:flex-start;padding:3px 8px;font-size:.8em;font-weight:700;display:inline-flex}.planning-retake-details{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}
.campus-shell{background:#fff;grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.campus-sidebar{border-right:1px solid var(--rule);background:#f8f6fc;flex-direction:column;height:100vh;min-height:630px;padding:28px 20px 22px;display:flex;position:sticky;top:0}.campus-brand{border-bottom:1px solid var(--rule);padding:0 10px 26px}.campus-brand .brand{align-items:flex-end;gap:12px}.campus-brand .brand img{width:105px;height:44px}.campus-brand .brand span{border:0;padding:0 0 4px;font-size:15px}.sidebar-space{flex-direction:column;gap:8px;padding:25px 12px 20px;display:flex}.sidebar-space strong{font-size:20px;font-weight:500}.menu-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}.campus-navigation ul{margin:0;padding:0;list-style:none}.campus-navigation li+li{margin-top:3px}.campus-navigation-item{width:100%;min-height:43px;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.campus-navigation-item.is-current{background:var(--accent);color:#fff;border-radius:10px;font-weight:600}.campus-navigation-item.is-current:hover{color:#fff;background:#432170}.campus-navigation-item.is-coming{cursor:not-allowed;opacity:1;color:#726b7c}.coming-label{color:#706779;white-space:nowrap;font-size:11px;font-weight:400}.navigation-marker{font-size:18px}.sidebar-footer{letter-spacing:.06em;color:var(--muted);margin-top:auto;padding:20px 12px 0;font-size:10px;line-height:1.7}.sidebar-footer span{letter-spacing:0}.campus-workspace{flex-direction:column;min-width:0;display:flex}.campus-topbar{gap:20px;min-height:78px;padding:18px 40px}.current-page{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}.current-page strong{color:var(--ink);font-weight:400}.campus-user-menu{max-width:400px;position:relative}.campus-user-menu summary{cursor:pointer;align-items:center;gap:12px;min-height:40px;font-size:13px;list-style:none;display:flex}.campus-user-menu summary::-webkit-details-marker{display:none}.user-menu-label{color:var(--muted)}.user-menu-identifier{white-space:nowrap;text-overflow:ellipsis;max-width:210px;overflow:hidden}.user-menu-panel{z-index:10;border:1px solid var(--rule);background:#fff;width:330px;padding:24px;position:absolute;top:calc(100% + 16px);right:0;box-shadow:0 12px 28px #21113e0d}.menu-email{overflow-wrap:anywhere;margin:12px 0 20px;font-size:14px;line-height:1.5}.menu-account{margin:0}.menu-account div{margin:12px 0}.menu-account dt{margin-bottom:5px;font-size:11px}.menu-account dd{overflow-wrap:anywhere;font-size:13px}.space-switcher{border-top:1px solid var(--rule);margin-top:20px;padding-top:18px}.space-switcher label{margin-bottom:10px;font-size:13px;display:block}.space-switcher select{width:100%;min-height:42px;font:inherit;color:var(--ink);background:#fff;border:1px solid #91849f;border-radius:0;padding:8px 10px;font-size:14px}.space-switcher .feedback{min-height:0;margin:10px 0 0;font-size:12px}.space-switcher .feedback:empty{display:none}.space-switcher p[role=status]{font-size:12px}.menu-logout{border-top:1px solid var(--rule);margin-top:20px;padding-top:15px}.menu-logout .logout{flex-wrap:wrap}.menu-logout .text-button{min-height:36px}.campus-content{outline:none;flex:1;min-width:0;padding:36px 48px 40px}.campus-page-header .eyebrow{margin-bottom:15px;font-size:11px}.campus-page-header h1{letter-spacing:-.04em;font-size:42px;font-weight:600;line-height:1.12}.page-state{color:var(--muted);margin:12px 0 0;font-size:13px}.campus-welcome{border-bottom:1px solid var(--rule);margin:36px 0 34px;padding:0 0 30px}.campus-welcome h2{letter-spacing:-.035em;margin:0;font-size:clamp(30px,3vw,42px);font-weight:500;line-height:1.18}.campus-welcome h2 span{color:var(--accent);overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.campus-welcome p{color:var(--muted);margin:16px 0 0;font-size:14px}.campus-overview{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:50px;display:grid}.campus-section-title{letter-spacing:0;align-items:baseline;gap:18px;margin:0 0 22px;font-size:16px;font-weight:500;display:flex}.campus-section-title>span{color:var(--muted);font-size:11px}.campus-empty-state h3{margin:0 0 12px;font-size:23px;font-weight:400;line-height:1.3}.campus-empty-state p{max-width:370px;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.campus-shortcuts{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.campus-shortcuts li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:47px;font-size:14px;display:flex}.campus-status{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;padding:17px 48px;font-size:11px;display:flex}.skip-link{z-index:30;border:1px solid var(--accent);background:#fff;padding:12px 18px;position:fixed;top:-100px;left:260px}.skip-link:focus{top:12px}@media (max-width:1300px){.campus-shell{grid-template-columns:220px minmax(0,1fr)}.campus-sidebar{padding:24px 14px 20px}.campus-content{padding:30px 36px 32px}.campus-topbar{padding:16px 30px}.campus-overview{gap:32px}.campus-status{padding-left:36px;padding-right:36px}.user-menu-identifier{max-width:175px}}@media (max-width:1050px){.campus-shell{grid-template-columns:200px minmax(0,1fr)}.campus-brand .brand{flex-direction:column;align-items:flex-start}.campus-topbar{padding:14px 24px}.user-menu-label{display:none}.current-page{gap:8px}.campus-overview{gap:24px}.campus-content{padding:28px 24px}.campus-page-header h1{font-size:36px}}@media (max-height:740px){.campus-sidebar{min-height:0;padding-top:20px}.campus-brand{padding-bottom:20px}.sidebar-space{padding-top:20px;padding-bottom:16px}.campus-navigation-item{min-height:40px;padding-top:8px;padding-bottom:8px}.campus-content{padding-top:28px;padding-bottom:28px}.campus-welcome{margin-top:28px;margin-bottom:28px;padding-bottom:24px}.campus-topbar{min-height:70px}.sidebar-footer{padding-top:12px}}.campus-shell :is(h1,h2,h3,h4),.campus-welcome h2 span,.space-switcher label{font-weight:700}.campus-shell .campus-topbar{flex-wrap:wrap}@media (max-width:700px){.campus-shell{grid-template-columns:minmax(0,1fr)}.campus-shell .campus-sidebar{border-right:0;border-bottom:1px solid var(--rule);min-width:0;height:auto;min-height:0;padding:16px;position:static}.campus-shell .campus-brand{padding:0 8px 12px}.campus-shell .campus-brand .brand{flex-direction:row;align-items:center}.campus-shell .sidebar-space,.campus-shell .sidebar-footer{display:none}.campus-shell .campus-navigation{min-width:0;padding:6px 0;overflow-x:auto}.campus-shell .campus-navigation ul{gap:8px;display:flex}.campus-shell .campus-navigation li{flex:none;margin:0}.campus-shell .campus-navigation-item{white-space:nowrap;min-height:44px}.campus-shell .campus-content{padding:24px 16px}.campus-shell .current-page{flex-wrap:wrap}.campus-shell .user-menu-panel{width:min(330px,100vw - 48px)}.course-spaces h2,.course-spaces h3{overflow-wrap:anywhere}}.notification-nav-badge{color:#542b89;text-align:center;background:#eee6f7;border-radius:20px;min-width:24px;margin-left:auto;padding:2px 7px;font-size:.78rem;font-weight:700}.administration-language{align-items:center;gap:.5rem;margin-left:auto;font-size:.85rem;display:flex}.administration-language select{width:auto;min-height:2.5rem;padding:.4rem .7rem}.campus-topbar{flex-wrap:wrap}@media (max-width:640px){.administration-language{margin-left:0}.administration-language span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.menu-security-link{min-height:40px;color:var(--accent);text-underline-offset:4px;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.campus-shell .campus-navigation-item{border-radius:8px;justify-content:flex-start;gap:10px;min-height:43px;padding:10px 12px;font-size:14px;line-height:1.35}.campus-navigation-icon{width:18px;height:18px;color:var(--accent);flex:0 0 18px}.campus-navigation-label{flex:1;min-width:0}.campus-shell .campus-navigation-item:hover{color:var(--accent);background:#f0eaf7}.campus-shell .sidebar-space{padding:25px 12px 20px}.campus-shell .sidebar-space strong{font-size:20px}.campus-shell .campus-sidebar{overflow-y:auto}@media (max-width:700px){.campus-shell .campus-navigation-item{gap:7px;min-height:44px;font-size:14px}.campus-navigation-icon{flex-basis:17px;width:17px;height:17px}.campus-shell .campus-sidebar{overflow-y:visible}}.campus-shell .campus-navigation-item.is-current{background:var(--accent);color:#fff}.campus-shell .campus-navigation-item.is-current .campus-navigation-icon{color:inherit}.campus-shell .campus-navigation-item.is-current:hover{color:#fff;background:#432170}.campus-shell .campus-navigation.is-grouped{flex-direction:column;flex:1;gap:24px;min-height:220px;display:flex}.campus-shell .campus-navigation.is-grouped ul{margin:0;padding:0;list-style:none;display:block}.campus-shell .campus-navigation.is-grouped li+li{margin-top:4px}.campus-shell .campus-navigation.is-grouped .campus-navigation-group{margin-top:12px}.campus-shell .campus-navigation-group-toggle{width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:14px;line-height:1.35;display:flex}.campus-navigation-group-toggle>span{flex:1;min-width:0}.campus-shell .campus-navigation-group-toggle:hover{color:var(--accent);background:#f0eaf7}.campus-shell .campus-navigation-group-toggle.has-current{color:var(--accent);font-weight:600}.campus-shell .campus-navigation.is-grouped .campus-navigation-sections>li>.campus-navigation-item[href$=\/administration],.campus-shell .campus-navigation.is-grouped .campus-navigation-sections>li>.campus-navigation-item[href$=\/notifications],.campus-shell .campus-navigation.is-grouped .campus-navigation-group-toggle{font-weight:700}.campus-navigation-chevron{flex:0 0 16px;width:16px;height:16px;transition:transform .15s}.campus-navigation-group-toggle[aria-expanded=true] .campus-navigation-chevron{transform:rotate(180deg)}.campus-shell .campus-navigation.is-grouped .campus-navigation-children{border-left:1px solid #ded4eb;margin:4px 0 6px 18px;padding-left:10px}.campus-shell .campus-navigation.is-grouped .campus-navigation-children[hidden]{display:none}.campus-shell .campus-navigation-children .campus-navigation-item{white-space:normal;gap:8px;min-height:43px;padding:9px 8px;font-size:14px}.campus-navigation-children .campus-navigation-icon{flex-basis:16px;width:16px;height:16px}.campus-shell .campus-navigation.is-grouped .campus-navigation-settings{border-top:1px solid var(--rule);margin-top:auto;padding-top:16px}.campus-shell .campus-navigation :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:700px){.campus-shell .campus-navigation.is-grouped{gap:12px;min-height:0;padding:8px 0 0;overflow:visible}.campus-shell .campus-navigation.is-grouped li{flex:initial;margin:0}.campus-shell .campus-navigation.is-grouped .campus-navigation-group{margin-top:4px}.campus-shell .campus-navigation.is-grouped .campus-navigation-item{white-space:normal;min-height:44px;font-size:14px}.campus-shell .campus-navigation.is-grouped .campus-navigation-settings{margin-top:0;padding-top:8px}}@media (prefers-reduced-motion:reduce){.campus-navigation-chevron{transition:none}}
.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.planning-workspace{--planning-radius:10px;min-width:0}.planning-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.planning-heading .eyebrow{margin-bottom:12px;font-size:11px}.planning-heading h1{letter-spacing:-.035em;font-size:40px;font-weight:700}.planning-heading p:last-child{color:var(--muted);margin:12px 0 0;font-size:14px}.planning-heading p span{margin-left:12px;font-size:12px}.planning-workspace button,.planning-workspace select,.planning-workspace input,.planning-workspace textarea{border-radius:var(--planning-radius);border:1px solid var(--rule);color:var(--ink);font:inherit;background:#fff;min-height:40px;padding:10px 12px;font-size:13px}.planning-workspace button{font-weight:600;transition:background .15s}.planning-workspace button:hover:not(:disabled){background:var(--lavender)}.planning-workspace button:disabled{cursor:not-allowed}.planning-workspace .planning-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.planning-workspace .planning-primary:hover:not(:disabled){background:#432170}.planning-actions{flex-wrap:wrap;gap:10px;display:flex}.planning-toolbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.planning-date-nav{align-items:center;gap:8px;display:flex}.planning-date-nav input{width:155px}.planning-view-switch{border:1px solid var(--rule);background:#f8f6fc;border-radius:12px;gap:3px;padding:3px;display:flex}.planning-view-switch button{background:0 0;border:0}.planning-view-switch button[aria-pressed=true]{background:var(--accent);color:#fff}.planning-filters{flex-wrap:wrap;align-items:end;gap:12px;padding:16px 0;display:flex}.planning-filter{flex-direction:column;flex:1;gap:6px;min-width:125px;max-width:220px;font-size:12px;display:flex}.planning-filter select{text-overflow:ellipsis;width:100%;min-width:0}.planning-period{justify-content:space-between;align-items:center;gap:16px;margin:18px 0;display:flex}.planning-period h2{letter-spacing:0;margin:0;font-size:18px;font-weight:700}.planning-legend{flex-wrap:wrap;gap:8px;display:flex}.planning-status{border:1px solid var(--rule);width:fit-content;color:var(--ink);border-radius:6px;padding:4px 7px;font-weight:600;line-height:1.3;display:inline-block;font-size:11px!important}.planning-legend .status-draft{border-style:dashed}.planning-legend .status-published{background:var(--lavender);color:var(--accent)}.planning-legend .status-cancelled{background:#f3f0f5}.planning-grid{border:1px solid var(--rule);border-radius:14px;grid-template-columns:repeat(7,minmax(0,1fr));min-height:290px;display:grid;overflow:hidden}.planning-day{border-right:1px solid var(--rule);background:#fff;min-width:0}.planning-day:last-child{border-right:0}.planning-day-header{border-bottom:1px solid var(--rule);background:#f8f6fc;justify-content:space-between;align-items:center;padding:12px;display:flex;position:relative}.planning-day-header>span{text-transform:capitalize;color:var(--muted);font-size:12px}.planning-day-header strong{font-size:20px}.planning-day.is-today .planning-day-header{background:var(--lavender)}.planning-day.is-today .planning-day-header strong{color:var(--accent)}.planning-day-sessions,.planning-day-events{flex-direction:column;gap:8px;padding:8px;display:flex}.planning-day-events:empty{display:none}.planning-workspace .planning-session{text-align:left;border:1px solid var(--rule);border-left:3px solid var(--accent);overflow-wrap:anywhere;background:#fff;border-radius:9px;flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-height:0;padding:10px 9px;line-height:1.35;display:flex}.planning-session strong{font-size:13px;font-weight:700;line-height:1.4}.planning-session>span{font-size:12px;font-weight:400}.planning-session>small{font-size:12px}.planning-session .planning-session-time{color:var(--accent);font-size:12px;font-weight:600}.planning-workspace .planning-session.status-draft{background:#fdfbff;border-style:dashed;border-left-width:3px}.planning-workspace .planning-session.status-cancelled{background:#f5f3f6;border-color:#b5adbf}.planning-session.status-cancelled strong{text-decoration:line-through}.planning-session-course:empty{display:none}.planning-day-empty{color:var(--muted);text-align:center;padding:12px 2px;font-size:12px}.planning-calendar-event{border:1px solid var(--rule);overflow-wrap:anywhere;background:#f7f3fa;border-radius:8px;flex-direction:column;gap:5px;padding:9px 8px;display:flex}.planning-calendar-event strong{font-size:11px}.planning-calendar-event span,.planning-calendar-event small{font-size:12px;line-height:1.4}.planning-calendar-event.is-blocking{border-left:3px solid #78678b}.planning-grid.is-day{grid-template-columns:1fr}.is-day .planning-day-sessions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;display:grid}.is-day .planning-session{padding:18px}.is-day .planning-session>span{font-size:14px}.is-day .planning-session strong{font-size:19px}.is-day .planning-day-events{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px;display:grid}.is-day .planning-calendar-event span,.is-day .planning-calendar-event strong{font-size:13px}.planning-feedback,.planning-empty{border:1px solid var(--rule);background:#f8f6fc;border-radius:10px;padding:16px;font-size:14px;line-height:1.6}.planning-feedback.error{color:#8c203b;background:#fff7f8;border-color:#e8b5c0}.planning-series-list{border-top:1px solid var(--rule);margin-top:24px;padding-top:18px}.planning-series-list summary{cursor:pointer;padding:8px 0;font-size:14px;font-weight:700}.planning-series-list summary>span{margin-left:8px;font-weight:400}.planning-series-list>div{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.planning-series-list>div>span{flex-direction:column;gap:6px;font-size:14px;display:flex}.planning-series-list small{color:var(--muted);font-size:12px}.planning-dialog{border:1px solid var(--rule);width:min(680px,100vw - 48px);max-height:calc(100vh - 48px);color:var(--ink);background:#fff;border-radius:18px;padding:28px;box-shadow:0 18px 60px #21113e26}.planning-dialog::backdrop{background:#21113e55}.planning-dialog-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.planning-dialog-header .eyebrow{margin:0;font-size:11px}.planning-dialog-header button{min-width:72px;font-size:14px}.planning-dialog h2{margin:0 0 24px;font-size:28px;font-weight:700}.planning-detail{margin:0 0 24px}.planning-detail>div{border-bottom:1px solid var(--rule);grid-template-columns:150px 1fr;gap:16px;padding:12px 0;display:grid}.planning-detail dt{color:var(--muted);font-size:12px}.planning-detail dd{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.planning-form,.planning-cancel{flex-direction:column;gap:18px;display:flex}.planning-form label,.planning-cancel label{flex-direction:column;gap:8px;font-size:13px;display:flex}.planning-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.planning-form-row label{min-width:0}.planning-form input,.planning-form select,.planning-form textarea,.planning-cancel textarea{width:100%;min-width:0}.planning-form textarea,.planning-cancel textarea{resize:vertical;min-height:75px}.planning-form small{color:var(--muted);font-size:12px;line-height:1.5}.planning-form fieldset{border:1px solid var(--rule);border-radius:12px;min-width:0;max-height:none;margin:0;padding:12px;overflow:visible}.planning-form legend{padding:0 6px;font-size:13px;font-weight:600}.planning-form .planning-check{flex-flow:wrap;align-items:center;gap:8px;min-height:36px;display:flex}.planning-check input{width:16px;height:16px;min-height:16px;accent-color:var(--accent);padding:0}.planning-check small{margin-left:24px}.planning-form-footer{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.planning-summary{background:var(--lavender);border-radius:12px;flex-direction:column;gap:8px;padding:16px;font-size:14px;display:flex}.planning-cancel{border-top:1px solid var(--rule);margin-top:24px;padding-top:20px}.planning-cancel button{color:#8c203b;align-self:flex-start}.planning-form output{border:1px solid var(--rule);text-transform:capitalize;border-radius:10px;min-height:40px;padding:10px}@media (max-width:1366px){.planning-heading h1{font-size:34px}.planning-workspace .planning-session{padding:9px 7px}.planning-filters{gap:8px}.planning-day-header{padding:10px 8px}.campus-content:has(.planning-workspace){padding-left:24px;padding-right:24px}.planning-heading{gap:16px}.planning-heading .planning-actions{gap:8px}.planning-period{align-items:flex-start}.planning-period h2{font-size:16px}}@media (max-width:1000px){.planning-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.planning-day{border-bottom:1px solid var(--rule)}.planning-heading{flex-direction:column;align-items:flex-start}.planning-period{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.planning-workspace button{transition:none}}.planning-form label,.planning-form legend,.planning-filter,.planning-detail dt,.planning-day-header>span{font-weight:700}.planning-form :is(input,select,textarea),.planning-filter select,.planning-form label small{font-weight:400}.planning-calendar-scroll{overflow-x:auto;container:planning-calendar/inline-size}@container planning-calendar (max-width:1470px){.planning-grid:not(.is-month):not(.is-day){grid-template-columns:repeat(12,minmax(0,1fr))}.planning-grid:not(.is-month):not(.is-day)>.planning-day{grid-column:span 3}.planning-grid:not(.is-month):not(.is-day)>.planning-day:nth-child(n+5){grid-column:span 4}.planning-grid:not(.is-month):not(.is-day)>.planning-day:nth-child(-n+4){border-bottom:1px solid var(--rule)}.planning-grid:not(.is-month):not(.is-day)>.planning-day:nth-child(4){border-right:0}}@container planning-calendar (max-width:720px){.planning-grid:not(.is-month):not(.is-day){grid-template-columns:repeat(2,minmax(0,1fr))}.planning-grid:not(.is-month):not(.is-day)>.planning-day:nth-child(n){border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-column:auto}.planning-grid:not(.is-month):not(.is-day)>.planning-day:nth-child(2n){border-right:0}.planning-grid:not(.is-month):not(.is-day)>.planning-day:last-child{border:0;grid-column:1/-1}}@container planning-calendar (max-width:460px){.planning-grid:not(.is-month):not(.is-day){grid-template-columns:1fr}.planning-grid:not(.is-month):not(.is-day)>.planning-day:nth-child(n){border-right:0;grid-column:auto}.planning-grid:not(.is-month):not(.is-day)>.planning-day:last-child{border-bottom:0}}.planning-grid.is-month{grid-template-columns:repeat(7,minmax(0,1fr));min-width:630px}.is-month .planning-day{border-bottom:1px solid var(--rule);min-height:160px}.is-month .planning-day:nth-child(7n){border-right:0}.is-month .planning-day-header{padding:6px 8px}.planning-workspace .planning-month-day{background:0 0;border:0;min-width:36px;min-height:36px;padding:4px;font-size:18px;font-weight:700}.is-month .is-outside-month{background:var(--paper)}.is-month .is-outside-month .planning-day-header{color:var(--muted);background:0 0}.is-month .planning-session{gap:3px;padding:6px}.is-month .planning-session strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.is-month .planning-session>span:not(.planning-session-time),.is-month .planning-session>small,.is-month .planning-calendar-event small,.is-month .planning-day-empty{display:none}.is-month .planning-calendar-event{gap:3px;padding:6px}.is-month .planning-calendar-event span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.planning-workspace .planning-month-more{min-height:32px;color:var(--accent);align-self:flex-start;padding:4px 10px;font-weight:700}@media (max-width:760px){.planning-toolbar,.planning-date-nav,.planning-view-switch{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}.planning-date-nav{flex:100%}.planning-view-switch{margin-left:0}.planning-workspace .planning-date-nav input{max-width:100%}}.planning-day.is-today .planning-day-header{background:var(--accent);border-bottom-color:var(--accent);color:#fff}.planning-day.is-today .planning-day-header>span,.planning-day.is-today .planning-day-header strong{color:#fff}.planning-workspace .planning-day.is-today .planning-month-day{color:#fff;background:0 0}.planning-workspace .planning-day.is-today .planning-month-day:hover:not(:disabled){color:#fff;background:#ffffff26}.planning-management-dialog{border:1px solid var(--rule);width:min(1080px,100vw - 48px);max-height:calc(100vh - 48px);color:var(--ink);background:#fff;border-radius:16px;padding:24px}.planning-management-dialog::backdrop{background:#21113e55}.planning-management-dialog>header{box-sizing:border-box;border-bottom:1px solid var(--rule);text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:0;margin:0 0 16px;padding:0 0 16px;display:flex}.planning-management-dialog>header h2{letter-spacing:0;text-align:left;flex:1;min-width:0;margin:0;font-size:22px}.planning-management-dialog>header>div{align-items:center;gap:8px;display:flex}.planning-management-dialog .room-workspace{max-width:none;padding:0}.planning-management-dialog .room-toolbar{justify-content:flex-start}.planning-management-dialog .planning-series-list{border:0;margin:0;padding:0}.planning-management-period{color:var(--muted);font-size:14px}@media (max-width:760px){.planning-management-dialog{width:calc(100vw - 24px);padding:16px}.planning-management-dialog>header{flex-wrap:wrap;align-items:flex-start}}.planning-year-legend{font-size:14px}.planning-year-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.planning-mini-month{border:1px solid #d9cfeb;border-radius:10px;padding:16px}.planning-mini-month h3{text-transform:capitalize;margin:0 0 12px}.planning-mini-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.planning-mini-grid button{border-radius:4px;min-width:0;min-height:44px;padding:3px;font-size:13px;position:relative}.planning-mini-grid button:disabled{visibility:hidden}.planning-mini-grid small{min-height:12px;font-size:10px;display:block}.planning-mini-grid .has-course{font-weight:750;box-shadow:inset 0 -3px #542c88}.planning-mini-grid .has-vacation{background:#fff4d9}.planning-mini-grid .has-closure{background:#fff0f3;border:2px solid #a33b50}.planning-month-summary{border:1px solid #d9cfeb;border-radius:10px;margin:24px 0;padding:20px}.planning-month-summary dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.planning-month-summary dd{margin:8px 0;font-size:24px;font-weight:700}.planning-month-summary p{font-size:13px}.planning-imports .planning-form{max-width:760px;margin:24px 0}.planning-import-table{max-width:100%;margin:16px 0;overflow-x:auto}.planning-import-table table{border-collapse:collapse;width:100%;min-width:850px}.planning-import-table th,.planning-import-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d9cfeb;padding:10px}.planning-import-table small{display:block}.planning-import-preview{border:1px solid #d9cfeb;border-radius:10px;padding:20px}.planning-calendar-exception{background:#fff9ee;border:1px solid #a56e16;border-radius:8px;margin:16px 0;padding:16px}.planning-calendar-exception textarea{width:100%;min-height:70px}.planning-mini-grid button:focus-visible{outline-offset:2px;outline:3px solid #542c88}@media (max-width:1000px){.planning-year-months{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.planning-year-months{grid-template-columns:1fr}.planning-month-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.planning-workspace .planning-view-switch button[aria-pressed=true]:hover{background:var(--accent);color:#fff}.planning-import-preview>.planning-check{align-items:center;gap:8px;margin:12px 0;display:flex}.planning-year-select{align-items:center;gap:8px;font-size:13px;display:flex}.planning-year-select select{min-width:95px}.planning-weekdays{flex-wrap:wrap;gap:8px 16px;margin:12px 0;display:flex}.planning-weekdays .planning-check{margin:0}.planning-business-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;display:grid}.planning-business-filters .planning-filter{min-width:0;max-width:none}@media (max-width:800px){.planning-business-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.planning-business-filters{grid-template-columns:1fr}}.planning-promotion-years{align-items:center;gap:8px;min-width:0;display:flex}.planning-workspace .planning-promotion-years input{flex:1;width:0;min-width:0;padding-inline:8px}.planning-form fieldset.planning-recurrence{min-width:0;max-height:none;padding:16px;overflow:visible}.planning-recurrence-frequency{max-width:240px;margin-top:12px}.planning-recurrence .planning-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.planning-form .planning-recurrence .planning-weekdays .planning-check{border:1px solid var(--rule);cursor:pointer;border-radius:8px;flex-flow:column;justify-content:center;gap:6px;min-width:0;min-height:64px;padding:8px 2px;display:flex}.planning-recurrence .planning-weekdays .is-selected{background:var(--lavender);border-color:var(--accent)}@media (max-width:600px){.planning-recurrence .planning-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}}.planning-form fieldset.planning-teacher-selection{max-height:none;overflow:visible}.planning-teacher-row{align-items:end;gap:8px;margin-bottom:12px;display:flex}.planning-teacher-row label{flex:1;min-width:0}.planning-teacher-selection>small{margin-top:10px;display:block}.planning-session-card{flex-direction:column;gap:6px;min-width:0;display:flex}.planning-session-card>.planning-session{flex:1}.planning-workspace .planning-attendance-action{border:1px solid var(--accent);border-radius:var(--planning-radius);background:var(--accent);color:#fff;min-height:40px;font:inherit;white-space:normal;overflow-wrap:anywhere;text-align:center;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.planning-workspace .planning-attendance-action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.planning-workspace .planning-attendance-action:disabled{background:var(--paper);border-color:var(--rule);color:var(--muted)}.planning-workspace .planning-legend .planning-status-filter{cursor:pointer;opacity:.8;min-height:36px;padding:7px 11px;line-height:1.4;font-size:12px!important}.planning-workspace .planning-legend .planning-status-filter[aria-pressed=true]{opacity:1;background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);border-style:solid}.planning-workspace .planning-legend .planning-status-filter:hover:not([aria-pressed=true]){opacity:1;background:var(--lavender)}.planning-workspace .planning-legend .planning-status-filter:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (max-width:650px){.planning-period{flex-direction:column;align-items:flex-start}.planning-legend{gap:8px}}.campus-content .planning-workspace>.planning-heading>.planning-actions{justify-content:flex-end;max-inline-size:100%;margin-inline-start:auto}.campus-content .planning-workspace>.planning-heading>.planning-actions>button{white-space:normal;max-inline-size:100%}.campus-content .planning-imports>.campus-module-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.campus-content .planning-imports>.campus-module-header>div{flex:1;min-width:0}.campus-content .planning-imports>.campus-module-header h2{font-size:var(--campus-title-size);letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.07}.campus-content .planning-imports>.campus-module-header>button{white-space:normal;flex:none;max-width:100%}@media (max-width:700px){.campus-content .planning-imports>.campus-module-header{flex-wrap:wrap;gap:16px}.campus-content .planning-imports>.campus-module-header>div{flex-basis:100%}}.planning-attendance-dialog{border:1px solid var(--rule);box-sizing:border-box;width:min(1200px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--paper,#fff);scrollbar-width:none;border-radius:16px;margin:auto;padding:20px;position:fixed;inset:0;overflow:auto;box-shadow:0 18px 60px #21113e26}.planning-attendance-dialog::-webkit-scrollbar{display:none}.planning-attendance-dialog::backdrop{background:#21113e55}.planning-attendance-dialog>header{border-bottom:1px solid var(--rule);flex-direction:column;gap:8px;margin-bottom:14px;padding-bottom:12px;display:flex}.planning-attendance-dialog>header h2{overflow-wrap:anywhere;margin:0;font-size:21px;line-height:1.35}.planning-attendance-dialog>header p{text-align:right;max-width:100%;color:var(--muted);align-self:flex-end;margin:0;font-size:13px}.planning-attendance-dialog .attendance-roster-only{border:0;margin:0;padding:0}.planning-attendance-dialog .attendance-feedback{margin:8px 0}@media (max-width:700px){.planning-attendance-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:12px}.planning-attendance-dialog>header h2{font-size:18px}.planning-attendance-dialog .attendance-table{scrollbar-width:none;max-width:100%;overflow:auto}}.planning-dialog.is-session-editor{box-sizing:border-box;scrollbar-width:none;width:min(1320px,100vw - 48px);max-width:calc(100vw - 48px);max-height:calc(100dvh - 32px);overflow:auto}.planning-dialog.is-session-editor::-webkit-scrollbar{display:none}.planning-dialog.is-session-editor .planning-dialog-header{min-height:0;margin:0 0 12px;padding:0}.planning-dialog.is-session-editor h2{border-bottom:1px solid var(--rule);margin:0 0 20px;padding:0 0 18px}.planning-form.is-session-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.planning-course-fields,.planning-schedule-fields{align-content:start;gap:18px;min-width:0;display:grid}.planning-form.is-session-editor>.planning-form-footer,.planning-form.is-session-editor>label{grid-column:1/-1}.planning-form.is-session-editor>.planning-form-footer{margin-top:2px}.planning-form .planning-room-choice{gap:8px;display:grid}@media (max-width:900px){.planning-dialog.is-session-editor{width:min(760px,100vw - 24px);max-width:calc(100vw - 24px);padding:20px}.planning-form.is-session-editor{grid-template-columns:1fr;gap:18px}}@media (max-width:600px){.planning-dialog.is-session-editor{padding:16px}.planning-form.is-session-editor .planning-form-row{grid-template-columns:1fr}.planning-dialog.is-session-editor h2{font-size:24px}}
.academic-workspace{max-width:1180px;color:var(--ink,var(--ink));margin:0 auto}.academic-heading{border:0;min-height:0;padding:0 0 12px;display:block}.academic-heading h1{letter-spacing:-.05em;margin:.5rem 0;font-size:clamp(2rem,3vw,3.4rem);font-weight:700}.academic-heading p{color:var(--muted,var(--muted))}.academic-heading>a{color:var(--accent);margin:12px 0 22px;display:inline-block}.academic-sections{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 32px;display:grid}.academic-sections button{text-align:left;color:var(--ink);background:#fff;border:1px solid #ded5ed;border-radius:12px;align-items:center;gap:12px;padding:17px 14px;font-weight:700;display:flex}.academic-sections button[aria-current]{background:var(--accent);color:#fff}.academic-sections small{opacity:.75;letter-spacing:.12em}.academic-workspace button,.academic-workspace input,.academic-workspace select{font:inherit;border-radius:10px}.academic-workspace button{cursor:pointer;color:#3a2167;background:#fff;border:1px solid #d8cce9;min-height:44px;padding:10px 16px;font-weight:700}.academic-workspace button:disabled{opacity:.55;cursor:not-allowed}.academic-workspace .academic-primary{background:var(--accent);border-color:var(--accent);color:#fff}.academic-workspace :is(button,input,select,a):focus-visible{outline-offset:3px;outline:3px solid #6d42a3}.academic-workspace button:hover:not(:disabled){background:#f2edf8}.academic-workspace .academic-primary:hover:not(:disabled){background:#432370}.academic-section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.academic-workspace h2{font-size:1.7rem;font-weight:700}.academic-workspace h3{margin:0 0 8px;font-size:1.15rem;font-weight:700}.academic-form{background:#faf8fc;border:1px solid #ded5ed;border-radius:16px;margin:20px 0 30px;padding:24px}.academic-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;display:grid}.academic-workspace label{gap:8px;font-size:.95rem;font-weight:700;display:grid}.academic-workspace input,.academic-workspace select{width:100%;color:var(--ink);background:#fff;border:1px solid #d8cce9;min-height:44px;padding:12px}.academic-workspace input[readonly]{color:var(--muted);background:#f0edf4}.academic-workspace small{color:var(--muted);font-size:.82rem;font-weight:400;line-height:1.5;display:block}.academic-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.academic-preview{background:#f0e9f8;border-radius:12px;margin:18px 0;padding:20px}.academic-preview strong{font-size:1.4rem}.academic-preview li{line-height:1.8}.academic-feedback{background:#f5f1fa;border:1px solid #d4c3e7;border-radius:12px;margin:20px 0;padding:16px 20px;line-height:1.5}.academic-feedback.error{color:#a20d3f;background:#fff7f9;border-color:#eeb2c3}.academic-feedback button{margin-left:12px}.academic-list{border-top:1px solid #ded5ed;margin-top:22px}.academic-row{border-bottom:1px solid #ded5ed;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}.academic-row p{color:var(--muted);margin:6px 0 12px}.academic-status{color:var(--accent);border:1px solid #d8cce9;border-radius:8px;padding:5px 10px;font-size:.85rem;display:inline-block}.academic-row .academic-actions{max-width:45%}.academic-promotion{border-bottom:1px solid #ded5ed;padding:24px 0}.academic-promotion h3{font-size:1.8rem}.academic-promotion>p{color:var(--muted);margin:0 0 5px}.academic-promotion ul{padding:0;list-style:none}.academic-promotion li{background:#faf8fc;border:1px solid #e3dbed;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:10px 0;padding:14px 18px;display:flex}.academic-year-picker{max-width:360px;margin:20px 0}@media (max-width:1100px){.academic-sections{grid-template-columns:repeat(2,1fr)}.academic-row{align-items:flex-start}.academic-row .academic-actions{max-width:40%}}@media (max-width:760px){.academic-form-grid{grid-template-columns:1fr}.academic-row{flex-direction:column}.academic-row .academic-actions{max-width:100%}.academic-promotion li{flex-direction:column;align-items:flex-start}}.academic-sections button[aria-current]:hover{background:#432370}.academic-sections small{color:inherit}.academic-year-details{border:1px solid #ded5ed;border-radius:12px;margin:28px 0;padding:18px 22px}.academic-year-details summary{cursor:pointer;min-height:28px;font-weight:700}.academic-year-details summary:focus-visible{outline-offset:4px;outline:3px solid #6d42a3}.academic-heading h1{letter-spacing:-.035em;font-size:clamp(1.9rem,2.6vw,2.8rem)}.academic-sections{flex-wrap:wrap;align-items:flex-start;gap:10px;margin:8px 0 24px;display:flex}.academic-configuration{max-width:100%;margin-left:auto}.academic-configuration summary,.academic-create-promotion>summary{cursor:pointer;border:1px solid var(--rule);min-height:44px;color:var(--accent);border-radius:10px;padding:12px 16px;font-weight:600;list-style:none}.academic-configuration summary::-webkit-details-marker{display:none}.academic-create-promotion>summary::-webkit-details-marker{display:none}.academic-configuration>div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.academic-configuration summary:focus-visible,.academic-create-promotion>summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.academic-overview-toolbar{border:1px solid var(--rule);background:#faf8fc;border-radius:14px;align-items:center;gap:24px;margin-bottom:24px;padding:20px;display:flex}.academic-overview-toolbar label{min-width:220px}.academic-overview-toolbar p{max-width:600px;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.academic-formation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.academic-formation-card{border:1px solid var(--rule);border-radius:16px;min-width:0;padding:22px}.academic-formation-card>header{border:0;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:16px;min-height:0;margin:0;padding:0 0 16px;display:flex}.academic-formation-card h2{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:20px;line-height:1.35}.academic-formation-card>header>span{white-space:nowrap;color:var(--muted);font-size:13px}.academic-cohort{padding:18px 0 0}.academic-cohort h3{color:var(--accent);margin:0 0 12px;font-size:14px}.academic-cohort ul{margin:0;padding:0;list-style:none}.academic-cohort li{border-bottom:1px solid #eee8f6;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.academic-cohort li>div{min-width:0}.academic-cohort strong{font-size:15px}.academic-cohort small{overflow-wrap:anywhere;margin-top:6px}.academic-cohort a{color:var(--accent);text-underline-offset:3px;flex-shrink:0;font-size:13px}.academic-workspace .academic-cohort-link{text-align:left;background:#faf8fc;width:100%;margin-top:18px;font-size:13px;font-weight:500;display:block}.academic-no-class{color:var(--muted);margin:0;padding:18px 0;font-size:14px}.academic-create-promotion{margin-top:22px}.academic-create-promotion>summary{width:fit-content}.academic-create-promotion[open]>.academic-form{margin-top:12px}@media (max-width:850px){.academic-formation-grid{grid-template-columns:1fr}.academic-overview-toolbar{flex-direction:column;align-items:stretch;gap:16px}.academic-overview-toolbar label{min-width:0}.academic-configuration{margin-left:0}.academic-formation-card{padding:18px}}@media (max-width:450px){.academic-cohort li{flex-direction:column;align-items:flex-start;gap:10px}.academic-formation-card>header{flex-direction:column;gap:8px}.academic-sections>button{flex:1;padding:12px 10px}.academic-configuration{width:100%}.academic-configuration>div{flex-direction:column}}.academic-promotion-groups{border-top:0}.academic-promotion-groups>.academic-promotion{border:1px solid var(--rule);border-radius:16px;margin-bottom:20px;padding:22px}.academic-period-heading{border-bottom:1px solid var(--rule);justify-content:flex-start;align-items:center;gap:12px;min-height:0;padding:0 0 16px;display:flex}.academic-period-heading h3{margin:0;font-size:24px}.academic-period-heading>span{color:var(--muted);font-size:13px}.academic-promotion-formations{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px;display:grid}.academic-promotion-formation{border:1px solid var(--rule);border-radius:12px;min-width:0;padding:16px}.academic-promotion-formation h4{overflow-wrap:anywhere;margin:0 0 8px;font-size:16px;line-height:1.4}.academic-promotion-formation ul{margin:0}.academic-promotion-formation li{background:0 0;border:0;border-top:1px solid #eee8f6;border-radius:0;gap:12px;margin:0;padding:12px 0}.academic-promotion-formation a{color:var(--accent);white-space:nowrap;font-size:13px}.academic-promotion-formation strong{font-size:14px}.academic-promotion-formation small{margin-top:4px}@media (max-width:850px){.academic-promotion-formations{grid-template-columns:1fr}.academic-promotion-groups>.academic-promotion{padding:18px}}.academic-sections{justify-content:flex-start}.academic-formation-choices{border:1px solid var(--rule);border-radius:12px;min-width:0;margin:16px 0 20px;padding:18px}.academic-formation-choices legend{padding:0 6px;font-size:14px;font-weight:600}.academic-formation-choices p{color:var(--muted);margin:0 0 12px;font-size:14px}.academic-choice-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.academic-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.academic-choices label{border:1px solid var(--rule);cursor:pointer;border-radius:10px;align-items:center;gap:10px;min-width:0;padding:12px;font-size:14px;display:flex}.academic-choices label:has(input:checked){border-color:var(--accent);background:#eee8f6}.academic-workspace .academic-choices input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex:none;padding:0}.academic-choices span{overflow-wrap:anywhere}.academic-entry-year{max-width:260px}.academic-creation-preview+.academic-creation-preview{border-top:1px solid var(--rule);margin-top:18px;padding-top:18px}.academic-creation-preview h4{margin:0 0 8px}.academic-creation-preview strong{font-size:18px}@media (max-width:650px){.academic-choices{grid-template-columns:1fr}.academic-sections>button{flex:calc(50% - 10px)}}.academic-sections{border-bottom:1px solid #e1d9eb;flex-flow:wrap;align-items:center;gap:6px;margin:0 0 24px;padding:3px 0;display:flex}.academic-sections a{color:#584469;white-space:nowrap;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:8px 8px 0 0;flex:none;align-items:center;gap:9px;padding:11px 14px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.academic-sections a svg{flex:none;width:16px;height:16px}.academic-sections a:hover{color:#4b3286;background:#f7f4fb}.academic-sections a[aria-current=page]{color:#4b3286;background:#f2ecf9;font-weight:700;box-shadow:inset 0 -3px #4b3286}.academic-sections a:focus-visible{outline-offset:-3px;background:#f2ecf9;outline:3px solid #4b3286}@media (max-width:450px){.academic-sections a{flex:calc(50% - 6px);min-width:0;padding:11px 10px}}.academic-title-link{color:inherit;text-underline-offset:4px;text-decoration:none}.academic-title-link:hover{color:var(--accent);text-decoration:underline}.academic-formation-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.academic-formation-heading h4{flex:1;min-width:120px;margin:0}.academic-intake-status{margin-left:auto}.academic-promotion-formation{cursor:pointer}.academic-promotion-formation:hover{border-color:#baa7d1}.academic-promotion-formation li{padding:0;display:block}.academic-promotion-formation .academic-class-target{width:100%;color:var(--ink);white-space:normal;border-radius:8px;padding:14px 10px;text-decoration:none;display:block}.academic-class-target:hover{background:#f2ecf9}.academic-class-target strong,.academic-class-target small{display:block}.academic-workspace .academic-admission-switch{min-height:40px;color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:4px 0 4px 8px;font-size:12px;font-weight:500;display:flex}.academic-workspace .academic-admission-switch:hover:not(:disabled){color:var(--accent);background:0 0}.academic-switch-track{background:#d4cbdc;border-radius:20px;flex:none;width:36px;height:22px;display:block;position:relative}.academic-switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:3px}.academic-admission-switch[aria-checked=true] .academic-switch-track{background:var(--accent)}.academic-admission-switch[aria-checked=true] .academic-switch-track:after{left:17px}.campus-content input[type=file]{background:0 0;border:0;width:min(100%,360px);max-width:100%;min-height:36px;padding:0;font-size:13px;font-weight:400;line-height:1.4}.campus-content input[type=file]::file-selector-button{border:1px solid var(--rule);background:var(--lavender);min-height:36px;color:var(--accent);font:inherit;cursor:pointer;border-radius:8px;margin-right:10px;padding:7px 11px;font-size:13px;font-weight:600}@media (pointer:coarse){.campus-content input[type=file]::file-selector-button{min-height:44px}}
.onboarding-tools{justify-content:flex-start;margin:24px 0}.onboarding-button{min-height:44px;color:var(--accent);border:1px solid #d8cce9;border-radius:10px;align-items:center;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.onboarding-table-scroll{margin:24px 0;overflow-x:auto}.onboarding table{border-collapse:collapse;width:100%;font-size:.9rem}.onboarding th,.onboarding td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #ded5ed;padding:14px 12px}.onboarding th{color:var(--accent);font-weight:700}.onboarding-confirm{align-items:center;margin-top:12px;display:flex!important}.onboarding-confirm input{width:20px!important;min-height:20px!important}.onboarding .academic-year-details li{line-height:1.8}.profile-search{gap:10px;max-width:760px;margin:28px 0 16px;font-weight:700;display:grid}.profile-search input{border:1px solid var(--rule);min-height:46px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:12px 16px;font-weight:400}.profile-search input:focus-visible,.profile-record summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.profile-list-heading{justify-content:space-between;align-items:center;gap:16px;margin-top:28px;display:flex}.profile-list-heading p{color:var(--muted);font-size:13px}.profile-record{border:1px solid var(--rule);background:#fff;border-radius:16px;margin:14px 0;overflow:hidden}.profile-record summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;list-style:none;display:flex}.profile-record summary::-webkit-details-marker{display:none}.profile-record summary h3{margin:0 0 8px;font-size:18px;font-weight:700}.profile-record summary p{overflow-wrap:anywhere;color:var(--muted);margin:0;font-size:14px}.profile-summary-state{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;display:flex}.profile-open{color:var(--accent);font-weight:700}.profile-open:after{content:" +";font-size:18px}.profile-record[open] .profile-open:after{content:" −"}.profile-record[open] summary{background:var(--lavender)}.profile-body{border-top:1px solid var(--rule);padding:20px 24px}.profile-body h4{margin:12px 0 20px;font-size:16px;font-weight:700}.profile-information{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:0 0 28px;display:grid}.profile-information dt{color:var(--accent);margin-bottom:7px;font-size:12px;font-weight:700}.profile-information dd{overflow-wrap:anywhere;margin:0;font-size:14px}.profile-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-section-heading h4{margin:0}.profile-enrollment{border-top:1px solid var(--rule);padding:16px 0}.profile-enrollment h5{margin:0 0 10px;font-size:15px;font-weight:700}.profile-enrollment p{margin:6px 0;font-size:14px;line-height:1.7}@media (max-width:800px){.profile-record summary,.profile-list-heading{flex-direction:column;align-items:flex-start}.profile-information{grid-template-columns:1fr}.profile-record summary,.profile-body{padding:18px}}.profile-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));align-items:start;gap:16px;display:grid}.profile-grid .profile-record{min-width:0;margin:0}.profile-grid .profile-record summary{flex-direction:column;align-items:flex-start;gap:18px;min-height:164px}.profile-grid .profile-summary-state{justify-content:flex-start}.profile-grid .profile-record[open]{grid-column:1/-1}.profile-grid .profile-record[open] summary{flex-direction:row;align-items:center;min-height:0}.profile-grid .profile-record:not([open]) .profile-open{flex-basis:100%}@media (max-width:800px){.profile-grid .profile-record[open] summary{flex-direction:column;align-items:flex-start}}.profile-editor{border-bottom:1px solid var(--rule);margin-bottom:24px;padding-bottom:20px}.profile-editor-actions{flex-wrap:wrap;gap:12px;display:flex}.profile-editor .academic-form{margin-top:20px}.profile-editor .academic-form p{color:var(--muted);font-size:13px}.onboarding .profile-delete{color:#8c203b;border-color:#e4bdc7}.teacher-field-settings{border:1px solid var(--rule);border-radius:12px;max-width:760px;margin-top:28px;padding:20px}.teacher-field-settings h2{font-size:20px}.teacher-field-settings label{align-items:center;gap:10px;min-height:44px;display:flex}.teacher-field-settings input[type=checkbox],.invitation-confirm input[type=checkbox]{width:18px;height:18px;min-height:18px}.teacher-field-settings p{color:var(--muted);font-size:13px}.teacher-field-settings button{min-height:40px;padding:8px 12px}.invitation-identity{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.invitation-identity div{overflow-wrap:anywhere;min-width:0}.invitation-identity dt{color:var(--muted);font-size:12px}.invitation-identity dd{margin:4px 0 0}.login-form .invitation-confirm{align-items:center;gap:10px;display:flex}.activation-card .invitation-password-form{gap:20px;display:grid}.activation-card .invitation-password-form>label{gap:8px;display:grid}.activation-card .invitation-password-form>.invitation-confirm{display:flex}.activation-card .invitation-password-form>.primary-button{justify-self:start;width:auto;min-height:42px;padding:10px 16px;font-size:14px}.invitation-password-form label>span{font-size:13px;font-weight:400;line-height:1.5}.campus-content .profile-editor-actions{gap:8px}.campus-content .profile-editor-actions button,.campus-content .student-source-actions button{border-radius:8px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:600}@media (pointer:coarse){.campus-content .profile-editor-actions button,.campus-content .student-source-actions button{min-height:44px}}
.student-avatar{color:#542c88;vertical-align:middle;background:#eee8f8;border:1px solid #d9cfeb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:750;display:inline-flex;overflow:hidden}.student-avatar.small{width:36px;height:36px;font-size:14px}.student-avatar.large{width:104px;height:104px;font-size:32px}.student-avatar img{object-fit:cover;width:100%;height:100%}.student-name-with-photo{align-items:center;gap:12px;display:flex}.profile-record summary>.student-avatar{margin-right:12px}.student-photo-editor{border-top:1px solid #e6def1;border-bottom:1px solid #e6def1;margin-bottom:24px;padding:20px 0}.student-photo-edit-content{align-items:flex-start;gap:24px;display:flex}.student-photo-edit-content p{margin-top:0}.student-photo-file{margin-bottom:14px;font-weight:700;display:block}.student-photo-file input{max-width:100%;margin-top:8px;font-weight:400;display:block}.student-photo-editor button,.trombinoscope button{color:#542c88;cursor:pointer;background:#fff;border:1px solid #d6c6ed;border-radius:10px;min-height:44px;margin-right:8px;padding:10px 16px;font-weight:650}.student-photo-editor button:disabled,.trombinoscope button:disabled{opacity:.5;cursor:default}.student-photo-preview{margin:16px 0}.student-photo-preview img{object-fit:cover;border-radius:50%;margin-bottom:8px;display:block}.trombinoscope-filters{flex-wrap:wrap;gap:16px;margin:26px 0;display:flex}.trombinoscope-filters label{flex-direction:column;flex:180px;gap:8px;font-weight:700;display:flex}.trombinoscope-filters input,.trombinoscope-filters select{min-height:44px;color:inherit;font:inherit;background:#fff;border:1px solid #d9cfeb;border-radius:10px;width:100%;min-width:0;padding:10px 12px;font-weight:400}.trombinoscope-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:20px;display:grid}.trombinoscope-card{text-align:center;background:#fff;border:1px solid #e3dbee;border-radius:16px;padding:24px 18px}.trombinoscope-card h2{overflow-wrap:anywhere;margin:16px 0 6px;font-size:18px;font-weight:750}.trombinoscope-card p{overflow-wrap:anywhere;margin:5px 0}.trombinoscope-card .student-number{color:#66567a;font-size:14px}.trombinoscope-pagination{align-items:center;gap:12px;margin:24px 0;display:flex}.student-photo-editor button:focus-visible,.trombinoscope :is(button,input,select):focus-visible{outline-offset:3px;outline:3px solid #542c88}@media (max-width:600px){.student-photo-edit-content{flex-direction:column}.trombinoscope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-photo-file input{width:100%}}.student-view-switch{gap:8px;margin:18px 0;display:flex}.student-view-switch button[aria-pressed=true]{color:#fff;background:#542c88;border-color:#542c88}.student-list-table{overflow-x:auto}.student-list-table table{border-collapse:collapse;text-align:left;width:100%}.student-list-table th{color:#542c88;font-weight:750}.student-list-table th,.student-list-table td{border-bottom:1px solid #e3dbee;padding:14px}.student-list-table td{font-size:15px}.trombinoscope-card h3{overflow-wrap:anywhere;margin:16px 0 6px;font-size:18px;font-weight:750}.student-card-button{font:inherit;color:inherit;cursor:pointer;width:100%;transition:border-color .15s}.student-card-button:hover{border-color:#542c88}.student-card-button:focus-visible{outline-offset:3px;outline:3px solid #542c88}.student-photo-file{font-size:13px;font-weight:600}.student-photo-editor button{border-radius:8px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:600}.student-photo-editor .student-photo-remove{color:#8b3052;background:0 0;border:0;min-height:36px;margin:0;padding:6px 0}.student-photo-editor .student-photo-remove:hover:not(:disabled){text-underline-offset:3px;background:0 0;text-decoration:underline}@media (pointer:coarse){.student-photo-editor button{min-height:44px}}.student-photo-file{cursor:pointer;justify-items:start;gap:8px;max-width:100%;display:grid;position:relative}.student-photo-file-label{font-size:13px;font-weight:600}.student-photo-picker{flex-wrap:wrap;align-items:center;gap:10px;max-width:100%;font-size:13px;font-weight:400;display:flex}.student-photo-picker-button{color:#542c88;background:#f3edf9;border:1px solid #d6c6ed;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:7px 12px;font-weight:600;display:inline-flex}.student-photo-picker-name{color:#66567a;overflow-wrap:anywhere;min-width:0}.campus-content .student-photo-file input[type=file]{opacity:0;clip-path:inset(50%);width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.student-photo-file:focus-within .student-photo-picker-button{outline-offset:2px;outline:3px solid #542c88}.student-photo-file:hover .student-photo-picker-button{background:#eae0f4}.student-photo-file:has(input:disabled){cursor:default;opacity:.55}@media (pointer:coarse){.student-photo-picker-button{min-height:44px}}
.attendance-workspace{min-width:0}.attendance-workspace section{border-top:1px solid var(--rule);margin-top:28px;padding-top:22px}.attendance-workspace h2{margin:0 0 16px;font-size:23px}.attendance-workspace h3{font-size:17px}.attendance-workspace p{font-size:14px;line-height:1.6}.attendance-workspace button,.attendance-workspace input,.attendance-workspace select,.attendance-workspace textarea{font:inherit;border:1px solid var(--rule);border-radius:var(--radius-control,8px);min-height:42px;color:var(--ink);background:#fff;padding:9px 12px;font-size:14px}.attendance-workspace button{font-weight:700}.attendance-workspace button:disabled{cursor:not-allowed}.attendance-workspace label,.attendance-workspace th{font-size:13px;font-weight:700}.attendance-workspace input,.attendance-workspace select,.attendance-workspace textarea{font-weight:400}.attendance-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:24px 0;display:flex}.attendance-toolbar label{flex-direction:column;gap:7px;min-width:150px;max-width:220px;display:flex}.attendance-toolbar select{max-width:220px}.attendance-feedback{border:1px solid var(--rule);background:var(--lavender);border-radius:10px;padding:14px}.attendance-feedback.error{color:#8c203b;background:#fff7f8;border-color:#e8b5c0}.attendance-sessions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.attendance-sessions button{text-align:left;flex-direction:column;align-items:start;gap:8px;padding:16px;display:flex}.attendance-sessions span{font-size:12px;font-weight:400}.attendance-table{border:1px solid var(--rule);border-radius:12px;overflow-x:auto}.attendance-table table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.attendance-table th{background:#f8f6fc}.attendance-table td,.attendance-table th{border-bottom:1px solid var(--rule);vertical-align:middle;padding:12px}.attendance-table small{margin-top:5px;font-size:12px;display:block}.attendance-table input[type=number]{width:88px}.attendance-table input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent)}.attendance-status{border:1px solid var(--rule);border-radius:7px;padding:5px 8px;font-weight:700;display:inline-block}.attendance-status.absent{background:#f9eef3}.attendance-status.late{background:#fcf6e9}.attendance-status.present{background:#f0ebf8}.attendance-reason,.attendance-proof label{flex-direction:column;gap:8px;max-width:600px;margin:18px 0;display:flex}.attendance-proof{border:1px solid var(--rule);border-radius:16px;margin-top:18px;padding:22px}.attendance-proof textarea{resize:vertical;min-height:90px}.attendance-workspace .attendance-primary{background:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width:1100px){.attendance-sessions{grid-template-columns:repeat(2,minmax(0,1fr))}}.justificatif-files{margin:16px 0;padding:0;list-style:none}.justificatif-files li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.justificatif-files li>div{min-width:0}.justificatif-files strong{overflow-wrap:anywhere;display:block}.justificatif-files span{margin-top:6px;font-size:12px;display:block}.justificatif-files progress{width:280px;max-width:100%;accent-color:var(--accent)}.proof-file-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.proof-file-actions a{color:var(--accent);border:1px solid var(--rule);border-radius:8px;padding:10px 12px;font-weight:700}.proof-file-detail{background:var(--lavender);border-radius:12px;padding:16px}.proof-file-detail span{overflow-wrap:anywhere}.proof-attachments h4{margin:20px 0 8px;font-weight:700}.attendance-workspace :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.attendance-views{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.attendance-views [aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.attendance-workspace button{min-height:44px}.attendance-proof[data-focused=true]{border:2px solid var(--accent);background:var(--lavender)}.attendance-detail-button{margin-top:8px;display:block}.attendance-workspace .attendance-proof li{overflow-wrap:anywhere;margin:10px 0;line-height:1.6}@media (max-width:600px){.attendance-sessions{grid-template-columns:1fr}.attendance-proof{padding:16px}.attendance-toolbar label{width:100%;max-width:100%}.attendance-toolbar select{max-width:100%}.justificatif-files li{flex-direction:column;align-items:stretch}.attendance-workspace input[type=file]{width:100%;max-width:100%}}.attendance-confirmed-row{background:color-mix(in srgb,var(--accent) 12%,var(--lavender));color:var(--muted)}.attendance-confirmed-row :is(input,select,button){color:var(--ink)}.attendance-sessions>article{flex-direction:column;gap:8px;min-width:0;display:flex}.attendance-sessions>article>button{width:100%}.administration-attendance .attendance-page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.administration-attendance .campus-page-header{margin-bottom:0}.attendance-heading-actions,.attendance-detail-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.administration-attendance .attendance-views{margin-top:16px}.administration-attendance .attendance-toolbar{gap:10px;margin:16px 0}.administration-attendance .attendance-toolbar label{flex:1;min-width:140px}.administration-attendance .attendance-toolbar .attendance-search{flex:2;max-width:320px}.attendance-record-switches{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;display:flex}.attendance-record-switches>div{gap:8px;display:flex}.attendance-record-switches [aria-pressed=true]{background:var(--lavender);border-color:var(--accent);color:var(--accent)}.attendance-clickable{cursor:pointer}.attendance-clickable:hover{background:var(--lavender)}.attendance-workspace .attendance-row-link{text-align:left;color:var(--accent);background:0 0;border:0;min-height:32px;padding:0}.attendance-roster-only>:not(.attendance-register):not(.attendance-feedback){display:none}.attendance-roster-only>.attendance-register{border:0;margin-top:0;padding-top:0}.attendance-export-dialog{border:1px solid var(--rule);width:min(920px,100vw - 24px);max-width:calc(100vw - 24px);height:min(850px,100dvh - 28px);max-height:calc(100dvh - 28px);color:var(--ink);background:#fff;border-radius:16px;padding:0}.attendance-export-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.attendance-export-dialog::backdrop{background:#21143c66}.attendance-export-dialog>header,.attendance-export-dialog>footer{background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.attendance-export-dialog>header{border-bottom:1px solid var(--rule)}.attendance-export-dialog>header h2{margin:0}.attendance-export-dialog>footer{border-top:1px solid var(--rule);justify-content:flex-end}.attendance-export-body{scrollbar-width:none;padding:0 20px 20px;overflow:auto}.attendance-export-body::-webkit-scrollbar{display:none}.attendance-export-body fieldset{border:1px solid var(--rule);border-radius:10px;min-width:0;margin:16px 0;padding:14px}.attendance-export-body fieldset>label{flex-direction:column;gap:8px;margin-top:14px;display:flex}.attendance-export-body details{border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:8px;margin:12px 0;padding:12px}.attendance-export-body summary{cursor:pointer;min-height:32px;font-size:14px;font-weight:700}.attendance-export-body input[type=search]{width:100%;margin:8px 0}.attendance-selection-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.attendance-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.attendance-choice-grid label{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.attendance-workspace .attendance-choice-grid input{min-height:20px;accent-color:var(--accent);flex-shrink:0}.attendance-preview table,.attendance-preview tbody{display:block}.attendance-preview thead{display:none}.attendance-preview tr{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px 0;display:grid}.attendance-preview td{overflow-wrap:anywhere;flex-direction:column;font-size:13px;display:flex}.attendance-preview td:before{content:attr(data-label);font-size:12px;font-weight:700}.attendance-export-body :is(p,th,td,summary,label){overflow-wrap:anywhere}@media (max-width:600px){.attendance-page-heading,.attendance-heading-actions{align-items:stretch}.attendance-heading-actions{width:100%}.attendance-choice-grid,.attendance-preview tr{grid-template-columns:1fr}.attendance-export-dialog>header,.attendance-export-dialog>footer{padding:12px}.attendance-export-body{padding:0 12px 12px}.attendance-export-dialog>footer button{white-space:normal;flex:1}.attendance-record-switches>div{flex-wrap:wrap}}:is(.administration-attendance .attendance-toolbar label:has(.campus-date-picker),.attendance-export-dialog .attendance-toolbar label:has(.campus-date-picker)){min-width:205px}.administration-attendance .attendance-table td:first-child{white-space:nowrap}.administration-attendance .attendance-table td:last-child button{min-width:145px}@media (max-width:600px){:is(.administration-attendance .attendance-toolbar label:has(.campus-date-picker),.attendance-export-dialog .attendance-toolbar label:has(.campus-date-picker)){min-width:0;max-width:100%}}.attendance-export-dialog[open]{grid-template-rows:auto auto minmax(0,1fr)}.attendance-export-dialog>div[hidden]{display:none!important}.attendance-export-dialog>div:not(.attendance-export-format){flex-direction:column;min-height:0;display:flex;overflow:hidden}.attendance-export-dialog>div>.attendance-export-body{flex:1;min-height:0}.attendance-export-dialog footer{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.attendance-export-format{border-bottom:1px solid var(--rule);padding:12px 20px}.attendance-export-format label{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attendance-export-format select{max-width:100%}.attendance-pdf-students{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.attendance-pdf-students label{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.attendance-pdf-students input[type=radio]{min-height:18px;accent-color:var(--accent);flex-shrink:0}.attendance-pdf-body input:not([type=radio]){min-width:0;max-width:100%}.attendance-pdf-preview{border:1px solid var(--rule);border-radius:8px;width:100%;height:500px}.attendance-search-select{min-width:0;margin-top:14px;position:relative}.attendance-search-select>label{margin-bottom:7px;display:block}.attendance-search-control{border:1px solid var(--rule);border-radius:var(--radius-control,8px);background:#fff;align-items:stretch;min-width:0;display:flex}.attendance-workspace .attendance-search-control input{border-radius:inherit;background:0 0;border:0;flex:1;width:0;min-width:0}.attendance-workspace .attendance-search-arrow{border:0;border-left:1px solid var(--rule);border-radius:0 var(--radius-control,8px) var(--radius-control,8px) 0;flex:0 0 40px;padding:8px}.attendance-search-arrow svg{width:18px;height:18px;margin:auto;display:block}.attendance-search-panel{border:1px solid var(--rule);background:#fff;border-radius:8px;margin-top:6px;padding:8px}.attendance-search-panel [role=listbox]{gap:4px;display:grid}.attendance-workspace .attendance-search-panel [role=option]{text-align:left;overflow-wrap:anywhere;white-space:normal;border:0;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;font-weight:400;display:flex}.attendance-search-panel [role=option] small{color:#685a7b;font-size:12px}.attendance-search-panel [role=option]:hover,.attendance-search-panel [role=option].focused,.attendance-search-panel [role=option][aria-selected=true]{background:var(--lavender)}.attendance-workspace .attendance-inline-action{min-height:30px;color:var(--accent);text-underline-offset:3px;background:0 0;border:0;margin-top:8px;padding:4px 0;font-size:13px;text-decoration:underline;display:inline-block}.attendance-recipient-fields>label{flex-direction:column;gap:7px;margin-top:12px;display:flex}.attendance-recipient-fields>label.attendance-recipient-save{flex-direction:row;align-items:center;font-weight:400}.attendance-recipient-save input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0}@media (max-width:600px){.attendance-pdf-students{grid-template-columns:1fr}.attendance-export-dialog footer{padding:12px}.attendance-export-dialog footer button{flex:1}.attendance-pdf-body .attendance-toolbar label{width:100%;max-width:100%}.attendance-pdf-body .attendance-toolbar select{max-width:100%}.attendance-export-format{padding:12px}}.campus-content .administration-attendance .campus-module-header{margin:0;padding-bottom:12px}.administration-attendance .attendance-page-heading{margin-bottom:24px}.administration-attendance .attendance-main-tabs{scrollbar-width:none;border-bottom:1px solid #e1d9eb;flex-wrap:nowrap;gap:6px;margin:0;padding:3px 0;display:flex;overflow-x:auto}.attendance-main-tabs::-webkit-scrollbar{display:none}.administration-attendance .attendance-main-tabs button{color:#584469;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:9px;min-height:44px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.administration-attendance .attendance-main-tabs button:hover{color:#4b3286;background:#f7f4fb}.administration-attendance .attendance-main-tabs button[aria-pressed=true]{color:#4b3286;background:#f2ecf9;font-weight:700;box-shadow:inset 0 -3px #4b3286}.administration-attendance .attendance-main-tabs button:focus-visible{outline-offset:-3px;background:#f2ecf9;outline:3px solid #4b3286}.attendance-main-tabs svg{flex-shrink:0;width:18px;height:18px}.administration-attendance .attendance-record-switches{margin-top:20px}.administration-attendance .attendance-period-switch{align-items:center;gap:6px}.administration-attendance .attendance-period-switch button{min-height:32px;padding:5px 10px;font-size:13px;font-weight:500;line-height:20px}@media (min-width:901px){.administration-attendance .attendance-main-tabs button{border-radius:8px 8px 0 0}}.administration-attendance .attendance-date-nav{flex-wrap:wrap;align-items:center;gap:8px}.administration-attendance .attendance-date-nav>button{border-radius:10px;min-height:40px;padding:10px 12px;font-size:13px;font-weight:600}.administration-attendance .attendance-date-nav .campus-date-picker{width:190px;max-width:100%}.administration-attendance .attendance-date-nav input{font-size:13px}.administration-attendance .attendance-request-filters{align-items:end}.administration-attendance .attendance-request-filters .attendance-student-name{flex:2 320px;min-width:260px;max-width:none}.attendance-request-dates,.attendance-filter-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.attendance-request-dates{flex:1 0 100%;margin-top:4px}.administration-attendance .attendance-request-dates label{flex:0 220px;min-width:205px}@media (max-width:600px){.administration-attendance .attendance-date-nav{flex-basis:100%}.administration-attendance .attendance-request-filters .attendance-student-name,.administration-attendance .attendance-request-dates label{flex-basis:100%;min-width:0;max-width:100%}}.administration-attendance .attendance-toolbar{align-items:flex-end;gap:8px}.administration-attendance .attendance-toolbar>label{flex:130px;gap:6px;min-width:0;max-width:none}.administration-attendance .attendance-toolbar :is(input,select){box-sizing:border-box;width:100%;min-width:0;max-width:100%}.administration-attendance .attendance-toolbar>.attendance-scope-year,.administration-attendance .attendance-toolbar>.attendance-scope-cohort{flex:0 0 118px}.administration-attendance .attendance-toolbar>.attendance-compact-status,.administration-attendance .attendance-toolbar>.attendance-query-mode{flex:0 0 102px}.administration-attendance .attendance-toolbar.attendance-request-filters>.attendance-student-name{flex:1.5 180px;min-width:150px;max-width:none}.administration-attendance .attendance-toolbar>.attendance-query-target{flex:2 220px;min-width:160px}.administration-attendance .attendance-filter-actions{flex-wrap:nowrap;flex:none;gap:8px}.attendance-filter-popover,.attendance-filter-popover-panel{display:contents}.attendance-filter-popover-trigger,.attendance-filter-popover-close{display:none}.attendance-filter-popover-always{flex:none;display:block;position:relative}.attendance-filter-popover-always>.attendance-filter-popover-trigger{display:block}.attendance-filter-popover-always>.attendance-filter-popover-panel{display:none}.attendance-filter-popover-always[data-open=true]>.attendance-filter-popover-panel{display:grid}.attendance-filter-popover-always>.attendance-filter-popover-panel{z-index:60;scrollbar-width:none;box-sizing:border-box;border:1px solid var(--rule);background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(460px,100vw - 32px);max-height:calc(100dvh - 160px);padding:16px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 8px 24px #21143c18}.administration-attendance .attendance-filter-popover-panel label{flex-direction:column;gap:6px;min-width:0;max-width:100%;margin:0;display:flex}.attendance-filter-popover-panel .campus-date-picker{width:100%;max-width:100%}.attendance-filter-popover-panel::-webkit-scrollbar{display:none}.attendance-filter-popover-always .attendance-filter-popover-close{grid-column:1/-1;justify-self:end;display:block}@media (min-width:1101px){.administration-attendance .attendance-toolbar{flex-wrap:nowrap}}@media (max-width:1800px){.attendance-filter-popover{flex:none;display:block;position:relative}.attendance-filter-popover>.attendance-filter-popover-trigger{display:block}.attendance-filter-popover>.attendance-filter-popover-panel{z-index:60;scrollbar-width:none;box-sizing:border-box;border:1px solid var(--rule);background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(460px,100vw - 32px);max-height:calc(100dvh - 160px);padding:16px;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 8px 24px #21143c18}.attendance-filter-popover[data-open=true]>.attendance-filter-popover-panel{display:grid}.attendance-filter-popover .attendance-filter-popover-close{grid-column:1/-1;justify-self:end;display:block}}@media (max-width:1100px){.attendance-filter-popover>.attendance-filter-popover-panel{width:auto;max-height:calc(100dvh - 100px);position:fixed;inset:auto 16px 20px}}@media (max-width:600px){.administration-attendance .attendance-toolbar>label{flex:calc(50% - 8px);width:auto;min-width:0}.administration-attendance .attendance-toolbar.attendance-request-filters>.attendance-student-name,.administration-attendance .attendance-toolbar>.attendance-query-target{flex-basis:100%;min-width:0}.administration-attendance .attendance-toolbar>.attendance-scope-year,.administration-attendance .attendance-toolbar>.attendance-scope-cohort{flex:calc(50% - 8px)}.attendance-filter-popover>.attendance-filter-popover-panel{grid-template-columns:minmax(0,1fr)}}.administration-attendance .attendance-history-query{border:0;margin:0;padding:0}.administration-attendance .attendance-history-query .attendance-toolbar{flex-wrap:wrap;gap:6px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-mode{flex:0 0 90px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-scope-year,.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-scope-cohort{flex:0 0 110px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-grade{flex:0 0 60px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-name{flex:140px;min-width:140px;max-width:320px}@media (max-width:600px){.administration-attendance .attendance-history-query .attendance-toolbar>:is(.attendance-scope-year,.attendance-scope-cohort,.attendance-query-mode,.attendance-query-formation,.attendance-query-grade){flex:calc(50% - 6px);min-width:0;max-width:none}.administration-attendance .attendance-history-query .attendance-toolbar>:is(.attendance-query-name,.attendance-query-target){flex:100%;min-width:0;max-width:none}}.administration-attendance .attendance-toolbar{flex-wrap:wrap;gap:6px}.administration-attendance .attendance-toolbar>.attendance-scope-year{flex:0 0 140px}.administration-attendance .attendance-toolbar>.attendance-query-formation,.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-formation{flex:0 180px;min-width:100px;max-width:180px}.administration-attendance .attendance-toolbar>.attendance-query-grade,.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-grade{flex:0 0 100px}@media (max-width:600px){.administration-attendance .attendance-toolbar>:is(.attendance-scope-year,.attendance-query-formation,.attendance-query-grade),.administration-attendance .attendance-history-query .attendance-toolbar>:is(.attendance-query-formation,.attendance-query-grade){flex:calc(50% - 6px);min-width:0;max-width:none}}.student-attendance .attendance-toolbar{flex-wrap:wrap;align-items:end;gap:8px}.student-attendance .attendance-toolbar>label{flex:0 260px;min-width:150px}.student-attendance .attendance-toolbar select{width:100%}.student-attendance .attendance-student-secondary{margin-top:16px}.student-attendance-application{gap:12px;max-width:100%;display:grid}.student-attendance-application .attendance-proof{margin:0;padding-top:12px}.student-attendance-application label{flex-direction:column;gap:6px;display:flex}.attendance-application-context p{margin:4px 0}.student-attendance-application details button{margin:6px 0;display:block}.dashboard-dialog:has(.student-attendance-application){max-width:660px}.student-attendance .attendance-table table{min-width:640px}@media (max-width:600px){.student-attendance .attendance-toolbar>label{flex:100%;min-width:0}.student-attendance-application input,.student-attendance-application select{min-width:0;max-width:100%}}.attendance-register-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.attendance-workspace .attendance-register-heading h2{margin:0}.attendance-workspace .attendance-register-heading .attendance-history-button{white-space:nowrap;min-height:30px;padding:4px 8px;font-size:12px;font-weight:500}.student-attendance .attendance-student-range{color:var(--muted);margin:0 0 12px;font-size:13px}.student-attendance .attendance-toolbar .attendance-compact-status{flex:0 200px;min-width:140px}@media (max-width:600px){.student-attendance .attendance-toolbar .attendance-compact-status{flex:100%;min-width:0}}.attendance-workspace .attendance-detail-row>td{white-space:normal;background:#faf8fd;padding:16px}.attendance-inline-detail{min-width:0;position:relative}.attendance-inline-close{justify-content:flex-end;margin-bottom:6px;display:flex}.attendance-inline-close button{min-height:30px;padding:4px 10px}.attendance-detail-row .attendance-workspace,.attendance-detail-row .attendance-register{margin:0}.attendance-detail-row .attendance-register-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-detail-row .attendance-register-heading h2{margin:0}.attendance-inline-detail .attendance-table{max-width:100%}@media (max-width:700px){.attendance-workspace .attendance-detail-row>td{padding:10px}.attendance-detail-row .attendance-register-heading h2{font-size:18px}.attendance-session-list>table,.attendance-session-list>table>tbody{width:100%;min-width:0;display:block}.attendance-session-list>table>thead{display:none}.attendance-session-list>table>tbody>tr:not(.attendance-detail-row){border:1px solid var(--rule);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin-top:12px;padding:10px;display:grid}.attendance-session-list>table>tbody>tr>td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:5px;display:block}.attendance-session-list>table>tbody>tr:not(.attendance-detail-row)>td:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.attendance-session-list>table>tbody>.attendance-detail-row{border:1px solid var(--rule);border-top:0;border-radius:0 0 10px 10px;width:100%;display:block}.attendance-session-list>table>tbody>.attendance-detail-row>td{box-sizing:border-box;width:100%;display:block}.attendance-inline-detail{width:100%;min-width:0}.attendance-detail-row .attendance-register{min-width:0}.attendance-detail-row .attendance-table{scrollbar-width:none;overflow:auto}.attendance-detail-row .attendance-register input{box-sizing:border-box;max-width:100%}}.attendance-inline-detail .attendance-register-heading{flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 10px;display:flex}.attendance-inline-detail>.attendance-workspace{border-top:0;padding-top:0}.attendance-inline-detail .attendance-register-heading h2{flex:none;margin:0;font-size:20px;line-height:1.4}.attendance-register-counts{flex-wrap:wrap;flex:1;align-items:center;gap:4px 12px;min-width:180px;font-size:13px;display:flex}.attendance-register-counts>span{white-space:nowrap}.attendance-register-counts strong{color:var(--accent)}.attendance-register-states{max-width:48%;color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 12px;margin-left:auto;font-size:12px;display:flex}.attendance-register-states strong{color:var(--accent);font-weight:600}.attendance-inline-detail .attendance-register-toolbar{align-items:flex-end;gap:10px;margin:8px 0 12px}.attendance-inline-detail .attendance-register-toolbar label{flex:0 320px;gap:4px;min-width:0;max-width:320px;font-size:12px}.attendance-inline-detail .attendance-register-toolbar input{min-height:36px;padding:7px 10px}.attendance-inline-detail .attendance-register-toolbar button{min-height:36px;padding:7px 12px}.attendance-register-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.attendance-workspace .attendance-register-actions>button{border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:8px 12px;font-size:13px;line-height:20px;display:inline-flex}.attendance-workspace .attendance-session-list>table>tbody>tr:not(.attendance-detail-row)>td>button:not(.attendance-row-link),.attendance-workspace .attendance-sessions>article>button+button{white-space:normal;max-width:100%;min-height:36px;padding:6px 10px;font-size:13px;line-height:20px}.attendance-session-list>table>tbody>tr:not(.attendance-detail-row)>td>small+button{margin-top:10px;display:block}.attendance-workspace .attendance-sessions>article>button+button{width:auto;margin-top:10px}@media (pointer:coarse){.attendance-workspace .attendance-session-list>table>tbody>tr:not(.attendance-detail-row)>td>button:not(.attendance-row-link),.attendance-workspace .attendance-sessions>article>button+button,.attendance-workspace .attendance-register-actions>button{min-height:44px}}@media (max-width:700px){.attendance-inline-detail .attendance-register-heading{gap:6px 12px}.attendance-register-counts{flex:150px;gap:4px 8px;font-size:12px}.attendance-register-states{flex:100%;gap:4px 10px;max-width:100%;font-size:11px}.attendance-inline-detail .attendance-register-toolbar label{flex:180px}.attendance-register-actions>button{white-space:normal;max-width:100%}}.administration-attendance .attendance-history-query .attendance-toolbar{align-items:flex-end;gap:10px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-mode{flex:0 0 112px;min-width:112px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-scope-year{flex:0 0 138px;min-width:138px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-formation{flex:0 205px;min-width:205px;max-width:none}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-grade{flex:0 0 132px;min-width:132px}.administration-attendance .attendance-history-query .attendance-toolbar>.attendance-query-target{flex:220px;min-width:220px;max-width:360px}.administration-attendance .attendance-history-query .attendance-query-student{flex:180px;min-width:180px;max-width:260px}.attendance-history-query .attendance-search-select{margin-top:0}.attendance-history-query .attendance-search-select>label{margin-bottom:7px;font-size:13px;font-weight:500}.attendance-history-query .attendance-search-panel{z-index:60;box-sizing:border-box;width:max(100%,300px);max-width:calc(100vw - 32px);position:absolute;top:100%;right:0;box-shadow:0 8px 24px #21143c18}.attendance-history-query .attendance-toolbar>label{white-space:nowrap}@media (max-width:600px){.administration-attendance .attendance-history-query .attendance-toolbar>:is(.attendance-query-mode,.attendance-scope-year,.attendance-query-formation,.attendance-query-grade){flex:calc(50% - 10px);min-width:0;max-width:none}.administration-attendance .attendance-history-query .attendance-toolbar>:is(.attendance-query-student,.attendance-query-target){flex:100%;min-width:0;max-width:none}.attendance-history-query .attendance-search-panel{width:100%;max-width:100%}}.attendance-history-query .attendance-search-control{box-sizing:border-box;height:42px}.attendance-history-query .attendance-search-control input,.attendance-history-query .attendance-search-control .attendance-search-arrow{box-sizing:border-box;height:100%;min-height:0}.attendance-minute-heading{white-space:nowrap}.attendance-minute-control{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:4px;display:flex}.attendance-minute-control input[type=number]{box-sizing:border-box;appearance:auto;width:88px;min-width:88px}.attendance-minute-control input[type=number]::-webkit-inner-spin-button{opacity:1;appearance:auto}.attendance-workspace .attendance-minute-control .attendance-minute-presets{box-sizing:border-box;width:36px;min-width:36px;max-width:36px;padding:9px 4px}.attendance-import-dialog{box-sizing:border-box;border:1px solid var(--rule);border-radius:18px;width:min(1250px,100vw - 32px);max-height:calc(100dvh - 32px);padding:20px;overflow:auto}.attendance-import-dialog::backdrop{background:#21143c66}.attendance-import-dialog header,.attendance-import-dialog footer,.attendance-import-dialog nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-import-mapping{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.attendance-import-dialog label{flex-direction:column;gap:6px;min-width:0;display:flex}.attendance-import-dialog input,.attendance-import-dialog select{box-sizing:border-box;min-width:0;max-width:100%}.attendance-import-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto}.attendance-import-rows article{border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:12px;margin:14px 0;padding:14px}.attendance-import-checks{flex-wrap:wrap;gap:14px;display:flex}.attendance-import-checks label,.attendance-import-rows header label{flex-direction:row;align-items:center}.attendance-import-dialog input[type=checkbox]{flex-shrink:0;width:18px;min-height:18px}.attendance-import-sources{flex-wrap:wrap;gap:16px;display:flex}.attendance-import-dialog footer{border-top:1px solid var(--rule);margin-top:20px;padding-top:16px}@media (max-width:900px){.attendance-import-mapping{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.attendance-import-dialog{padding:12px}.attendance-import-mapping{grid-template-columns:1fr}}.attendance-exit-dialog{box-sizing:border-box;border:1px solid var(--rule);background:var(--paper,#fff);width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);scrollbar-width:none;border-radius:16px;margin:auto;padding:24px;position:fixed;inset:0;overflow:auto;box-shadow:0 18px 60px #21113e26}.attendance-exit-dialog::backdrop{background:#21113e55}.attendance-exit-dialog h2{margin:0 0 12px;font-size:20px}.attendance-exit-dialog p{line-height:1.6}.attendance-exit-dialog>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.attendance-exit-dialog button{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:8px;padding:8px 12px}.attendance-import-dialog{color:var(--ink,#21143c);scrollbar-width:none;padding:24px}.attendance-import-dialog::-webkit-scrollbar{display:none}.attendance-import-dialog pre::-webkit-scrollbar{display:none}.attendance-import-dialog>header,.attendance-import-rows article>header{border:0;border-bottom:1px solid var(--rule);width:auto;min-height:0;box-shadow:none;background:0 0;margin:0 0 16px;padding:0 0 14px;position:static;inset:auto}.attendance-import-dialog>header h2{margin:0;font-size:22px}.attendance-import-dialog>header button{flex:none}.attendance-import-upload{gap:18px;display:grid}.attendance-import-hint{color:var(--muted,#655b75);margin:0 0 14px;font-size:14px;line-height:1.6}.attendance-import-file-picker{border:1px dashed var(--rule);background:#faf8fd;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:18px;display:flex}.attendance-import-file-picker>span{overflow-wrap:anywhere;flex:1;min-width:160px;font-size:14px}.attendance-import-dialog .attendance-import-file-button{border:1px solid var(--rule);color:var(--ink,#21143c);cursor:pointer;background:#fff;border-radius:9px;flex-direction:row;justify-content:center;align-items:center;padding:10px 14px;display:inline-flex;position:relative}.attendance-import-dialog .attendance-import-file-button input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.attendance-import-file-button:focus-within{outline-offset:2px;outline:2px solid #582d90}.attendance-import-upload-actions{justify-content:flex-end;display:flex}.attendance-import-pdf input{max-width:260px;margin-top:8px}.attendance-import-history{border-top:1px solid var(--rule);padding-top:16px}.attendance-import-history>div{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.attendance-import-dialog summary{cursor:pointer;color:#582d90;padding:8px 0;font-size:14px}.attendance-import-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 12px;display:flex}.attendance-import-toolbar>span{margin-left:auto;font-size:14px}.attendance-import-dialog label.attendance-import-inline-check{flex-direction:row;align-items:center;gap:8px;display:flex}.attendance-import-dialog input[type=checkbox]{accent-color:#582d90;width:16px;height:16px;min-height:16px;margin:0}.attendance-import-rows article{margin:12px 0;padding:16px}.attendance-import-rows article>header{gap:10px;margin-bottom:8px;padding:0 0 10px}.attendance-import-rows article>header label{flex:1;gap:10px}.attendance-import-rows article>header small{color:var(--muted,#655b75);margin-top:3px;font-size:12px;font-weight:400;display:block}.attendance-import-rows article>header strong{white-space:nowrap;background:#f2edf8;border-radius:6px;padding:4px 8px;font-size:12px}.attendance-import-dialog .attendance-import-primary-fields{grid-template-columns:1.2fr 1fr 1.8fr .7fr .7fr .9fr;gap:10px;margin:10px 0}.attendance-import-dialog .attendance-import-mapping label{font-size:13px;font-weight:600}.attendance-import-dialog .attendance-import-mapping input,.attendance-import-dialog .attendance-import-mapping select{width:100%;min-height:38px;padding:8px 10px;font-size:14px;font-weight:400}.attendance-import-checks{margin-top:12px;font-size:13px}.attendance-import-dialog footer{background:0 0;min-height:0;padding:16px 0 0;position:static}@media (max-width:1000px){.attendance-import-dialog .attendance-import-primary-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.attendance-import-dialog{padding:14px}.attendance-import-dialog .attendance-import-primary-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-import-toolbar>span{margin-left:0}.attendance-import-dialog>header h2{font-size:19px}}.attendance-import-existing{border:1px solid var(--rule);background:var(--lavender);overflow-wrap:anywhere;border-radius:10px;margin-top:12px;padding:12px 14px}.attendance-import-existing p{margin:4px 0 8px}.attendance-import-existing .attendance-import-inline-check{white-space:normal;margin-top:10px}.attendance-import-dialog input:is([type=date],[type=time]){box-sizing:border-box;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:100%;min-width:0}.attendance-import-dialog input:is([type=date],[type=time])::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;display:block}.attendance-import-toolbar button{white-space:normal;max-width:100%}@media (min-width:1001px){.attendance-import-dialog .attendance-import-primary-fields{grid-template-columns:1.2fr minmax(150px,1fr) 1.8fr minmax(110px,.8fr) minmax(110px,.8fr) minmax(125px,1fr)}}@media (max-width:420px){.attendance-import-dialog .attendance-import-primary-fields{grid-template-columns:1fr}}.attendance-register>.attendance-table>table>tbody>tr>td{vertical-align:top}.attendance-register .student-name-with-photo,.attendance-register-number{align-items:center;min-height:44px;display:flex}.attendance-register>.attendance-table>table>tbody>tr>td :is(input:not([type=checkbox]),select){box-sizing:border-box;height:44px;min-height:44px}.attendance-register>.attendance-table>table>tbody>tr>td>small{margin-top:6px;line-height:1.4}.student-attendance-page>.student-attendance{border-top:0;margin-top:0;padding-top:0}.student-course-picker-results .student-course-option>button{text-align:left;grid-template-columns:minmax(0,1fr) 210px 160px 95px;align-items:center;gap:12px;display:grid}.student-course-picker-results .student-course-option>button>strong,.student-course-picker-results .student-course-option>button>span{overflow-wrap:anywhere;min-width:0}.student-course-picker-results .student-course-option>button>span:first-of-type{white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width:1000px){.student-course-picker-results .student-course-option>button{grid-template-columns:minmax(0,1fr) 210px}.student-course-picker-results .student-course-option>button>span:last-child{text-align:right}}@media (max-width:600px){.student-course-picker-results .student-course-option>button{grid-template-columns:minmax(0,1fr)}.student-course-picker-results .student-course-option>button>span:last-child{text-align:left}}
.document-center{min-width:0}.document-center p{font-size:14px;line-height:1.6}.document-center h2{margin:0 0 12px;font-size:23px;font-weight:700}.document-center h3{font-weight:700}.document-intro{color:var(--muted)}.document-center button,.document-center input,.document-center select{font:inherit;border:1px solid var(--rule);border-radius:var(--radius-control,8px);min-height:42px;color:var(--ink);background:#fff;padding:10px 12px;font-size:14px}.document-center button,.document-center label,.document-center th{font-weight:700}.document-center input,.document-center select{font-weight:400}.document-center button{cursor:pointer}.document-center button:disabled{cursor:not-allowed;opacity:.6}.document-center section{margin-top:28px}.document-upload{border:1px solid var(--rule);border-radius:16px;grid-template-columns:minmax(200px,1fr) minmax(360px,1.6fr);gap:32px;padding:24px;display:grid}.document-number{color:var(--accent);letter-spacing:.1em;margin-bottom:14px;font-size:12px;display:block}.document-upload label{flex-direction:column;gap:8px;font-size:13px;display:flex}.document-form-row{grid-template-columns:1fr 1.6fr;gap:14px;margin:18px 0;display:grid}.document-center .document-primary{color:#fff;background:var(--accent);border-color:var(--accent)}.document-center progress{width:100%;accent-color:var(--accent);margin-top:16px;display:block}.document-feedback{border:1px solid var(--rule);background:var(--lavender);border-radius:10px;padding:14px}.document-feedback.error{color:#8c203b;background:#fff7f8;border-color:#e8b5c0}.document-list-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.document-list-heading span{color:var(--muted);font-size:13px}.document-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.document-toolbar label{flex-direction:column;gap:8px;min-width:160px;font-size:13px;display:flex}.document-table{border:1px solid var(--rule);border-radius:12px;overflow-x:auto}.document-table table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.document-table th,.document-table td{border-bottom:1px solid var(--rule);padding:14px 12px}.document-table th{background:#f8f6fc}.document-table td:first-child{overflow-wrap:anywhere;max-width:240px}.document-status{border:1px solid var(--rule);border-radius:7px;padding:5px 8px;font-size:12px}.document-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.document-actions button{min-height:36px;padding:7px 9px;font-size:12px}.document-actions a{font-size:12px}.document-empty{border:1px solid var(--rule);border-radius:12px;padding:24px}.document-pagination{align-items:center;gap:16px;margin-top:16px;display:flex}.document-detail{border:1px solid var(--rule);border-radius:12px;padding:24px}.document-detail dl{grid-template-columns:160px minmax(0,1fr);gap:12px;font-size:14px;display:grid}.document-detail dt{font-weight:700}.document-detail dd{overflow-wrap:anywhere;margin:0}.document-checksum{font-family:monospace;font-size:12px}@media (max-width:1100px){.document-upload{grid-template-columns:1fr;gap:20px}}.document-upload form{gap:16px;min-width:0;display:grid}.document-list-heading h1{margin:0;font-size:clamp(32px,4vw,48px)}.document-table small{color:var(--muted);display:block}.document-center input[type=file]{width:100%;min-width:0}.official-records{border-top:1px solid var(--rule);margin-top:24px;padding-top:16px}.official-records .request-files{gap:12px;padding:0;list-style:none;display:grid}.official-records .request-files li{border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:10px;padding:16px}.official-records label{gap:8px;display:grid}.official-records .request-fields{gap:16px;display:grid}@media (max-width:700px){.document-list-heading{flex-direction:column;align-items:stretch}.document-upload{grid-template-columns:minmax(0,1fr);padding:16px}.document-detail dl{grid-template-columns:1fr}.document-center button{min-height:44px}.official-records .request-fields{grid-template-columns:1fr}}
.campus-date-picker{position:relative}.campus-date-field{border:1px solid var(--rule);background:#fff;border-radius:11px;align-items:center;display:flex;overflow:hidden}.campus-date-picker .campus-date-field input{background:0 0;border:0;border-radius:0;flex:1;width:100%;min-width:0;min-height:44px;padding:11px 12px}.campus-date-picker .campus-date-field button{width:40px;min-width:40px;min-height:40px;color:var(--accent);box-shadow:none;background:0 0;flex:none;align-self:stretch;place-items:center;margin:0;padding:8px;display:grid;border:0!important;border-radius:0!important}.campus-date-picker .campus-date-field button:hover{background:var(--lavender,#f2edf9)}.campus-date-field button svg{flex:none;display:block}.campus-date-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.campus-date-field:has(input:disabled){opacity:.6}.campus-date-error{white-space:nowrap;color:#8c203b;font-size:11px;position:absolute;top:100%;left:0}.planning-date-nav .campus-date-picker{width:160px}.planning-year-select select{appearance:none;background-image:none}
dialog.exam-calendar.campus-shared-calendar{color:#24163c;scrollbar-width:none;background:#fff;border:1px solid #e9e4ef;border-radius:18px;width:340px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 24px);margin:auto;padding:22px;font-family:inherit;position:fixed;inset:0;overflow:auto;box-shadow:0 18px 70px #11182724}.campus-shared-calendar .calendar-caption{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.campus-shared-calendar .calendar-caption>span{letter-spacing:1.4px;color:#8b7b98;font-size:9px}.campus-shared-calendar .calendar-month{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.campus-shared-calendar .calendar-month h2{text-transform:capitalize;letter-spacing:0;margin:0;font-size:16px;font-weight:600}.campus-shared-calendar .calendar-month button{background:0 0;border:0;padding:2px 12px;font-size:23px}.campus-shared-calendar .calendar-week,.campus-shared-calendar .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.campus-shared-calendar .calendar-week{color:#97899f;text-align:center;margin-bottom:10px;font-size:10px}.campus-shared-calendar .calendar-days button{color:#45374e;background:0 0;border:0;border-radius:50%;height:36px;padding:0;font-size:12px;font-weight:400}.campus-shared-calendar .calendar-days button:hover{background:#f0eaf7}.campus-shared-calendar .calendar-days button.today{box-shadow:inset 0 0 0 1px #c8b5dc}.campus-shared-calendar .calendar-days button.selected{color:#fff;background:#4b3286;font-weight:600}.campus-shared-calendar .calendar-footer{border-top:1px solid #eee8f3;justify-content:space-between;margin-top:18px;padding-top:13px;display:flex}.campus-shared-calendar .calendar-footer button{background:0 0;border:0;padding:7px;font-size:11px}.campus-shared-calendar::backdrop{background:#21153866}.campus-shared-calendar::-webkit-scrollbar{display:none}.campus-shared-calendar.campus-shared-calendar button{min-width:0;min-height:0;box-shadow:none;cursor:pointer;margin:0;font-family:inherit;line-height:1.25}.campus-shared-calendar.campus-shared-calendar button:disabled{opacity:.35;cursor:not-allowed}.campus-shared-calendar .calendar-caption .close{color:inherit;background:0 0;border:0;padding:4px 8px;font-size:14px}.campus-shared-calendar .calendar-month h2 button{font:inherit;text-transform:capitalize;padding:4px}.campus-shared-calendar .calendar-quick{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.campus-shared-calendar .calendar-quick label{gap:5px;font-size:12px;display:grid}.campus-shared-calendar .calendar-quick select{width:100%;min-width:0;color:inherit;font:inherit;background:#fff;border:1px solid #ded4ec;border-radius:8px;padding:7px}.campus-shared-calendar :is(button,select):focus-visible{outline-offset:2px;outline:2px solid #542c88}.campus-shared-calendar .calendar-days button:not(:disabled):hover{background:#f0eaf7}.campus-shared-calendar .calendar-days button.selected:hover{background:#4b3286}@media (max-width:390px){dialog.exam-calendar.campus-shared-calendar{max-width:calc(100vw - 24px);padding:16px}}
.campus-content{--campus-title-size:clamp(24px, 2vw, 28px)}.campus-shell .campus-topbar{flex-wrap:nowrap}.campus-topbar .current-page{flex:1;min-width:0}.campus-topbar .current-page strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:1050px){.administration-language span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@media (max-width:700px){.campus-shell .campus-topbar{flex-wrap:wrap}.campus-content:has(.planning-workspace){padding-inline:16px}}.campus-content>:is(.academic-workspace,.notifications,.course-spaces,.room-workspace){max-width:none;margin-inline:0;padding:0}.campus-content .campus-module-header{text-align:left;border:0;align-items:flex-start;min-height:0;margin:0 0 20px;padding:0}.campus-content .campus-module-header h1{font-size:var(--campus-title-size);letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.07}.campus-content .campus-module-header p{color:var(--muted);margin:16px 0;font-size:16px;line-height:1.6}.campus-content .campus-module-header .eyebrow{display:none}.campus-content .formation-management .academic-heading h1,.campus-content .planning-workspace .planning-heading h1,.campus-content .attendance-workspace .campus-page-header h1{font-size:var(--campus-title-size);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.07}.campus-content .campus-module-header:before{content:none}.campus-content .campus-module-header>div:has(>h1):before{content:none}.campus-content :is(.campus-module-header,.campus-page-header,.academic-heading){text-align:left;justify-content:flex-start}.campus-content :is(.campus-module-header,.campus-page-header,.academic-heading)>h1{text-align:left;flex:1;justify-self:start;min-width:0;margin-inline:0}@media (min-width:1051px) and (max-width:1366px){.campus-content:has(.planning-workspace){padding-inline:36px}}.campus-module-header h1+p,.campus-page-header h1+p{display:none}.profile-dossier-link{color:var(--accent);text-underline-offset:4px;font-weight:600;text-decoration:none}.profile-dossier-link:hover{text-decoration:underline}.profile-dossier-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}.profile-dossier-row{cursor:pointer}.profile-dossier-row:hover{background:#faf9fc}.campus-content .campus-page-header h1{font-size:var(--campus-title-size);letter-spacing:-.03em;margin:0;line-height:1.2}.campus-select-popup .campus-select-title{display:none!important}
