.class-center { margin: 20px 0; }
.class-center .card-title p,.class-muted { color: #abc2d7; line-height: 1.5; }
.class-filters,.class-create form,.class-enrollment { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) auto; gap: 14px; align-items: end; margin-top: 18px; }
.class-center label,.class-enrollment label { color: #c6dbed; min-width: 0; display: grid; gap: 7px; }
.class-center select,.class-center input,.class-enrollment select,.class-enrollment input { width: 100%; min-height: 45px; padding: 10px; border: 1px solid #47718f; border-radius: 10px; background: #f2f8fc; color: #143047; font: inherit; }
.class-center button { cursor: pointer; }
.class-message,.class-form-message { color: #95dcd6; line-height: 1.6; overflow-wrap: anywhere; }
.class-create { margin-top: 20px; padding: 16px; border: 1px solid #315775; border-radius: 12px; }
.class-create summary { cursor: pointer; font-weight: 800; }
.class-create form { grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: start; }
.class-create form > label { grid-template-rows: 18px 45px auto; }
.class-create form > label small { line-height: 1.5; }
.class-create form > button { margin-top: 25px; min-height: 45px; }
.class-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.class-report { margin-top: 26px; border-top: 1px solid #315575; padding-top: 24px; }
.class-report-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.class-report h2 { margin: 9px 0; font-size: clamp(1.2rem,2.3vw,1.75rem); overflow-wrap: anywhere; }
.class-report h3 { font-size: 1.1rem; margin: 28px 0 14px; }
.class-report-heading p { color: #afc9dd; line-height: 1.6; }
.class-report-heading button { flex-shrink: 0; }
.class-method { color: #b9cddd; font-size: .88rem; line-height: 1.65; padding: 16px; border-radius: 12px; background: #12324d; }
.class-summary,.class-skills { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.class-summary article,.class-skills article { min-width: 0; padding: 18px; border: 1px solid #37607c; border-radius: 13px; background: #102f49; }
.class-summary span { color: #d0e1ee; font-size: .86rem; font-weight: 700; }
.class-summary strong,.class-skills strong { display: block; margin: 8px 0; font-size: 1.8rem; color: #6fe3da; }
.class-summary small,.class-skills small,.class-skills p { color: #b1c9db; font-size: .81rem; line-height: 1.5; }
.class-skills h4 { margin: 0; }
.class-levels { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 9px; }
.class-levels div { display: grid; gap: 6px; padding: 13px 8px; border: 1px solid #37607c; border-radius: 11px; text-align: center; background: #12334e; }
.class-levels span { color: #b9d8e7; font-size: .8rem; }.class-levels strong { font-size: 1.4rem; color: #76e6df; }
.class-table-wrap { overflow-x: auto; max-width: 100%; }
.class-table-wrap table { border-collapse: collapse; min-width: 720px; width: 100%; font-size: .83rem; }
.class-table-wrap th,.class-table-wrap td { text-align: left; padding: 12px 10px; border-bottom: 1px solid #31536b; }
.class-table-wrap th { color: #88e5dc; background: #102f49; }
.class-table-wrap td { color: #d7e7f1; }
.class-student-link { border: 0; padding: 0; color: #8feddf; background: transparent; font: inherit; text-align: left; text-decoration: underline; }
.class-enrollment { grid-template-columns: 1fr 1.4fr auto; padding: 18px; border: 1px solid #315775; border-radius: 13px; }
.class-enrollment p { grid-column: 1 / -1; margin: 0; }
@media (max-width: 1100px) { .class-filters,.class-create form { grid-template-columns: repeat(2,minmax(0,1fr)); }.class-filters button,.class-create button { grid-column: 1 / -1; }.class-create form > button {margin-top:0;}.class-summary,.class-skills {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width: 600px) { .class-filters,.class-create form,.class-enrollment {grid-template-columns:1fr;}.class-report-heading {flex-direction:column;}.class-levels {grid-template-columns:repeat(4,minmax(0,1fr));}.class-summary article,.class-skills article {padding:12px;}.class-summary strong,.class-skills strong {font-size:1.4rem;} }
@media print {
  @page ballingua-class-report { size: A4 landscape; margin: 12mm; }
  html.class-report-printing,.class-report-printing :is(body,.management-page,.management-shell,.class-center) { background: white !important; color: #111 !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
  .class-report-printing :is(body > :not(.management-page),.management-header,.management-shell > :not(.class-center),.class-center > :not(.class-report),[data-class-print]) { display: none !important; }
  .class-report-printing :is(.class-center,.class-report) {border:0 !important;padding:0 !important;}
  .class-report-printing .class-report {page:ballingua-class-report;}
  .class-report-printing .class-report * {color:#111 !important;background:white !important;box-shadow:none !important;}
  .class-report-printing :is(.class-report h3,.class-report-heading) {break-after:avoid;}.class-report-printing :is(.class-summary article,.class-skills article,tr) {break-inside:avoid;}
  .class-report-printing .class-table-wrap {overflow:visible;}.class-report-printing .class-table-wrap table {min-width:0;font-size:8pt;}.class-report-printing :is(.class-table-wrap td,.class-table-wrap th) {padding:6px 4px;}
  .class-report-printing thead {display:table-header-group;}.class-report-printing .class-method {font-size:8pt;}.class-report-printing .class-student-link {text-decoration:none;}
}
