  /* ---------- Complaint Centre ---------- */
  .field textarea{width:100%;padding:11px 13px;border-radius:9px;border:1.5px solid var(--line);font-size:.94rem;background:#fbfbfa;font-family:var(--sans);resize:vertical;min-height:110px;line-height:1.5;}
  .field textarea:focus{outline:none;border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 3px rgba(53,104,187,0.12);}
  .cmp-kind{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
  .cmp-kind button{flex:1;min-width:210px;padding:16px 14px;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer;font-weight:800;font-size:.95rem;color:var(--navy-800);text-align:center;font-family:var(--sans);transition:border-color .15s ease, box-shadow .15s ease;}
  .cmp-kind button small{display:block;font-weight:600;color:var(--muted);margin-top:4px;font-size:.76rem;}
  .cmp-kind button:hover{border-color:var(--gold-light);}
  .cmp-kind button.active{border-color:var(--gold);background:linear-gradient(180deg,#fffaf0,#fff);box-shadow:0 0 0 3px rgba(184,145,47,0.16);}
  .cmp-pick{max-height:230px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;margin-top:8px;}
  .cmp-pick .it{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer;font-size:.88rem;}
  .cmp-pick .it:last-child{border-bottom:none;}
  .cmp-pick .it:hover{background:var(--blue-tint);}
  .cmp-pick .it .sub{color:var(--muted);font-size:.78rem;}
  .cmp-chosen{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:var(--green-bg);border:1px solid #bfe3cb;margin-bottom:6px;}
  .cmp-photos{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 10px;}
  .cmp-ph{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f4f4f2;}
  .cmp-ph img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block;}
  .cmp-ph .rm{position:absolute;top:4px;left:4px;background:rgba(179,38,30,0.94);color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-weight:800;line-height:1;font-size:.72rem;}
  .cmp-card{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px;background:#fff;box-shadow:var(--shadow-sm);}
  .cmp-card.urgent{border-left:5px solid var(--red);}
  .cmp-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
  .cmp-no{font-family:var(--serif);font-weight:800;font-size:1.02rem;color:var(--oxford-blue);}
  .cmp-date{font-size:.78rem;color:var(--muted);font-weight:700;}
  .cmp-line{font-size:.86rem;margin-bottom:5px;line-height:1.55;}
  .cmp-details{margin:10px 0;padding:12px 14px;background:#fbfbfa;border:1px solid var(--line);border-radius:10px;font-size:.9rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;}
  .cmp-reply{margin-top:10px;padding:10px 14px;background:var(--blue-tint);border-radius:10px;border:1px solid #dce6f6;font-size:.86rem;line-height:1.55;white-space:pre-wrap;}
  .cmp-box{border:1.5px solid #000;padding:10px 14px;min-height:26mm;font-size:.88rem;line-height:1.7;white-space:pre-wrap;word-break:break-word;margin-bottom:16px;}
  .sc-sheet{padding:26px 34px;font-size:.92rem;line-height:1.55;}
  .sc-no{display:flex;justify-content:space-between;font-weight:700;font-size:.85rem;margin-bottom:10px;}
  .sc-to{border:1.5px solid #000;padding:8px 12px;margin-bottom:12px;font-size:.88rem;}
  .sc-subject{text-align:center;font-weight:800;text-decoration:underline;margin:10px 0;}
  .sc-facts{margin:6px 0 10px 20px;} .sc-facts li{margin-bottom:2px;}
  .sc-demand{border:1.5px solid #000;padding:9px 12px;margin:10px 0;font-weight:700;}
  .sc-reply{border-top:1.5px dashed #000;margin-top:16px;padding-top:8px;font-size:.84rem;}
  .sc-reply > .ln{border-bottom:1px solid #000;height:20px;}
  .mg-chk{width:18px;height:18px;}
  .fr-sheet{padding:10px 26px;}
  .fr-copy{padding:4px 0;}
  .fr-sheet .tr-sign{margin-top:18px !important;}
  .fr-sheet .fr-table td{padding:6px 10px;}
  .fr-tag{font-family:var(--sans);font-weight:800;font-size:.66rem;letter-spacing:1px;border:1.5px solid #000;padding:4px 9px;}
  .fr-table{width:100%;border-collapse:collapse;font-size:.9rem;border-radius:0 !important;overflow:visible !important;border:none !important;}
  .fr-table td{border:1.5px solid #000;padding:8px 10px;font-weight:700;text-align:left;}
  .fr-table td.k{width:26mm;font-family:var(--sans);font-size:.68rem;letter-spacing:.4px;text-transform:uppercase;background:#eee;}
  .fr-table tr:hover td{background:inherit;} .fr-table tr:hover td.k{background:#eee;}
  .fr-cut{text-align:center;font-size:.7rem;letter-spacing:1px;margin:8px 0;color:#000;overflow:hidden;white-space:nowrap;}
  .cl-table{width:100%;border-collapse:collapse;font-size:.72rem;margin-bottom:14px;border-radius:0 !important;overflow:visible !important;border:none !important;}
  .cl-table th{background:#000;color:#fff;font-family:var(--sans);font-weight:700;font-size:.6rem;letter-spacing:.3px;padding:6px 5px;text-align:center;border:1px solid #000;}
  .cl-table td{border:1px solid #000;padding:5px 6px;text-align:center;font-weight:700;vertical-align:top;}
  .cl-table td.l{text-align:left;font-weight:600;}
  .cl-table tr{page-break-inside:avoid;}
  .cl-table thead{display:table-header-group;}
  .cl-table tbody tr:hover td{background:inherit;}
  .cl-reply{margin-top:4px;padding-top:3px;border-top:1px dashed #000;font-style:italic;}
  .sr-reg.big{font-size:.6rem;}
  .sr-reg.big td.nm{text-align:left;padding:3px 4px;font-family:var(--sans);font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sr-reg.big td.nd{background:#bdbdbd;}
  .sr-reg.big tfoot td{background:#eee;font-weight:800;}
  .sr-reg.big tr{page-break-inside:avoid;}
  .sr-reg.big thead{display:table-header-group;}
  .cmp-prt-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
  .cmp-prt-photos img{width:100%;height:58mm;object-fit:contain;border:1px solid #000;background:#fff;}

  /* Complaint Centre — class wise / teacher wise groups */
  .cc-group{border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:12px;background:#fbfcff;}
  .cc-group > summary{cursor:pointer;padding:6px 2px;font-size:.95rem;color:var(--navy-800);list-style:revert;}
  .cc-group > .cmp-card{margin-top:10px;}
