.editable-table input{width:74px;padding:8px;border:1.5px solid #077A04;border-radius:7px;text-align:center;color:#173a22;font:600 10px "DM Sans";background:#fff}
.editable-table input:focus{outline:3px solid rgba(7,122,4,.14)}
.editable-table .person{min-width:165px}
.grade-value{font:800 12px Manrope;color:#077A04}
.calculation-note{font-size:9px;color:var(--muted);margin:12px 4px}
.badge.neutral{color:#4d6377;background:#eaf0f5}
.badge.success{color:#fff;background:#077A04}
.badge.danger{color:#fff;background:#d65d4a}
.editable-table td{white-space:nowrap}
.sms-parent-btn{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:8px;background:#077A04;color:#fff;text-decoration:none;font-size:7px;font-weight:800}
.row-actions,.card-actions{display:flex;gap:5px}.card-actions{position:absolute;right:12px;top:12px;z-index:2}.profile-card,.course-card{position:relative}.edit-action,.delete-action{width:28px;height:28px;border-radius:7px;background:#fff;cursor:pointer;font-weight:800}.edit-action{border:1px solid #077A04;color:#077A04}.delete-action{border:1px solid #d65d4a;color:#d65d4a}.edit-action:hover{background:#077A04;color:#fff}.delete-action:hover{background:#d65d4a;color:#fff}
.list-output-actions{display:flex;gap:8px;align-items:center}
.list-output-actions .secondary-btn{white-space:nowrap}
@media print{
  @page{size:A4 landscape;margin:12mm}
  body{background:#fff}
  .sidebar,.topbar,.page:not(.active),.page-heading button,.list-output-actions,.table-tools,.calculation-note,.toast,.notification-panel{display:none!important}
  .main{margin:0!important}
  .page.active{display:block!important;padding:0!important}
  .page-heading{margin-bottom:15px}
  .panel{box-shadow:none!important;border:1px solid #b9c8b9!important}
  .table-scroll{overflow:visible!important}
  table{font-size:9px}
  th,td{padding:7px!important}
  .cards-grid,.report-grid{grid-template-columns:repeat(3,1fr)!important}
  .academy-banner{display:none}
}
@media(max-width:650px){.list-output-actions{width:100%;flex-wrap:wrap}.list-output-actions button{flex:1}}

.assiduity-absence-panel{margin-top:18px}.assiduity-absence-panel .section-title,.assiduity-settings-panel .section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid #d5e7d5}.assiduity-absence-panel h2,.assiduity-settings-panel h2{margin:3px 0 0;color:#153d22}.assiduity-help{padding:8px 12px;border-radius:999px;background:#e5f5e5;color:#077A04;font-weight:800;font-size:11px}.assiduity-level-badge{display:inline-flex;align-items:center;gap:8px;min-width:128px;padding:7px 10px;border-radius:10px;background:var(--level-color);color:var(--level-text);border:1px solid rgba(0,0,0,.08)}.assiduity-level-badge b{font-size:11px}.assiduity-level-badge small{opacity:.82;font-size:8px}.absence-count{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:9px;background:#e5f5e5;color:#077A04}.absence-count.is-alert{background:#ffe3df;color:#c33927}.absence-warning{display:block;margin-top:4px;color:#c33927;font-weight:800}.assiduity-alert-chip{display:inline-block;padding:7px 10px;border-radius:9px;background:#ffe3df;color:#b92f20;font-weight:800}.absence-session-list{display:flex;flex-wrap:wrap;gap:5px;max-width:310px}.absence-session-list span{padding:5px 8px;border:1px solid #b9ddb9;border-radius:8px;background:#eff8ef;color:#315d3b;font-size:9px}.empty-table{text-align:center!important;color:#6d8173;padding:28px!important}.assiduity-settings-panel{overflow:hidden}.assiduity-scale-table input{width:90px}.assiduity-scale-table .scale-label-input{width:220px;text-align:left}.assiduity-color-field{display:flex;align-items:center;gap:8px}.assiduity-color-field input[type=color]{width:44px;height:36px;padding:3px}.assiduity-color-field code{color:#315d3b;font-size:10px}.assiduity-scale-table .delete-action{display:inline-grid;place-items:center}
@media(max-width:900px){.assiduity-absence-panel .section-title,.assiduity-settings-panel .section-title{align-items:flex-start;flex-direction:column}.assiduity-scale-table .scale-label-input{width:160px}}
.teacher-type-badge{background:#e8f1ff;color:#285f9d}.profile-meta{gap:12px}.module-preview span>i{display:flex;flex-direction:column;font-style:normal}.module-preview span>i small{display:block;margin-top:3px;color:#718075;font-size:8px}.module-preview span>b{white-space:nowrap;margin-left:10px}
.grade-module-filter{min-width:220px;border:2px solid #077A04!important;color:#17431e!important;font-weight:700}.grade-module-chip{display:inline-block;max-width:230px;padding:6px 9px;border-radius:8px;background:#e7f5e7;color:#077A04;font-weight:800;white-space:normal}.grades-toolbar{gap:9px;flex-wrap:wrap}.grades-toolbar .term-jump{margin-left:auto}
