:root{font-family:"Noto Sans","Segoe UI",Arial,sans-serif;color:#17232d;background:#f4f7f6;font-synthesis:none;--blue:#07558f;--blue-dark:#063f66;--green:#007a3d;--green-dark:#006632;--text:#17232d;--muted:#60717a;--line:#d9e3e3;--surface:#fff;--focus:#a8d4ee}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#f4f7f6;color:var(--text)}
button,input{font:inherit}
button{touch-action:manipulation}
.page-shell{min-height:100vh}
.guest-language{position:fixed;z-index:10;inset-block-start:22px;inset-inline-end:clamp(20px,4vw,56px)}
.language-form{margin:0}
.language-button{min-height:44px;display:inline-flex;align-items:center;gap:9px;border:1px solid #c5d3d7;background:rgba(255,255,255,.96);color:var(--blue-dark);border-radius:12px;padding:8px 13px;font-weight:750;cursor:pointer;box-shadow:0 5px 18px rgba(6,63,102,.06)}
.language-button span:first-child{display:grid;place-items:center;min-width:28px;height:28px;border-radius:8px;background:#e9f2f7;font-size:.72rem}
.language-button:hover{border-color:#88aebf;background:#fff}
.language-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}
.institution-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:34px;padding:clamp(56px,7vw,104px);color:#fff;background:linear-gradient(150deg,var(--blue-dark),var(--blue) 62%,#08765a)}
.institution-panel::after{content:"";position:absolute;width:360px;height:360px;border:80px solid rgba(255,255,255,.055);border-radius:50%;inset-inline-end:-180px;inset-block-end:-175px}
.brand-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:22px;width:min(100%,430px);padding:22px;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(0,28,48,.24)}
.brand-lockup img{display:block;object-fit:contain;flex:none}
.majaalis-logo{width:min(57%,210px);aspect-ratio:977/804}
.ccak-logo{width:min(31%,125px);height:auto;object-fit:contain}
.brand-divider{align-self:stretch;width:1px;background:#dce4e7}
.institution-copy{position:relative;z-index:1;max-width:520px}
.eyebrow{margin:0 0 10px;color:var(--green);font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.institution-panel .eyebrow{color:#a8e0c3}
.institution-copy h1{margin:0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1}
.institution-copy p:last-child{max-width:420px;margin:18px 0 0;color:#dcecf4;font-size:1.05rem;line-height:1.7}
.auth-card{align-self:center;width:min(calc(100% - 48px),510px);margin-inline:auto;padding:clamp(34px,5vw,58px);background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:0 28px 80px rgba(14,48,66,.12)}
.mobile-brand{display:none}
.auth-card h2,.home-card h1{margin:0;color:var(--blue-dark);font-size:clamp(2rem,4vw,3rem);line-height:1.12}
.intro{color:var(--muted);line-height:1.65;margin:14px 0 28px}
.form-stack{display:grid;gap:19px}
.form-stack label{display:grid;gap:8px;color:#243943;font-weight:750}
.form-stack input{width:100%;min-height:50px;border:1px solid #b9c9cf;border-radius:12px;padding:12px 14px;background:#fcfdfd;color:var(--text)}
.password-field{position:relative;display:block}.password-field input{padding-inline-end:92px}.password-toggle{position:absolute;inset-block:5px;inset-inline-end:5px;min-width:78px;border:0;border-radius:9px;background:#e9f2f7;color:var(--blue-dark);font-size:.82rem;font-weight:800;cursor:pointer}.password-toggle:hover{background:#dcecf4}.password-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.form-stack input:hover{border-color:#8da9b4}
.form-stack input:focus{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.primary-button,.secondary-button{min-height:50px;border-radius:12px;padding:12px 18px;font-weight:850;cursor:pointer;transition:background .18s ease,transform .18s ease}
.primary-button{border:1px solid var(--green);background:var(--green);color:#fff}
.primary-button:hover{border-color:var(--green-dark);background:var(--green-dark)}
.primary-button:active,.secondary-button:active{transform:translateY(1px)}
button:disabled{cursor:wait;opacity:.75}
.session-note{display:flex;align-items:center;gap:8px;margin:20px 0 0;color:#66777f;font-size:.86rem}
.alert{display:flex;align-items:flex-start;gap:11px;border:1px solid;border-radius:12px;padding:12px 14px;margin:0 0 20px;line-height:1.45}
.alert>span{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:50%;font-weight:900}
.alert p{margin:0}
.alert.error{border-color:#f1b8b2;background:#fff3f1;color:#8f2d25}
.alert.error>span{background:#b42318;color:#fff}
.alert.success{border-color:#a8dac1;background:#edf9f3;color:#09683a}
.alert.success>span{background:#087a45;color:#fff}
.site-header{height:84px;padding:0 clamp(20px,4vw,60px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.header-brand{display:flex;align-items:center;gap:12px;color:var(--blue-dark);text-decoration:none}
.header-brand img{width:48px;height:48px;object-fit:contain}
.header-brand span{display:grid}
.header-brand strong{font-size:1.05rem}
.header-brand small{color:var(--muted);font-size:.75rem}
.header-actions{display:flex;align-items:center;gap:18px}
.header-separator{width:1px;height:36px;background:var(--line)}
.user-summary{display:grid;text-align:end}
.user-summary strong{font-size:.9rem}
.user-summary span{margin-top:3px;color:var(--muted);font-size:.76rem}
.authenticated-layout .page-shell{min-height:calc(100vh - 84px);padding:clamp(24px,5vw,64px)}
.home-shell{width:min(100%,1120px);margin:auto;display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:start}
.navigation-rail,.home-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(14,48,66,.08)}
.navigation-rail{padding:22px}
.brand-lockup--compact{width:100%;gap:12px;padding:12px;border-radius:14px;box-shadow:none}
.brand-lockup--compact .majaalis-logo{width:58%}
.brand-lockup--compact .ccak-logo{width:29%}
.home-card{padding:clamp(30px,5vw,52px)}
.welcome-block{padding-bottom:28px;border-bottom:1px solid var(--line)}
.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}
.identity-grid div{min-width:0;padding:17px;border:1px solid #e1e9e9;border-radius:14px;background:#f7faf9}
.identity-grid dt{font-size:.76rem;color:var(--muted)}
.identity-grid dd{overflow-wrap:anywhere;margin:7px 0 0;color:#183845;font-weight:850}
.logout-form{display:flex;justify-content:flex-end}
.secondary-button{border:1px solid #9db3bd;background:#fff;color:var(--blue-dark)}
.secondary-button:hover{border-color:var(--blue);background:#eef6fa}
[dir=rtl] body{font-family:"Noto Sans Arabic",Tahoma,"Segoe UI",Arial,sans-serif}
[dir=rtl] .eyebrow{letter-spacing:0;text-transform:none}
[dir=rtl] .user-summary{text-align:start}
@media(max-width:820px){.login-shell{grid-template-columns:1fr}
.institution-panel{display:none}
.guest-language{inset-block-start:14px;inset-inline-end:14px}
.auth-card{width:min(calc(100% - 28px),510px);margin-block:74px 24px;padding:28px 22px;border-radius:22px}
.mobile-brand{display:block;margin:0 0 24px;padding-inline-end:100px}
.mobile-brand .brand-lockup{max-width:220px;padding:8px;gap:9px;border:1px solid var(--line);border-radius:12px;box-shadow:none}
.auth-card h2{font-size:2rem}
.site-header{height:72px;padding:0 14px}
.header-brand img{width:42px;height:42px}
.header-brand small,.user-summary{display:none}
.header-actions{gap:10px}
.header-separator{display:none}
.authenticated-layout .page-shell{min-height:calc(100vh - 72px);padding:18px 14px}
.home-shell{grid-template-columns:1fr;gap:14px}
.navigation-rail{padding:9px;width:150px}
.home-card{padding:26px 20px}
.identity-grid{grid-template-columns:1fr}
.logout-form,.secondary-button{width:100%}
}
@media(max-width:390px){.language-button{min-height:42px;padding:6px 9px}
.language-button span:last-child{font-size:.85rem}
.auth-card{margin-block-start:68px;padding:22px 17px}
.mobile-brand{margin-bottom:18px}
.mobile-brand .brand-lockup{max-width:170px}
.mobile-brand .brand-lockup--compact .majaalis-logo{width:56%}
.form-stack input,.primary-button{min-height:48px}
.navigation-rail{width:132px}
.home-card h1{font-size:1.78rem}
}
.main-nav{display:flex;gap:8px}.main-nav a,.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.main-nav a{min-height:44px;padding:8px 12px;border-radius:10px;color:var(--blue-dark);font-weight:750}.main-nav a.active,.main-nav a:hover{background:#e9f2f7}.global-alert{width:min(100%,1120px);margin:0 auto 18px}.content-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:clamp(24px,4vw,44px);box-shadow:0 18px 55px rgba(14,48,66,.08)}.wide-card{width:min(100%,1120px);margin:auto}.content-card h1,.content-card h2{color:var(--blue-dark)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin:28px 0}.filter-grid label{display:grid;gap:6px;font-weight:750}input,select{min-height:48px;border:1px solid #b9c9cf;border-radius:12px;padding:10px 12px;background:#fff;color:var(--text)}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:start;padding:14px;border-bottom:1px solid var(--line)}.status{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:750}.status.on{color:#09683a;background:#edf9f3}.status.off{color:#8f2d25;background:#fff3f1}.text-link{display:inline-block;margin-top:16px;color:var(--blue);font-weight:750}.content-grid{width:min(100%,1120px);margin:auto;display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.temporary-secret{margin:18px 0;padding:16px;border:1px solid #e1c269;border-radius:12px;background:#fff9e8}.temporary-secret code{display:block;margin:10px 0;font-size:1.15rem;direction:ltr}.danger-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.audit-list{padding-inline-start:22px}.audit-list li{margin-bottom:14px}.audit-list span{display:block;color:var(--muted);font-size:.85rem}.standalone-auth{margin:10vh auto}.form-stack select{width:100%}
@media(max-width:900px){.site-header{height:auto;min-height:72px;flex-wrap:wrap;padding-block:10px}.header-actions{min-width:0;width:calc(100% - 62px);flex-wrap:wrap;justify-content:flex-end}.main-nav{order:3;width:100%;min-width:0;overflow-x:auto}.content-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.authenticated-layout .page-shell{min-height:calc(100vh - 120px)}}
@media(max-width:600px){.filter-grid{grid-template-columns:1fr}.page-heading{align-items:stretch;flex-direction:column}.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block}.responsive-table thead{display:none}.responsive-table tr{padding:12px 0;border-bottom:1px solid var(--line)}.responsive-table td{border:0;padding:6px 0}.responsive-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:.75rem}.content-card{padding:22px 17px}.main-nav a{white-space:nowrap}.header-brand span{display:none}}

.narrow-card{width:min(100%,680px);margin:auto}.year-list,.history-list{display:grid;gap:12px;margin-top:24px}.year-row,.history-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;color:var(--text);text-decoration:none}.year-row span:nth-child(2),.history-list p{color:var(--muted)}.status.preparation{background:#fff7df;color:#775600}.status.active{background:#edf9f3;color:#09683a}.status.closed{background:#edf1f3;color:#52636c}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.level-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.level-card header{display:flex;justify-content:space-between;gap:10px}.level-card h2{margin:0;color:var(--blue-dark)}.level-card ul{list-style:none;padding:0;margin:15px 0 0}.level-card li a{display:grid;padding:11px;border-top:1px solid var(--line);color:var(--blue-dark);text-decoration:none}.level-card small{color:var(--muted);margin-top:4px}.warning{color:#775600;background:#fff7df;padding:9px;border-radius:9px}.button-group,.state-actions{display:flex;flex-wrap:wrap;gap:10px}.state-actions{margin-top:20px}.inline-reopen{display:flex;gap:8px}.selection-list{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;padding:16px}.selection-list label{display:flex;align-items:center;gap:10px}.selection-list input{min-height:auto;width:20px;height:20px}.form-stack textarea{min-height:110px;border:1px solid #b9c9cf;border-radius:12px;padding:12px;font:inherit}
@media(max-width:800px){.level-grid{grid-template-columns:1fr 1fr}.year-row,.history-list article{align-items:flex-start;flex-direction:column}.inline-reopen{width:100%;flex-direction:column}}@media(max-width:480px){.level-grid{grid-template-columns:1fr}}

.student-filter{grid-template-columns:minmax(0,1fr) auto}.student-filter small,.responsive-table small{display:block;color:var(--muted);margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-stack fieldset{border:1px solid var(--line);border-radius:14px;padding:16px}.form-stack legend{padding:0 8px;color:var(--blue-dark);font-weight:850}.checkbox-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.checkbox-line input{width:20px!important;min-height:20px!important}.student-page{display:grid;gap:20px}.student-details{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.student-details div,.private-block{padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8faf9}.student-details dt{color:var(--muted);font-size:.78rem}.student-details dd{margin:7px 0 0;font-weight:800;overflow-wrap:anywhere}.private-block h2{margin:0 0 8px;font-size:1rem}.private-block p{margin:0}.action-panel{border:1px solid var(--line);border-radius:13px;padding:12px;margin-top:14px}.action-panel summary{cursor:pointer;color:var(--blue-dark);font-weight:850;min-height:32px}.compact-form{margin-top:14px}.section-gap{margin-top:0}.enrollment-list{display:grid;gap:16px}.enrollment-card{border:1px solid var(--line);border-radius:16px;padding:18px}.enrollment-card header{display:flex;justify-content:space-between;gap:12px}.enrollment-card header>div{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.period-list{display:grid;gap:10px;padding-inline-start:22px}.period-list li span,.period-list li small{display:block;color:var(--muted);margin-top:4px}.movement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.class-count{color:var(--green);font-size:.82rem;font-weight:800}
@media(max-width:700px){.form-grid,.student-details,.movement-grid{grid-template-columns:1fr}.enrollment-card{padding:14px}.enrollment-card header{flex-direction:column}.student-page .button-group{width:100%;display:grid}.student-filter{grid-template-columns:1fr}.student-page details .secondary-button{width:100%}}
@media(max-width:700px){.student-page summary,.responsive-table .text-link{min-height:44px;display:flex;align-items:center}.student-page a{min-height:44px}}
.component-chip{display:inline-flex;margin:3px;padding:5px 9px;border-radius:999px;background:#e9f2f7;color:var(--blue-dark);font-size:.82rem}.component-editor{display:grid;gap:12px}.component-row{display:grid;grid-template-columns:.7fr 1fr 1fr .55fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:13px}.component-row label,.program-add label,.responsibility-form label{display:grid;gap:6px;font-weight:750}.component-row .secondary-button{min-height:48px}.program-page{display:grid;gap:18px}.program-add{grid-template-columns:2fr 1fr auto;align-items:end}.program-add small{color:var(--muted);font-weight:400}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.subject-program header{display:flex;justify-content:space-between;gap:12px}.subject-program h2{margin:0}.coefficient{height:max-content;padding:7px 10px;border-radius:999px;background:#edf9f3;color:#09683a;font-weight:800}.component-assignment{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.component-assignment h3{margin:0 0 10px;color:var(--blue-dark)}.component-assignment h3 span,.component-assignment small,.responsibility-list small{display:block;color:var(--muted);font-size:.8rem}.component-assignment p,.responsibility-list p{padding:10px;border-radius:10px;background:#f7faf9}.responsibility-form{grid-template-columns:1fr 1fr 1fr 1.3fr auto;align-items:end}.responsibilities{margin-top:0}
@media(max-width:900px){.component-row{grid-template-columns:1fr 1fr}.program-grid{grid-template-columns:1fr}.responsibility-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.component-row,.program-add,.responsibility-form{grid-template-columns:1fr}.component-row .secondary-button,.program-add .primary-button,.responsibility-form .secondary-button{width:100%}.subject-program header{flex-direction:column}.program-page details summary{min-height:44px;display:flex;align-items:center}}
.assigned-classes{margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:14px}.assigned-classes h2{margin-top:0}.assigned-classes a{display:inline-grid;gap:3px;min-height:52px;margin:4px;padding:8px 12px;border-radius:10px;background:#eef6fa;color:var(--blue-dark);text-decoration:none}.assigned-classes small{color:var(--muted)}
.coefficient-form{display:flex;gap:8px;align-items:end;margin:14px 0}.coefficient-form label{display:grid;gap:5px;font-weight:750}.coefficient-form input{width:130px}.coefficient-form .secondary-button{min-height:48px}
@media(max-width:600px){.coefficient-form{display:grid}.coefficient-form input,.coefficient-form .secondary-button{width:100%}}
.evaluation-page{display:grid;gap:18px}.semester-cards,.evaluation-list,.exam-list{display:grid;gap:14px}.semester-form,.evaluation-card,.exam-list article{padding:16px;border:1px solid var(--line);border-radius:14px}.semester-form h3{margin-top:0}.evaluation-class-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.evaluation-class-list label{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:10px}.evaluation-class-list input{width:20px;min-height:20px}.component-date-group{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.component-date-group label{display:grid;gap:6px}.evaluation-card header,.exam-list article{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.evaluation-card header div{display:grid}.evaluation-card header small,.exam-list small{color:var(--muted)}.evaluation-card ul{padding-inline-start:22px}.status.programmee{background:#edf9f3;color:#09683a}.status.brouillon{background:#fff7df;color:#775600}.status.annulee{background:#fff3f1;color:#8f2d25}.exam-form{grid-template-columns:repeat(4,1fr)}.exam-list article form{display:flex;gap:8px}.exam-list article small{display:block}
@media(max-width:800px){.evaluation-class-list,.component-date-group,.exam-form{grid-template-columns:1fr 1fr}.evaluation-card header,.exam-list article{flex-direction:column}.exam-list article form{width:100%;flex-direction:column}}
@media(max-width:480px){.evaluation-class-list,.component-date-group,.exam-form{grid-template-columns:1fr}.evaluation-card details .secondary-button,.exam-list button{width:100%}}
.evaluation-page .action-panel summary{min-height:44px;display:flex;align-items:center}
.exam-management .action-panel summary{min-height:44px;display:flex;align-items:center}
.evaluation-page{width:min(100%,1180px);margin-inline:auto}.evaluation-heading{display:grid;gap:24px}.evaluation-heading .page-heading{align-items:center}.year-selector{display:grid;grid-template-columns:auto minmax(220px,340px);align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--line)}.year-selector label{font-weight:800;color:var(--blue-dark)}.content-tabs{display:flex;gap:8px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow-x:auto}.content-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 16px;border-radius:11px;color:var(--blue-dark);font-weight:800;text-decoration:none;white-space:nowrap}.content-tabs a.active{background:var(--blue-dark);color:#fff}.tab-panel{display:grid;gap:22px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-heading h2{margin:0}.section-heading p{margin:7px 0 0;color:var(--muted)}.count-badge{display:grid;place-items:center;min-width:38px;height:38px;border-radius:999px;background:#e9f2f7;color:var(--blue-dark);font-weight:850}.evaluation-desktop table{width:100%;border-collapse:collapse}.evaluation-desktop th{padding:12px 10px;border-bottom:2px solid var(--line);color:var(--muted);font-size:.76rem;text-align:start;text-transform:uppercase;letter-spacing:.03em}.evaluation-desktop td{padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top}.evaluation-desktop tr:last-child td{border-bottom:0}.date-stack{display:grid;gap:4px;min-width:150px;font-size:.83rem}.row-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.action-popover{position:relative}.action-popover>summary{list-style:none}.action-popover>summary::-webkit-details-marker{display:none}.text-button{display:inline-flex;align-items:center;min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--blue-dark);font-weight:800;cursor:pointer}.danger-link{border-color:#e6b5b1;color:#9b2f28;background:#fff8f7}.action-dialog{position:absolute;z-index:20;inset-inline-end:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 48px));padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 18px 50px rgba(14,48,66,.18)}.action-dialog h3{margin-top:0}.danger-popover .action-dialog{border-color:#e6b5b1}.danger-button{min-height:48px;border:0;border-radius:12px;padding:0 18px;background:#a7352e;color:#fff;font:inherit;font-weight:850;cursor:pointer}.danger-button:hover{background:#852821}.muted-text{color:var(--muted);font-size:.83rem}.empty-state{padding:28px;text-align:center;color:var(--muted)}.evaluation-mobile{display:none}.evaluation-card dl,.exam-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.evaluation-card dl div,.exam-card dl div{padding:10px;border-radius:10px;background:#f6f9f8}.evaluation-card dt,.exam-card dt{color:var(--muted);font-size:.75rem}.evaluation-card dd,.exam-card dd{margin:4px 0 0;font-weight:800}.creation-panel{border:1px solid var(--line);border-radius:14px;padding:14px}.creation-panel>summary{width:max-content;list-style:none;cursor:pointer}.creation-panel>summary::-webkit-details-marker{display:none}.creation-panel[open]>summary{margin-bottom:20px}.exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exam-card{display:block!important;padding:18px!important}.exam-card header{display:flex;justify-content:space-between;gap:14px}.exam-card header div{display:grid;gap:4px}.exam-card header small{color:var(--muted)}.calendar-grid{grid-template-columns:repeat(4,1fr)}.semester-form .primary-button{margin-top:18px}
@media(max-width:800px){.evaluation-desktop{display:none}.evaluation-mobile{display:grid;gap:14px}.evaluation-card{display:block}.evaluation-card header{display:flex;flex-direction:row;justify-content:space-between}.evaluation-card header div{display:grid;gap:4px}.evaluation-card .row-actions{margin-top:16px}.action-dialog{position:fixed;inset:auto 14px 18px;width:auto;max-height:78vh;overflow:auto}.exam-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.evaluation-heading .page-heading .primary-button{width:100%}.year-selector{grid-template-columns:1fr;gap:7px}.year-selector select{width:100%}.content-tabs a{flex:0 0 auto}.section-heading{align-items:center}.evaluation-card dl,.exam-card dl,.calendar-grid{grid-template-columns:1fr}.row-actions{width:100%}.row-actions .action-popover{flex:1}.row-actions .text-button{width:100%;justify-content:center}.danger-button,.action-dialog .primary-button{width:100%}}
.grade-page{display:grid;gap:18px;width:min(100%,1180px);margin:auto}.grade-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sheet-card header{display:flex;justify-content:space-between;gap:14px}.sheet-card header div{display:grid;gap:5px}.sheet-card dl,.sheet-meta{display:flex;flex-wrap:wrap;gap:14px}.sheet-card dl div{min-width:120px}.sheet-card dt{color:var(--muted);font-size:.75rem}.sheet-card dd{margin:4px 0;font-weight:800}.status.draft{background:#fff7df;color:#775600}.status.submitted{background:#edf9f3;color:#09683a}.status.correction{background:#fff3f1;color:#8f2d25}.grade-heading{display:grid;gap:18px}.sheet-meta{padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}.grade-table{display:grid}.grade-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(180px,1fr) minmax(150px,1fr);gap:12px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--line)}.grade-header{color:var(--muted);font-size:.78rem;font-weight:800}.student-cell{display:grid;gap:3px}.student-cell small{color:var(--muted)}.correction-note{margin-top:4px;padding:6px;border-radius:7px;background:#fff3f1;color:#8f2d25;font-size:.78rem}.mobile-label{display:none}.score-input{display:flex;align-items:center;gap:7px}.score-input input{min-width:0}.score-input span{color:var(--muted);font-weight:800}.save-state{display:grid;gap:4px;color:var(--muted);font-size:.78rem}.submission-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:16px;border-radius:14px;background:#f4f8f6}.submission-bar div{display:grid;gap:4px}.submission-bar small{color:var(--muted)}.admin-grade-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grade-panels summary{min-height:44px;display:flex;align-items:center;color:var(--blue-dark);font-weight:850;cursor:pointer}.admin-line-actions{grid-column:1/-1}.admin-line-actions form{display:flex;gap:8px}.field-help{color:var(--muted);font-size:.82rem}
@media(max-width:800px){.grade-sheet-grid,.admin-grade-panels{grid-template-columns:1fr}.grade-header{display:none}.grade-row{grid-template-columns:1fr 1fr;padding:16px 0}.student-cell{grid-column:1/-1}.mobile-label{display:block;margin-bottom:5px;color:var(--muted);font-size:.75rem}.save-state{grid-column:1/-1;min-height:40px}.submission-bar{align-items:stretch;flex-direction:column}.submission-bar .primary-button{width:100%}}
@media(max-width:430px){.grade-row{grid-template-columns:1fr}.student-cell,.save-state{grid-column:auto}.admin-line-actions form{flex-direction:column}.admin-line-actions .secondary-button{width:100%}}
.grade-heading>a{min-height:44px;display:flex;align-items:center;width:max-content}
.grade-history summary{min-height:44px;display:flex;align-items:center;color:var(--blue-dark);font-weight:850;cursor:pointer}

.control-page a{min-height:40px;display:inline-flex;align-items:center}

.control-page{display:grid;gap:1rem}.control-card-grid,.official-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}.control-card{border:1px solid var(--border,#d9e1dc);border-radius:1rem;padding:1rem;display:grid;gap:.8rem}.control-line{display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.compact-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.official-result-row{display:grid;gap:.85rem}.official-result-row header{display:flex;justify-content:space-between;gap:1rem}.official-result-row header div{display:grid}.score-input{display:flex;align-items:center;gap:.5rem}.score-input input{min-width:0}.save-indicator{min-height:1.5em;margin:0}.danger-button{background:#9f2d2d;color:#fff;border:0;border-radius:.65rem;padding:.7rem 1rem;cursor:pointer}@media(max-width:640px){.control-page .responsive-table table,.control-page .responsive-table tbody,.control-page .responsive-table tr,.control-page .responsive-table td{display:block}.control-page .responsive-table thead{display:none}.control-page .responsive-table tr{border:1px solid var(--border,#d9e1dc);border-radius:1rem;padding:.8rem;margin-bottom:.8rem}.control-page .responsive-table td{padding:.35rem 0}.control-page .year-selector{display:grid}.compact-actions>*{width:100%}.compact-actions button,.compact-actions a{width:100%;justify-content:center}}

.result-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem}.result-class-card header{display:flex;justify-content:space-between;align-items:flex-start}.result-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.result-actions form{margin:0}.run-list{display:grid;gap:.5rem}.run-list a{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem;border:1px solid var(--border-color,#d8ded8);border-radius:.65rem;text-decoration:none}.status-pill{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:#e9efe9;font-size:.78rem}.status-pill.current{background:#d9f4e5;color:#145b34}.status-pill.obsolete{background:#fee5e2;color:#8c2118}.status-pill.draft{background:#fff1c7;color:#6d4b00}.responsive-table td small{display:block;color:#66736a}.confirm-panel{margin-top:1rem;max-width:48rem}.checkbox-row{display:flex;align-items:flex-start;gap:.6rem;margin:1rem 0}.alert.danger{background:#fee5e2;color:#762018;border-color:#f1aaa2}
@media(max-width:600px){.result-class-grid{grid-template-columns:1fr}.result-actions,.result-actions form,.result-actions button{width:100%}.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block}.responsive-table thead{display:none}.responsive-table tr{padding:.6rem;border-bottom:1px solid var(--border-color,#ddd)}.responsive-table td{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0}.responsive-table td:before{content:attr(data-label);font-weight:700}}
.inline-admission{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin-top:.7rem}.inline-admission input{min-width:18rem;flex:1}.admission-row td{background:#f7faf7}
@media(max-width:600px){.inline-admission,.inline-admission input,.inline-admission select,.inline-admission button{width:100%;min-width:0}.admission-row td{display:block}.admission-row td:before{content:none}}
.success-report-page{display:grid;gap:18px;width:min(100%,1180px);margin:auto}.success-report-page .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.success-report-page .stat-card,.report-session{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.success-report-page .stat-card{display:grid;gap:6px}.success-report-page .stat-card strong{font-size:1.8rem;color:var(--blue-dark)}.success-report-page .stat-card small,.official-metrics small{display:block;color:var(--muted)}.official-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-session{display:grid;gap:14px}.report-session h3{margin:0}.official-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.official-metrics span{padding:10px;border-radius:10px;background:#f6f9f8;color:var(--muted)}.official-metrics strong{display:block;margin-top:4px;color:var(--blue-dark);font-size:1.15rem}.compact-export{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.compact-export label{display:grid;gap:5px;font-weight:750}.report-session details summary{min-height:44px;display:flex;align-items:center;color:var(--blue-dark);font-weight:850;cursor:pointer}.warning-text{display:block;margin-top:5px;color:#775600;font-size:.76rem}.rate-bar{display:block;width:100%;height:6px;margin-top:7px;overflow:hidden;border-radius:99px;background:#e9efec}.rate-bar i{display:block;height:100%;background:var(--green);border-radius:inherit}.rate-bar.coverage i{background:var(--blue-dark)}
@media(max-width:850px){.success-report-page .stats-grid,.official-report-grid{grid-template-columns:1fr}.official-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.success-report-page .stats-grid,.official-metrics,.compact-export{grid-template-columns:1fr}.compact-export .button{width:100%}.report-session{padding:14px}.success-report-page .filter-bar{grid-template-columns:1fr}.success-report-page .filter-bar .button{width:100%}}
@media(min-width:901px) and (max-width:1500px){.site-header{height:auto;min-height:84px;flex-wrap:wrap;padding-block:10px}.header-actions{min-width:0;width:calc(100% - 190px);flex-wrap:wrap;justify-content:flex-end}.main-nav{order:3;width:100%;min-width:0;overflow-x:auto}}
