:root{--navy:#071a34;--navy2:#0c2d55;--navy3:#123d70;--gold:#d9a72e;--gold2:#f4c85a;--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#697386;--line:#dbe2ec;--success:#1e8a5a;--danger:#c33c45;--warning:#b57612;--info:#176bdb;--shadow:0 14px 34px rgba(7,26,52,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.text-right{text-align:right}.text-center{text-align:center}.danger-text{color:var(--danger)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{background:linear-gradient(180deg,var(--navy),#061426);color:#fff;position:sticky;top:0;height:100vh;overflow:auto;padding:20px 14px;z-index:40}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,var(--gold2),var(--gold));display:grid;place-items:center;color:var(--navy);font-weight:900;font-size:19px;box-shadow:0 8px 20px rgba(217,167,46,.25)}.brand h1{font-size:16px;line-height:1.25;margin:0;font-weight:800}.brand small{font-size:11px;color:#bbcae1}.side-group{margin-top:18px}.side-title{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#8599b8;padding:0 12px 8px;font-weight:800}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;margin:4px 0;border-radius:12px;color:#d9e3f3;font-weight:600;transition:.18s}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.10);color:#fff}.nav-item.active{box-shadow:inset 3px 0 0 var(--gold2)}.nav-icon{width:24px;text-align:center;font-size:16px}.sidebar-footer{margin-top:24px;padding:14px 12px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#9eb0cb}
.main{min-width:0}.topbar{height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.topbar-left{display:flex;align-items:center;gap:12px}.menu-toggle{display:none;border:0;background:#edf2f8;width:42px;height:42px;border-radius:12px;color:var(--navy);font-size:20px}.page-title h2{margin:0;font-size:20px;letter-spacing:-.3px}.page-title small{color:var(--muted)}.user-box{display:flex;gap:11px;align-items:center}.user-avatar{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,var(--navy2),var(--navy3));color:#fff;display:grid;place-items:center;font-weight:800}.user-meta{text-align:right}.user-meta strong{display:block;font-size:13px}.user-meta small{color:var(--muted)}
.content{padding:26px 28px 46px;max-width:1600px;margin:auto}.hero{background:linear-gradient(120deg,var(--navy),var(--navy3));color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(244,200,90,.12);right:-80px;top:-120px}.hero h2{font-size:30px;line-height:1.2;margin:0 0 8px;max-width:760px}.hero p{max-width:820px;color:#dce8f7;margin:0}.hero-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;background:#e9eef6;color:var(--navy)}.badge.gold{background:#fff2c8;color:#7f5700}.badge.success{background:#daf4e7;color:#11633f}.badge.warning{background:#fff0d3;color:#8a5600}.badge.danger{background:#fde3e5;color:#982a32}.badge.info{background:#deebff;color:#1359ad}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 7px 22px rgba(11,36,67,.06)}.card-pad{padding:20px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.card-head h3{font-size:17px;margin:0}.card-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.stat{padding:18px;display:flex;align-items:center;gap:14px}.stat-icon{width:48px;height:48px;border-radius:15px;background:#edf3fb;color:var(--navy2);display:grid;place-items:center;font-size:20px}.stat-number{font-size:25px;font-weight:900;line-height:1}.stat-label{font-size:12px;color:var(--muted);margin-top:6px}.section{margin-top:20px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}.section-title h3{margin:0;font-size:18px}.section-title p{margin:3px 0 0;color:var(--muted)}
.btn{border:0;border-radius:11px;padding:10px 14px;font-weight:800;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--navy2);color:#fff}.btn-gold{background:linear-gradient(145deg,var(--gold2),var(--gold));color:#382400}.btn-light{background:#eef2f7;color:var(--navy)}.btn-outline{background:#fff;border:1px solid var(--line);color:var(--navy)}.btn-danger{background:#fbe5e7;color:#9b2f37}.btn-success{background:#dff5e9;color:#176841}.btn-sm{padding:7px 10px;border-radius:9px;font-size:12px}.btn-block{width:100%}.actions{display:flex;gap:7px;flex-wrap:wrap}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-group{min-width:0}.form-group.full{grid-column:1/-1}.form-label{display:block;font-weight:800;font-size:12px;margin:0 0 6px;color:#263246}.required:after{content:" *";color:var(--danger)}.form-control{width:100%;border:1px solid #ccd6e3;background:#fff;border-radius:11px;padding:10px 12px;color:var(--text);outline:none;transition:.18s}.form-control:focus{border-color:#6a98cf;box-shadow:0 0 0 3px rgba(23,107,219,.10)}textarea.form-control{min-height:105px;resize:vertical}.hint{font-size:11px;color:var(--muted);margin-top:5px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.table-wrap{overflow:auto;border-radius:0 0 var(--radius) var(--radius)}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid #e6ebf2;text-align:left;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#647187;background:#f8fafc;white-space:nowrap}td{font-size:13px}tbody tr:hover{background:#fbfcfe}.empty{padding:40px;text-align:center;color:var(--muted)}.empty-icon{font-size:38px;display:block;margin-bottom:8px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.toolbar .search{display:flex;gap:8px;min-width:280px}.pagination{display:flex;gap:6px;padding:15px;justify-content:flex-end}.page-link{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.page-link.active{background:var(--navy2);color:#fff}
.alert{border-radius:13px;padding:12px 14px;margin-bottom:14px;font-weight:600}.alert-success{background:#e0f5e9;color:#176841;border:1px solid #bce6cf}.alert-error{background:#fde6e8;color:#96303a;border:1px solid #f5c8cc}.alert-warning{background:#fff3da;color:#825400;border:1px solid #f5dfaa}.alert-info{background:#e6f0ff;color:#1359ad;border:1px solid #c8dcfb}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--bg)}.login-brand{background:linear-gradient(135deg,var(--navy),var(--navy3));color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";position:absolute;border-radius:50%;background:rgba(244,200,90,.10)}.login-brand:before{width:360px;height:360px;right:-130px;top:-100px}.login-brand:after{width:240px;height:240px;left:-110px;bottom:-100px}.login-brand .logo-large{width:76px;height:76px;border-radius:24px;background:linear-gradient(145deg,var(--gold2),var(--gold));display:grid;place-items:center;color:var(--navy);font-size:28px;font-weight:900;margin-bottom:24px}.login-brand h1{font-size:42px;line-height:1.12;margin:0 0 14px;max-width:650px}.login-brand p{font-size:16px;color:#d8e4f5;max-width:700px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.feature-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);padding:11px 13px;border-radius:12px}.login-panel{display:grid;place-items:center;padding:32px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px}.login-card h2{font-size:25px;margin:0}.login-card p{color:var(--muted);margin:5px 0 22px}.login-note{margin-top:16px;padding:12px;background:#f7f9fc;border-radius:12px;color:var(--muted);font-size:12px}
.doc-view{background:#fff;max-width:900px;margin:auto;padding:32px 42px;border:1px solid var(--line);box-shadow:var(--shadow)}.doc-title{text-align:center;border-bottom:3px double #222;padding-bottom:14px;margin-bottom:18px}.doc-title h1{font-size:20px;margin:0}.doc-title p{margin:4px 0}.doc-meta{width:100%;margin:0 0 18px}.doc-meta td{border:0;padding:3px 5px}.doc-section{margin:16px 0}.doc-section h3{font-size:14px;text-transform:uppercase;margin:0 0 7px;background:#edf2f8;padding:7px 9px}.doc-content{white-space:pre-wrap;text-align:justify}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:42px;text-align:center}.signature-space{height:70px}.score-input{width:82px;text-align:center;padding:7px;border:1px solid var(--line);border-radius:8px}.status-H{color:#147143}.status-S{color:#967011}.status-I{color:#176bdb}.status-A{color:#b52d36}
.quick-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;display:flex;gap:13px;align-items:center;transition:.18s}.quick-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.quick-card .icon{width:45px;height:45px;border-radius:14px;background:#edf3fb;display:grid;place-items:center;font-size:20px}.quick-card strong{display:block}.quick-card small{color:var(--muted)}
.overlay{display:none;position:fixed;inset:0;background:rgba(3,12,24,.55);z-index:35}.desktop-only{display:initial}.mobile-only{display:none}
@media(max-width:1100px){.stat-grid,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.quick-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.app-shell{display:block}.sidebar{position:fixed;left:-290px;width:270px;transition:.2s}.sidebar.open{left:0}.overlay.open{display:block}.menu-toggle{display:grid;place-items:center}.topbar{padding:0 16px}.content{padding:18px 15px 36px}.user-meta{display:none}.login-page{grid-template-columns:1fr}.login-brand{display:none}.form-grid,.form-grid-3,.grid-2,.grid-3{grid-template-columns:1fr}.mobile-only{display:initial}.desktop-only{display:none}}
@media(max-width:560px){.stat-grid,.grid-4,.quick-menu{grid-template-columns:1fr}.hero{padding:22px}.hero h2{font-size:24px}.toolbar .search{min-width:100%;width:100%}.toolbar .search .form-control{min-width:0}.content{padding-left:12px;padding-right:12px}.card-head{align-items:flex-start;flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.doc-view{padding:24px 18px}.signature-grid{gap:20px}.login-panel{padding:18px}.login-card{padding:22px}}
@media print{body{background:#fff;font-size:12px}.sidebar,.topbar,.no-print,.overlay{display:none!important}.app-shell{display:block}.content{padding:0;max-width:none}.card,.doc-view{box-shadow:none;border:0}.doc-view{max-width:none;padding:0}.table-wrap{overflow:visible}table{font-size:11px}th,td{padding:6px 7px}.page-break{page-break-before:always}@page{size:A4;margin:1.5cm}}
.ai-hero{background:linear-gradient(120deg,#071a34,#174f88)}.ai-result{border-color:#dfc16d}.ai-output-section{padding:14px 0;border-bottom:1px solid var(--line)}.ai-output-section:last-child{border-bottom:0}.ai-output-section h4{margin:0 0 7px;color:var(--navy2);font-size:13px;text-transform:uppercase;letter-spacing:.4px}.check-row{display:flex;align-items:flex-start;gap:9px;font-weight:700;color:#334155}.check-row input{margin-top:4px}.role-note{padding:10px 12px;border-radius:11px;background:#f7f9fc;color:var(--muted);font-size:12px}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.template-card{display:flex;min-height:255px}.template-card .card-pad{display:flex;flex-direction:column;width:100%}.template-card h3{margin:14px 0 7px;font-size:17px}.template-card .form-actions{margin-top:auto}.template-top,.template-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.template-meta{padding-top:14px;margin-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.monitor-hero{background:linear-gradient(120deg,#071a34,#245d94)}.matrix-done,.matrix-missing{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:10px;font-weight:900}.matrix-done{background:#def4e7;color:#176841;border:1px solid #b9e1c9}.matrix-missing{background:#fff3da;color:#906000;border:1px dashed #dfbc67}.matrix-done:hover,.matrix-missing:hover{transform:translateY(-1px)}.progress{height:8px;min-width:90px;border-radius:999px;background:#e7edf4;overflow:hidden;margin:3px 0 5px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#176bdb,#2a9a67);border-radius:inherit}.quality-score{display:inline-flex;align-items:center;justify-content:center;min-width:53px;padding:5px 8px;border-radius:999px;font-weight:900;font-size:12px}.quality-score.good{background:#def4e7;color:#176841}.quality-score.medium{background:#fff3da;color:#825400}.quality-score.low{background:#fde6e8;color:#96303a}
.quality-panel{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(160px,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 17px;margin-bottom:14px;box-shadow:0 8px 24px rgba(7,26,52,.06)}.quality-panel strong,.quality-panel small{display:block}.quality-panel small{color:var(--muted);margin-top:3px}.quality-ring{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#edf3fb;color:var(--navy2);font-weight:900;font-size:16px}.review-box{margin-bottom:14px}.timeline{padding:8px 22px 20px}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-dot{width:11px;height:11px;margin-top:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #fff4d2}.timeline-item small{color:var(--muted);margin-left:5px}.timeline-item p{margin:7px 0 0;color:#455268}.ai-package-card{border:1px solid #d6b44d;background:linear-gradient(180deg,#fffdf7,#fff)}
@media(max-width:1100px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.template-grid{grid-template-columns:1fr}.quality-panel{grid-template-columns:1fr auto}.quality-panel .progress{grid-column:1/-1}.quality-panel>.badge{justify-self:start}}

/* V1.2.1 — Professional print layout */
.print-only{display:none!important}
.print-document{width:100%}

@page{size:A4 portrait;margin:12mm 12mm 14mm}
@page print-landscape{size:A4 landscape;margin:10mm 10mm 12mm}

@media print{
  html,body{width:auto!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important}
  body{font-family:Arial,Helvetica,sans-serif!important;color:#000!important;font-size:10.5pt!important;line-height:1.35!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.page-students,body.page-attendance,body.page-attendance-form,body.page-assessment-form,body.page-gradebook,body.page-analysis,body.page-journals{page:print-landscape}
  .sidebar,.topbar,.no-print,.screen-only,.overlay,.alert[data-auto]{display:none!important}
  .print-only{display:block!important}
  span.print-only,small.print-only,strong.print-only{display:inline!important}
  table.print-only{display:table!important}
  tr.print-only{display:table-row!important}
  th.print-only,td.print-only{display:table-cell!important}
  .app-shell,.main{display:block!important;min-height:0!important;width:100%!important}
  .content{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .content>.section:first-child{margin-top:0!important}
  .grid,.grid-2,.grid-3,.grid-4,.stat-grid{display:block!important;margin:0!important}
  .card,.doc-view{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .card>.card-head{display:none!important}
  .card-pad{padding:0!important}
  .table-wrap{overflow:visible!important;border-radius:0!important;width:100%!important}
  .print-school-header{display:grid!important;grid-template-columns:18mm 1fr;gap:4mm;align-items:center;border-bottom:3px double #000;padding:0 0 3mm;margin:0 0 4mm}
  .print-school-mark{width:16mm;height:16mm;border:1.5px solid #000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16pt;font-weight:800;letter-spacing:-1px}
  .print-school-identity{text-align:center;padding-right:18mm}
  .print-government{font-size:10pt;font-weight:700;letter-spacing:.4px}
  .print-school-name{font-size:17pt;line-height:1.1;font-weight:800;letter-spacing:.3px;margin:1mm 0}
  .print-school-contact{font-size:8.5pt;line-height:1.3}
  .print-document-title{text-align:center;margin:0 0 4mm}
  .print-document-title h1{font-size:13pt;line-height:1.2;margin:0;text-decoration:underline;text-underline-offset:2px;letter-spacing:.3px}
  .print-document-title p{font-size:9.5pt;margin:1.5mm 0 0}
  .doc-title{border:0!important;margin:0 0 4mm!important;padding:0!important}
  .doc-title h1{font-size:13pt!important;text-decoration:underline;text-underline-offset:2px}
  .doc-title p,.doc-title small{font-size:9.5pt!important}
  .doc-meta{margin:0 0 4mm!important;border-collapse:collapse!important}
  .doc-meta td{border:0!important;padding:1mm 1.5mm!important;font-size:9.5pt!important;vertical-align:top!important}
  .doc-meta td:first-child{font-weight:700}
  .doc-section{margin:0 0 4mm!important;break-inside:auto;page-break-inside:auto}
  .doc-section h3,.section>h3{font-size:10.5pt!important;line-height:1.25!important;margin:0 0 1.5mm!important;padding:1.7mm 2mm!important;background:#e9ecef!important;border:1px solid #000!important;text-transform:uppercase!important;break-after:avoid;page-break-after:avoid}
  .doc-content{font-size:10.5pt!important;line-height:1.45!important;text-align:justify!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}
  table{border-collapse:collapse!important;width:100%!important;table-layout:auto!important}
  table:not(.doc-meta) thead{display:table-header-group!important}
  table:not(.doc-meta) tfoot{display:table-footer-group!important}
  table:not(.doc-meta) tr{break-inside:avoid;page-break-inside:avoid}
  table:not(.doc-meta) th,table:not(.doc-meta) td{border:1px solid #000!important;padding:1.5mm 1.7mm!important;color:#000!important;background:#fff!important;font-size:8.6pt!important;line-height:1.25!important;vertical-align:middle!important;white-space:normal!important;overflow-wrap:anywhere!important}
  table:not(.doc-meta) th{font-weight:700!important;text-transform:none!important;letter-spacing:0!important;text-align:center!important;background:#e9ecef!important}
  table:not(.doc-meta) tbody tr:hover{background:#fff!important}
  .badge{display:inline!important;border:0!important;border-radius:0!important;padding:0!important;background:transparent!important;color:#000!important;font-size:inherit!important;font-weight:700!important}
  .status-H,.status-S,.status-I,.status-A{color:#000!important}
  .signature-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:25mm!important;margin:10mm 5mm 0!important;text-align:center!important;font-size:10pt!important;break-inside:avoid;page-break-inside:avoid}
  .signature-space{height:20mm!important}
  .print-footer{display:block!important;text-align:center;margin-top:3mm;padding-top:2mm;border-top:1px solid #777;font-size:7.5pt;color:#444}
  .print-footer span+span:before{content:" · ";}
  .print-summary{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2mm!important;margin:0 0 4mm!important}
  .print-summary-item{border:1px solid #000;padding:2mm;text-align:center;break-inside:avoid}
  .print-summary-item strong{display:block;font-size:12pt;line-height:1.1}
  .print-summary-item span{font-size:8pt}
  .stat-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2mm!important;margin:0 0 4mm!important}
  .stat{display:block!important;border:1px solid #000!important;padding:2mm!important;text-align:center!important}
  .stat-icon{display:none!important}
  .stat-number{font-size:12pt!important}
  .stat-label{font-size:8pt!important;color:#000!important;margin-top:1mm!important}
  .section{margin-top:4mm!important}
  .alert{border:1px solid #000!important;border-radius:0!important;background:#fff!important;color:#000!important;padding:2mm!important;margin:3mm 0!important;font-size:8.5pt!important;font-weight:400!important}
  .form-control,.score-input{border:0!important;border-bottom:1px dotted #555!important;border-radius:0!important;background:#fff!important;color:#000!important;padding:1mm!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important}
  textarea.form-control{height:auto!important;min-height:0!important;overflow:visible!important;white-space:pre-wrap!important}
  .print-compact th,.print-compact td{font-size:7.7pt!important;padding:1.1mm 1.3mm!important}
  .print-tiny th,.print-tiny td{font-size:6.8pt!important;padding:.9mm 1mm!important}
  .print-number{text-align:center!important;white-space:nowrap!important}
  .print-name{min-width:36mm!important}
  .print-notes{min-width:55mm!important}
  .print-assessment-legend{margin:0 0 3mm;font-size:8pt;columns:2;column-gap:8mm}
  .print-assessment-legend div{break-inside:avoid;margin-bottom:1mm}
  .print-long-text{white-space:pre-wrap!important;text-align:left!important}
  .page-break{break-before:page;page-break-before:always}
  .avoid-break{break-inside:avoid;page-break-inside:avoid}
  a{color:#000!important;text-decoration:none!important}
  p{orphans:3;widows:3}
}
@media print{
  body.page-students .print-footer,
  body.page-attendance .print-footer,
  body.page-attendance-form .print-footer,
  body.page-assessment-form .print-footer,
  body.page-gradebook .print-footer,
  body.page-analysis .print-footer,
  body.page-journals .print-footer{display:none!important}
}
