:root{--navy:#103754;--blue:#176a9b;--sky:#eaf6fc;--gold:#d7a52e;--ink:#172a39;--sub:#687b89;--border:#d8e2e8;--bg:#f5f8fb;--green:#176342;--red:#a12f37;--amber:#8c5b11}*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:var(--navy);color:#fff;padding:17px max(24px,4vw);box-shadow:0 2px 10px #12283930}.brand{display:flex;gap:14px;align-items:center;line-height:1.3}.brand small{display:block;opacity:.78;font-size:.76rem;margin-top:4px}.brand-symbol{font-weight:800;font-size:25px;width:43px;height:43px;background:var(--gold);color:var(--navy);display:grid;place-items:center;border-radius:11px}.account{display:flex;gap:17px;align-items:center}.account small{color:#b9d0df}.link-button{border:0;color:#fff;background:none;cursor:pointer;font:inherit;text-decoration:underline}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 120px)}.sidebar{padding:22px 12px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.sidebar a{padding:11px 15px;border-radius:8px;color:#304c5c;font-weight:550}.sidebar a.active,.sidebar a:hover{background:var(--sky);color:var(--navy);text-decoration:none}.content{padding:35px clamp(16px,4vw,55px);max-width:1500px}.auth-main{max-width:780px;margin:65px auto;padding:0 18px;min-height:65vh}.page-heading{margin-bottom:21px}.page-heading h1{font-size:1.7rem;letter-spacing:-.03em;margin:0}.subtitle{color:var(--sub);margin:6px 0 0}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;margin:0 0 20px;box-shadow:0 3px 18px #243c530a}.card h2{margin:0 0 18px;font-size:1.22rem}.card h3{margin:0 0 12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin:0 0 24px}.stat{border-top:4px solid var(--blue)}.stat .num{display:block;font-size:2rem;font-weight:750;margin-top:7px}.muted,small{color:var(--sub)}.topbar small{color:#d0dce6}.flex{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.between{justify-content:space-between}.btn{border-radius:9px;padding:10px 15px;border:1px solid #a3bccc;background:#fff;color:var(--navy);font-weight:650;cursor:pointer;font:inherit;display:inline-block}.btn:hover{text-decoration:none;filter:brightness(.96)}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.danger{color:var(--red);border-color:#e4bec1}.btn.mini{padding:6px 10px;font-size:.86rem}input,select,textarea{border:1px solid #b5c7d0;border-radius:8px;background:#fff;padding:10px 11px;font:inherit;color:var(--ink);width:100%}textarea{min-height:83px;resize:vertical}label{display:block;font-weight:600;font-size:.9rem}label input,label select,label textarea{display:block;margin-top:7px;font-weight:400}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:17px}.full{grid-column:1/-1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th{text-align:left;background:#edf4f8;color:#335264;padding:12px 11px;white-space:nowrap}td{padding:12px 11px;border-bottom:1px solid #e9eff3;vertical-align:top}tr:hover td{background:#fbfcfe}td .muted{font-size:.81rem}.badge{font-size:.74rem;display:inline-block;white-space:nowrap;padding:5px 9px;border-radius:99px;background:#eaf1f6;color:#4b6172;font-weight:750;text-transform:capitalize}.badge.good{background:#e5f6ed;color:var(--green)}.badge.warn{background:#fff3df;color:var(--amber)}.badge.bad{background:#fff0f0;color:var(--red)}.alert{border:1px solid #bbd5ed;background:#eaf6ff;padding:12px 15px;border-radius:9px;margin:0 0 16px}.alert.error{background:#fff0f0;border-color:#fac3c8;color:#892630}.alert.success{background:#ebf8ed;border-color:#b9e4c9;color:#1b5f38}.pill{display:inline-block;border:1px solid var(--border);padding:6px 10px;border-radius:10px;font-size:.82rem}.progress{height:10px;border-radius:40px;background:#e0eaf1;overflow:hidden}.progress>div{height:100%;background:var(--green);transition:width .3s}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{border:1px solid var(--border);padding:15px;border-radius:11px}.timeline-item h3{font-size:.99rem;margin:0 0 6px}.timeline-item p{margin:7px 0}.compact-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.compact-form>*{flex:1;min-width:140px}.compact-form button{flex:0 0 auto}.separator{margin:24px 0;border:0;border-top:1px solid var(--border)}.footer{text-align:center;color:#8698a3;padding:20px;font-size:.8rem}.login{max-width:480px;margin:auto}.login h2{margin-top:0}.login label{margin-bottom:16px}.login .btn{width:100%}.setup{max-width:700px;margin:auto}.empty{border:1px dashed #b2c4d2;text-align:center;border-radius:12px;padding:38px;color:var(--sub)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cert{max-width:850px;margin:25px auto;background:#fff;border:3px double #2d526c;padding:44px}.cert h1{text-align:center;font-size:1.65rem;letter-spacing:.03em}.cert-head{text-align:center;border-bottom:3px solid var(--gold);padding-bottom:15px}.cert-seal{font-size:30px;margin-bottom:10px;color:var(--navy)}.signature-line{margin-top:45px;border-top:1px solid var(--ink);padding-top:7px;max-width:300px}.noprint{}.form-error{color:var(--red)}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;padding:10px;gap:0}.sidebar a{padding:9px}.topbar{padding:13px;align-items:flex-start}.account{align-items:flex-end;flex-direction:column;gap:6px}.content{padding:18px}.two-col{grid-template-columns:1fr}.cert{padding:20px}}@media print{html,body{background:#fff}.topbar,.sidebar,.footer,.noprint,.account,.btn,.page-heading{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.cert{margin:0;border:3px double #23465e;box-shadow:none;max-width:none;min-height:90vh}.card{box-shadow:none}a{color:inherit;text-decoration:none}@page{size:A4;margin:12mm}}

/* Kapcherop-style A4 trainee clearance form */
.print-toolbar{max-width:210mm;margin:0 auto 14px}.trainee-form{width:210mm;min-height:297mm;margin:0 auto;background:#fff;color:#111;padding:12mm 11mm 10mm;font-family:"Times New Roman",Times,serif;box-shadow:0 2px 18px #0002}.paper-top-title{text-align:center;font-weight:800;font-size:15pt;letter-spacing:.02em;margin:0 0 5mm}.paper-rule{height:2px;background:#111;margin:0 12mm 4mm}.paper-rule.thin{height:1px;margin:2mm 8mm 3mm}.paper-letterhead{display:grid;grid-template-columns:27mm 1fr;gap:4mm;align-items:center;text-align:center}.paper-letterhead img{width:24mm;height:24mm;object-fit:contain;filter:grayscale(1)}.paper-letterhead h2{font-size:16pt;margin:0 0 1mm;text-transform:uppercase}.paper-letterhead p{font-size:11.5pt;font-weight:700;margin:.5mm 0}.trainee-form>h1{text-align:center;text-decoration:underline;font-size:15pt;margin:2mm 0 5mm}.paper-details p{display:flex;align-items:flex-end;gap:2mm;margin:2.3mm 0;font-size:10.8pt;white-space:nowrap}.paper-details strong{font-weight:700}.paper-details span{min-width:24mm;flex:1;border-bottom:1.5px dotted #111;padding:0 1mm .8mm;white-space:normal}.paper-details span.short{max-width:37mm}.reason-table,.paper-clearance-table{width:100%;border-collapse:collapse;color:#111}.reason-table{margin:3mm 0 9mm;font-size:11pt}.reason-table th,.reason-table td{border:1px solid #111;padding:1.5mm 2mm;text-align:left}.reason-table th{width:47%;font-weight:700}.reason-table td{font-weight:700}.reason-table .purpose{font-weight:400;font-size:9pt}.paper-clearance-table{font-size:10.6pt;table-layout:fixed}.paper-clearance-table th,.paper-clearance-table td{border:1px solid #111;padding:1.8mm 2mm;vertical-align:top;height:12mm;overflow-wrap:anywhere}.paper-clearance-table th{font-weight:700;text-align:left}.paper-clearance-table th:nth-child(1){width:29%}.paper-clearance-table th:nth-child(2){width:25%}.paper-clearance-table th:nth-child(3){width:14%}.paper-clearance-table th:nth-child(4){width:13%}.paper-clearance-table th:nth-child(5){width:19%}.paper-final{margin:8mm 0 4mm;font-size:11pt}.paper-final p{margin:2mm 0}.paper-final span{display:inline-block;min-width:55mm;border-bottom:1.5px dotted #111;padding:0 2mm 1mm}.paper-footer{display:flex;gap:4mm;justify-content:space-between;border-top:1px solid #777;padding-top:2mm;font:7.5pt Arial,sans-serif;color:#333;overflow-wrap:anywhere}.paper-footer span:last-child{max-width:48%;text-align:right}
@media(max-width:900px){.trainee-form{width:100%;min-height:auto;padding:18px}.paper-letterhead{grid-template-columns:70px 1fr}.paper-letterhead img{width:60px;height:60px}.paper-details p{flex-wrap:wrap;white-space:normal}.paper-details span{min-width:120px}.paper-footer{flex-direction:column}.paper-footer span:last-child{max-width:none;text-align:left}}
@media print{.trainee-form{width:auto;min-height:auto;margin:0;padding:0;box-shadow:none}.paper-clearance-table th,.paper-clearance-table td{height:10mm}.content{padding:0}.shell{display:block}@page{size:A4 portrait;margin:9mm}}

/* Standard-system additions: public status, settings, email controls */
.auth-links{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:.9rem}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.toggle{display:flex;align-items:flex-start;gap:10px;font-weight:600}.toggle input{width:auto;margin:2px 0 0;flex:0 0 auto}.status-result{border:1px solid var(--border);border-radius:12px;padding:16px;margin:14px 0;background:#fbfdff}.status-result .table-wrap{margin-top:10px}.alert.warn{background:#fff7e8;border-color:#eed3a1;color:#7a5314}#email,#notifications,#clearance-types,#departments,#delivery-log,#general,#branding{scroll-margin-top:20px}@media(max-width:560px){.auth-links{flex-direction:column}.settings-tabs .btn{flex:1;text-align:center}}

/* v10 role privileges and progress print */
.permission-matrix th,.permission-matrix td{text-align:center;vertical-align:middle;min-width:110px}.permission-matrix th:first-child{position:sticky;left:0;z-index:2;background:#edf4f8;text-align:left;min-width:190px}.permission-matrix td input[type=checkbox]{width:18px;height:18px;margin:auto}.permission-matrix td input[disabled]{opacity:.45}.progress-form .print-warning{font-family:Arial,sans-serif;font-size:9pt;margin:0 0 4mm}.progress-form .paper-clearance-table th:nth-child(1){width:24%}.progress-form .paper-clearance-table th:nth-child(2){width:20%}.progress-form .paper-clearance-table th:nth-child(3){width:15%}.progress-form .paper-clearance-table th:nth-child(4){width:13%}.progress-form .paper-clearance-table th:nth-child(5){width:28%}#privileges{scroll-margin-top:20px}
@media print{.progress-form .print-warning{display:block!important;border:1px solid #111;background:#fff;color:#111}.progress-form .paper-top-title{font-size:13pt}.progress-form .paper-clearance-table{font-size:9.5pt}.progress-form .paper-clearance-table th,.progress-form .paper-clearance-table td{height:8mm;padding:1.2mm 1.5mm}}

/* v10.3.8 Kapcherop institutional branding */
.institution-header{background:var(--header-bg,#fff);border-bottom:1px solid #d7dedb}.institution-letterhead{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr) 110px;align-items:center;gap:18px;max-width:1500px;margin:0 auto;padding:14px clamp(18px,4vw,64px) 12px;text-align:center;background:var(--header-bg,#fff)}.letterhead-side{display:flex;justify-content:center;align-items:center}.letterhead-side img{width:82px;height:76px;object-fit:contain}.letterhead-center h2{margin:0 0 3px;color:var(--brand-primary,#00843D);font-size:1.4rem;line-height:1.08;text-transform:uppercase;font-weight:850}.letterhead-center p{margin:1px 0;color:#101820;line-height:1.18;font-size:.79rem}.letterhead-center .ministry,.letterhead-center .department{font-weight:800;text-transform:uppercase}.letterhead-lines{position:absolute;left:clamp(18px,4vw,64px);right:clamp(18px,4vw,64px);bottom:2px;display:grid;gap:2px}.letterhead-lines span:first-child{height:3px;background:var(--brand-primary,#00843D)}.letterhead-lines span:last-child{height:2px;background:var(--gold,#F5B700)}.userbar{min-height:44px;background:var(--navy,#0B2942);color:#fff;padding:8px max(24px,4vw);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:3px solid var(--gold,#F5B700)}.userbar .portal-title{font-weight:800;letter-spacing:.01em}.userbar .account small{color:#d7e1e7}.account{display:flex;gap:17px;align-items:center}.link-button{border:0;color:#fff;background:none;cursor:pointer;font:inherit;text-decoration:underline}.sidebar{border-right:1px solid #dce6e0;border-top:3px solid var(--brand-primary,#00843D)}.sidebar a{border-left:4px solid transparent}.sidebar a.active,.sidebar a:hover{background:#edf7f1;color:var(--navy,#0B2942);border-left-color:var(--gold,#F5B700)}.page-heading h1,.card h2,.card h3{color:var(--navy,#0B2942)}.stat{border-top-color:var(--gold,#F5B700)}.stat:nth-child(even){border-top-color:var(--brand-primary,#00843D)}.btn.primary{background:var(--brand-primary,#00843D);border-color:var(--brand-primary,#00843D)}a{color:var(--brand-primary,#00843D)}th{background:#eef7f1;color:var(--navy,#0B2942);border-bottom:2px solid #d8e8dd}.progress>div{background:var(--brand-primary,#00843D)}.settings-tabs .btn{border-color:#b7cdbf}.branding-preview{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0 0 20px;background:#fff}.branding-preview .institution-letterhead{padding:12px 18px 13px;grid-template-columns:85px minmax(0,1fr) 85px}.branding-preview .letterhead-side img{width:66px;height:60px}.branding-preview .letterhead-center h2{font-size:1.05rem}.branding-preview .letterhead-center p{font-size:.7rem}.branding-preview .letterhead-lines{left:18px;right:18px}

/* Printed letterhead: Coat of Arms left, official text centre, college logo right */
.trainee-form .institution-letterhead{grid-template-columns:27mm minmax(0,1fr) 27mm;gap:3mm;max-width:none;padding:0 2mm 4mm;background:#fff;font-family:Arial,sans-serif}.trainee-form .letterhead-side img{width:22mm;height:22mm;object-fit:contain}.trainee-form .letterhead-center h2{font-size:12.5pt;line-height:1.02;color:#007A3D;margin:0 0 .8mm}.trainee-form .letterhead-center p{font-size:8.6pt;line-height:1.08;margin:.35mm 0;color:#000}.trainee-form .letterhead-center .ministry,.trainee-form .letterhead-center .department{font-size:8.4pt}.trainee-form .letterhead-lines{left:2mm;right:2mm;bottom:0;gap:.7mm}.trainee-form .letterhead-lines span:first-child{height:1.1mm;background:#00843D}.trainee-form .letterhead-lines span:last-child{height:.65mm;background:#F5B700}

@media(max-width:720px){.institution-letterhead{grid-template-columns:68px minmax(0,1fr) 68px;gap:8px;padding:10px 10px 12px}.letterhead-side img{width:56px;height:54px}.letterhead-center h2{font-size:.95rem}.letterhead-center p{font-size:.64rem}.letterhead-lines{left:10px;right:10px}.userbar{align-items:flex-start;flex-direction:column;padding:8px 12px}.userbar .account{width:100%;justify-content:space-between}.auth-main{margin:28px auto}.branding-preview .institution-letterhead{grid-template-columns:56px minmax(0,1fr) 56px;padding:8px}.branding-preview .letterhead-side img{width:46px;height:44px}.branding-preview .letterhead-center h2{font-size:.8rem}.branding-preview .letterhead-center p{font-size:.58rem}}
@media print{.institution-header,.userbar{display:none!important}.trainee-form .institution-letterhead{display:grid!important}.trainee-form .letterhead-side{display:flex!important}.trainee-form .letterhead-center{display:block!important}}

/* v10.3.9 compact landing header + one-page clearance print layout */
.screen-letterhead{max-width:none;width:100%;grid-template-columns:105px minmax(0,1fr) 105px;gap:14px;padding:12px clamp(28px,4.2vw,76px) 13px;background:#f7f7f7}
.screen-letterhead .letterhead-side img{width:72px;height:68px;object-fit:contain}
.screen-letterhead .letterhead-center{display:flex;align-items:center;justify-content:center;min-height:68px}
.screen-letterhead .letterhead-center h2{margin:0;font-size:1.85rem;line-height:1.05;letter-spacing:.005em;text-transform:uppercase;white-space:nowrap;font-weight:900;color:var(--navy,#0B2942)}
.screen-letterhead .letterhead-center p{display:none}
.screen-letterhead .title-gold{color:var(--gold,#F5B700)}
.screen-letterhead .title-navy{color:var(--navy,#0B2942)}
.screen-letterhead .letterhead-lines{left:0;right:0;bottom:0;gap:0}
.screen-letterhead .letterhead-lines span:first-child{height:4px;background:var(--brand-primary,#00843D)}
.screen-letterhead .letterhead-lines span:last-child{display:none}
.institution-header{border-bottom:0;background:#f7f7f7}

/* Keep clearance printouts tight, aligned and on a single A4 page for normal data volumes. */
.one-page-clearance{box-sizing:border-box}
.one-page-clearance .paper-top-title{font-size:11.5pt;line-height:1.05;margin:0 0 1.8mm;letter-spacing:.01em}
.one-page-clearance .paper-rule{height:.55mm;margin:0 4mm 1.7mm}
.one-page-clearance .paper-rule.thin{height:.3mm;margin:1mm 3mm 1.5mm}
.one-page-clearance .institution-letterhead{grid-template-columns:20mm minmax(0,1fr) 20mm;gap:2mm;padding:0 1mm 2.5mm}
.one-page-clearance .letterhead-side img{width:17mm;height:17mm}
.one-page-clearance .letterhead-center h2{font-size:10.6pt;line-height:1;margin:0 0 .4mm}
.one-page-clearance .letterhead-center p{font-size:7.1pt;line-height:1.02;margin:.18mm 0}
.one-page-clearance .letterhead-center .ministry,.one-page-clearance .letterhead-center .department{font-size:7pt}
.one-page-clearance .letterhead-lines{left:1mm;right:1mm;gap:.35mm}
.one-page-clearance .letterhead-lines span:first-child{height:.75mm}
.one-page-clearance .letterhead-lines span:last-child{height:.4mm}
.one-page-clearance>h1{font-size:11.5pt;line-height:1.05;margin:1mm 0 2.2mm;text-underline-offset:1.5px}
.one-page-clearance .paper-details{display:block}
.one-page-clearance .paper-details p{gap:1.1mm;margin:1.05mm 0;font-size:8.2pt;line-height:1.08;white-space:nowrap}
.one-page-clearance .paper-details span{min-width:18mm;padding:0 .6mm .35mm;border-bottom:1px dotted #111;line-height:1.08}
.one-page-clearance .paper-details span.short{max-width:31mm}
.one-page-clearance .reason-table{margin:1.5mm 0 3mm;font-size:8.4pt;table-layout:fixed}
.one-page-clearance .reason-table th,.one-page-clearance .reason-table td{padding:.8mm 1mm;line-height:1.05}
.one-page-clearance .reason-table th{width:35%}
.one-page-clearance .reason-table .purpose{font-size:7.2pt}
.one-page-clearance .paper-clearance-table{font-size:7.6pt;line-height:1.08;table-layout:fixed;margin:0}
.one-page-clearance .paper-clearance-table th,.one-page-clearance .paper-clearance-table td{padding:.72mm 1mm;height:auto;min-height:0;vertical-align:middle;overflow-wrap:anywhere}
.one-page-clearance .paper-clearance-table th{line-height:1.05}
.one-page-clearance .paper-clearance-table td:nth-child(3),.one-page-clearance .paper-clearance-table td:nth-child(4),.one-page-clearance .paper-clearance-table td:nth-child(5){white-space:nowrap}
.one-page-clearance.progress-form .paper-clearance-table th:nth-child(1){width:22%}
.one-page-clearance.progress-form .paper-clearance-table th:nth-child(2){width:13%}
.one-page-clearance.progress-form .paper-clearance-table th:nth-child(3){width:18%}
.one-page-clearance.progress-form .paper-clearance-table th:nth-child(4){width:12%}
.one-page-clearance.progress-form .paper-clearance-table th:nth-child(5){width:12%}
.one-page-clearance.progress-form .paper-clearance-table th:nth-child(6){width:23%}
.one-page-clearance .print-warning{font-size:7.4pt;line-height:1.08;padding:1.3mm 1.7mm;margin:0 0 1.8mm;border-radius:0}
.one-page-clearance .paper-final{margin:2.6mm 0 1.8mm;font-size:8.4pt;line-height:1.08}
.one-page-clearance .paper-final p{margin:.8mm 0}
.one-page-clearance .paper-final span{min-width:42mm;padding:0 1mm .35mm}
.one-page-clearance .paper-footer{gap:2mm;padding-top:1mm;font-size:6.2pt;line-height:1.05}
.final-clearance-form .paper-clearance-table th:nth-child(1){width:28%}
.final-clearance-form .paper-clearance-table th:nth-child(2){width:22%}
.final-clearance-form .paper-clearance-table th:nth-child(3){width:12%}
.final-clearance-form .paper-clearance-table th:nth-child(4){width:14%}
.final-clearance-form .paper-clearance-table th:nth-child(5){width:24%}

@media(max-width:900px){
  .screen-letterhead{grid-template-columns:72px minmax(0,1fr) 72px;padding:10px 14px 12px}
  .screen-letterhead .letterhead-side img{width:58px;height:54px}
  .screen-letterhead .letterhead-center{min-height:54px}
  .screen-letterhead .letterhead-center h2{font-size:clamp(.78rem,2.4vw,1.25rem);white-space:normal}
}

@media print{
  @page{size:A4 portrait;margin:5mm}
  html,body{width:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important}
  .one-page-clearance{width:200mm!important;max-width:200mm!important;min-height:0!important;margin:0 auto!important;padding:2.5mm 3mm 2mm!important;box-shadow:none!important;break-inside:avoid-page;page-break-inside:avoid}
  .one-page-clearance .institution-letterhead{break-inside:avoid-page;page-break-inside:avoid}
  .one-page-clearance .paper-details,.one-page-clearance .reason-table,.one-page-clearance .paper-final,.one-page-clearance .paper-footer{break-inside:avoid-page;page-break-inside:avoid}
  .one-page-clearance .paper-clearance-table{break-inside:auto;page-break-inside:auto}
  .one-page-clearance .paper-clearance-table tr{break-inside:avoid-page;page-break-inside:avoid}
  .one-page-clearance.progress-form .paper-clearance-table{font-size:7.2pt}
  .one-page-clearance.progress-form .paper-clearance-table th,.one-page-clearance.progress-form .paper-clearance-table td{padding:.62mm .85mm;height:auto}
  .final-clearance-form .paper-final{display:block;text-align:left}
  .final-clearance-form .paper-final p{margin:.45mm 0}
}


/* v10.4.0 exact official clearance-letterhead format
   Coat of Arms left, centered institutional lines, college logo right,
   green rule above gold rule. Mirrors the approved Kapcherop TVC sample. */
.trainee-form .exact-print-letterhead{
  width:100%;max-width:none;min-height:29mm;
  grid-template-columns:25mm minmax(0,1fr) 25mm;
  column-gap:3mm;align-items:center;
  padding:0 1.5mm 3.1mm;margin:0 0 2.2mm;
  background:#fff;font-family:Arial,Helvetica,sans-serif;
}
.trainee-form .exact-print-letterhead .letterhead-side{align-self:center;justify-content:center}
.trainee-form .exact-print-letterhead .letterhead-side img{
  width:21mm;height:20mm;max-width:100%;object-fit:contain;
}
.trainee-form .exact-print-letterhead .letterhead-center{
  align-self:center;text-align:center;min-width:0;padding-top:.2mm;
}
.trainee-form .exact-print-letterhead .letterhead-center h2{
  margin:0 0 .65mm;color:#007a3d;font-size:12.1pt;line-height:1.02;
  font-weight:800;letter-spacing:0;text-transform:uppercase;white-space:nowrap;
}
.trainee-form .exact-print-letterhead .letterhead-center p{
  margin:.18mm 0;color:#000;font-size:7.45pt;line-height:1.04;font-weight:400;
}
.trainee-form .exact-print-letterhead .letterhead-center .ministry{
  font-size:7.8pt;line-height:1.02;font-weight:800;text-transform:uppercase;margin-top:.05mm;
}
.trainee-form .exact-print-letterhead .letterhead-center .department{
  font-size:7.45pt;line-height:1.02;font-weight:800;text-transform:uppercase;margin-bottom:.35mm;
}
.trainee-form .exact-print-letterhead .contact-line,
.trainee-form .exact-print-letterhead .email-line{font-size:7.25pt;line-height:1.04}
.trainee-form .exact-print-letterhead .letterhead-lines{
  left:1.5mm;right:1.5mm;bottom:0;gap:.42mm;
}
.trainee-form .exact-print-letterhead .letterhead-lines span:first-child{
  height:.65mm;background:#00843d;
}
.trainee-form .exact-print-letterhead .letterhead-lines span:last-child{
  height:.42mm;background:#e1a51a;
}
/* The approved letterhead already supplies its own official divider; no extra black rules. */
.one-page-clearance .exact-print-letterhead + h1{
  margin:1.2mm 0 2.1mm;font-size:11.5pt;line-height:1.05;
}
@media print{
  .one-page-clearance .exact-print-letterhead{
    grid-template-columns:25mm minmax(0,1fr) 25mm!important;
    gap:3mm!important;padding:0 1.5mm 3.1mm!important;margin:0 0 1.8mm!important;
  }
  .one-page-clearance .exact-print-letterhead .letterhead-side img{width:21mm!important;height:20mm!important}
  .one-page-clearance .exact-print-letterhead .letterhead-center h2{font-size:12.1pt!important;line-height:1.02!important;margin:0 0 .65mm!important}
  .one-page-clearance .exact-print-letterhead .letterhead-center p{font-size:7.45pt!important;line-height:1.04!important;margin:.18mm 0!important}
  .one-page-clearance .exact-print-letterhead .letterhead-center .ministry{font-size:7.8pt!important}
  .one-page-clearance .exact-print-letterhead .letterhead-center .department{font-size:7.45pt!important}
  .one-page-clearance .exact-print-letterhead .contact-line,
  .one-page-clearance .exact-print-letterhead .email-line{font-size:7.25pt!important}
  .one-page-clearance .exact-print-letterhead .letterhead-lines{left:1.5mm!important;right:1.5mm!important;gap:.42mm!important}
}

/* v10.4.1 fixed horizontal official print letterhead.
   Uses a table layout so browser print engines cannot stack the coat of arms,
   institutional text and college logo vertically. */
.trainee-form .exact-print-letterhead{
  display:block!important;position:relative!important;width:100%!important;max-width:none!important;
  min-height:0!important;margin:0 0 1.8mm!important;padding:0!important;background:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;text-align:center!important;
}
.trainee-form .exact-print-letterhead .letterhead-table{
  width:100%!important;border:0!important;border-collapse:collapse!important;border-spacing:0!important;
  table-layout:fixed!important;margin:0!important;padding:0!important;background:#fff!important;
}
.trainee-form .exact-print-letterhead .letterhead-table td{
  border:0!important;background:#fff!important;padding:0!important;vertical-align:middle!important;
}
.trainee-form .exact-print-letterhead .letterhead-col-side{width:25mm!important}
.trainee-form .exact-print-letterhead .letterhead-side{
  width:25mm!important;text-align:center!important;vertical-align:middle!important;display:table-cell!important;
}
.trainee-form .exact-print-letterhead .letterhead-side img{
  display:block!important;width:20mm!important;height:20mm!important;max-width:20mm!important;
  margin:0 auto!important;object-fit:contain!important;
}
.trainee-form .exact-print-letterhead .letterhead-center-cell{
  width:auto!important;text-align:center!important;vertical-align:middle!important;padding:0 2.5mm!important;
}
.trainee-form .exact-print-letterhead .letterhead-center{
  display:block!important;width:100%!important;text-align:center!important;padding:0!important;margin:0!important;
}
.trainee-form .exact-print-letterhead .letterhead-center h2{
  margin:0 0 .55mm!important;color:#007a3d!important;font-size:11.8pt!important;line-height:1.02!important;
  font-weight:800!important;letter-spacing:0!important;text-transform:uppercase!important;white-space:nowrap!important;
}
.trainee-form .exact-print-letterhead .letterhead-center p{
  margin:.12mm 0!important;color:#000!important;font-size:7.35pt!important;line-height:1.03!important;font-weight:400!important;
}
.trainee-form .exact-print-letterhead .letterhead-center .ministry{
  font-size:7.75pt!important;line-height:1.02!important;font-weight:800!important;text-transform:uppercase!important;
}
.trainee-form .exact-print-letterhead .letterhead-center .department{
  font-size:7.35pt!important;line-height:1.02!important;font-weight:800!important;text-transform:uppercase!important;margin-bottom:.28mm!important;
}
.trainee-form .exact-print-letterhead .contact-line,
.trainee-form .exact-print-letterhead .email-line{font-size:7.15pt!important;line-height:1.03!important}
.trainee-form .exact-print-letterhead .letterhead-lines{
  position:static!important;display:grid!important;left:auto!important;right:auto!important;bottom:auto!important;
  width:100%!important;gap:.38mm!important;margin:.95mm 0 0!important;padding:0!important;
}
.trainee-form .exact-print-letterhead .letterhead-lines span:first-child{display:block!important;height:.62mm!important;background:#00843d!important}
.trainee-form .exact-print-letterhead .letterhead-lines span:last-child{display:block!important;height:.38mm!important;background:#e1a51a!important}

@media print{
  .one-page-clearance .exact-print-letterhead{display:block!important;margin:0 0 1.5mm!important;padding:0!important}
  .one-page-clearance .exact-print-letterhead .letterhead-table{display:table!important}
  .one-page-clearance .exact-print-letterhead .letterhead-side{display:table-cell!important}
  .one-page-clearance .exact-print-letterhead .letterhead-side img{width:20mm!important;height:20mm!important}
  .one-page-clearance .exact-print-letterhead .letterhead-center h2{font-size:11.8pt!important}
  .one-page-clearance .exact-print-letterhead .letterhead-lines{margin-top:.8mm!important}
}

/* v10.4.2 large-list pagination and compact record actions */
.list-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0}
.page-size-form{margin:0;align-items:end}
.page-size-form label{min-width:132px}
.pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 4px}
.page-number{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:32px;padding:0 8px;border:1px solid #cbd5df;border-radius:7px;background:#fff;color:var(--navy,#0b2942);text-decoration:none;font-weight:700}
.page-number:hover{border-color:var(--primary,#00843d);color:var(--primary,#00843d)}
.page-number.current{background:var(--primary,#00843d);border-color:var(--primary,#00843d);color:#fff}
.page-gap{padding:0 4px;color:#667788}
.btn.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}
.record-actions{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;min-width:240px}
.record-actions form{margin:0}
.action-pop{position:relative}
.action-pop>summary{list-style:none;cursor:pointer;user-select:none}
.action-pop>summary::-webkit-details-marker{display:none}
.action-pop[open]{z-index:20}
.action-pop .action-form{position:relative;right:auto;top:auto;z-index:30;width:min(640px,78vw);max-height:70vh;overflow:auto;background:#fff;border:1px solid #ccd7e0;border-radius:10px;padding:14px;margin-top:6px;box-shadow:0 10px 24px rgba(11,41,66,.12)}
.action-pop .action-form:not(.form-grid){display:grid;gap:10px;min-width:300px;width:360px}
@media(max-width:760px){
  .list-controls{align-items:flex-start;flex-direction:column}
  .record-actions{min-width:190px}
  .action-pop .action-form{position:relative;left:auto;right:auto;top:auto;width:86vw;max-height:76vh}
}

/* v10.4.3 clearance-form official header text treatment.
   Keep the college name and all official lines green, bold and uppercase
   on printed clearance/progress forms only. */
.trainee-form .exact-print-letterhead .letterhead-center p,
.trainee-form .exact-print-letterhead .letterhead-center .ministry,
.trainee-form .exact-print-letterhead .letterhead-center .department,
.trainee-form .exact-print-letterhead .letterhead-center .contact-line,
.trainee-form .exact-print-letterhead .letterhead-center .email-line{
  color:#007a3d!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.trainee-form .exact-print-letterhead .letterhead-center .contact-line,
.trainee-form .exact-print-letterhead .letterhead-center .email-line{
  font-size:7.15pt!important;
  line-height:1.03!important;
}

/* v10.4.5: requested 12pt typography on printed clearance form. */
@media print {
 .one-page-clearance .paper-details p,.one-page-clearance .reason-table,.one-page-clearance .reason-table .purpose,
 .one-page-clearance .paper-clearance-table,.one-page-clearance.progress-form .paper-clearance-table,
 .one-page-clearance .print-warning,.one-page-clearance .paper-final,.one-page-clearance .paper-footer,
 .one-page-clearance>h1,.one-page-clearance .paper-top-title {font-size:12pt!important;line-height:1.13!important}
 .one-page-clearance .paper-clearance-table td,.one-page-clearance .paper-clearance-table th {white-space:normal!important;overflow-wrap:break-word}
 .one-page-clearance {break-inside:auto!important;page-break-inside:auto!important}
}

/* Academic setup navigation */
.academic-submenu{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}
.academic-submenu-link{display:inline-flex;align-items:center;text-decoration:none;padding:10px 14px;border:1px solid #ccded4;border-radius:7px;color:#174c37;background:#f7fbf9;font-size:12pt;min-height:44px;font-weight:600}
.academic-submenu-link:hover,.academic-submenu-link:focus-visible{background:#e0f0e8;outline-offset:2px}
.academic-submenu-link.is-active{background:#176748;color:white;border-color:#176748}
@media(max-width:650px){.academic-submenu{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.academic-submenu-link{justify-content:center}}

/* Academic Setup: centered, first-screen navigation with accessible focus states */
.academic-nav-panel{padding:22px 24px!important;margin-bottom:18px}
.academic-nav-header{text-align:center;margin:0 auto 18px;max-width:690px}
.academic-nav-header h2{margin:0 0 7px;font-size:1.4rem}
.academic-nav-header p{margin:0;color:#53675e;font-size:12pt}
.academic-nav-panel .academic-submenu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 auto;align-items:stretch;max-width:1120px}
.academic-nav-panel .academic-submenu-link{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:9px;min-height:94px;padding:15px 8px;font-size:12pt;line-height:1.25;font-weight:700;border:2px solid #d5e7dc;background:#f7fbf8;border-radius:12px;color:#14523a;box-shadow:0 2px 8px rgba(11,53,36,.04);white-space:normal;overflow-wrap:anywhere;transition:background-color .15s,border-color .15s,box-shadow .15s}
.academic-nav-panel .academic-menu-icon{font-size:23px;line-height:1}
.academic-nav-panel .academic-submenu-link:hover{border-color:#1c805b;background:#e9f5ee;box-shadow:0 4px 12px rgba(14,77,52,.12)}
.academic-nav-panel .academic-submenu-link.is-active{color:#fff;background:#176748;border-color:#176748;box-shadow:0 4px 14px rgba(20,95,66,.18)}
.academic-nav-panel .academic-submenu-link:focus-visible{outline:3px solid #f1b937;outline-offset:3px}
@media(max-width:900px){.academic-nav-panel .academic-submenu{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.academic-nav-panel{padding:16px 12px!important}.academic-nav-panel .academic-submenu{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.academic-nav-panel .academic-submenu-link{min-height:82px;padding:10px 5px;gap:6px}.academic-nav-panel .academic-menu-icon{font-size:20px}}
@media(max-width:350px){.academic-nav-panel .academic-submenu{grid-template-columns:1fr}}

/* v10.4.6 Academic Setup: centered, accessible entry forms and record lists */
.academic-section-intro{max-width:1120px;margin:8px auto 14px;padding:0 8px;text-align:center}
.academic-section-intro .academic-eyebrow{display:block;color:#176748;text-transform:uppercase;font-size:10pt;font-weight:800;letter-spacing:.09em;margin-bottom:4px}
.academic-section-intro h2{font-size:1.35rem;margin:0 0 5px;color:#112f29}
.academic-section-intro p{font-size:12pt;color:#53675e;margin:0 auto;max-width:700px;line-height:1.5}
.academic-section-card{max-width:1120px;margin:0 auto 24px;padding:22px!important;overflow:visible}
.academic-section-card>h2{text-align:center;margin:0 0 18px;font-size:1.2rem;color:#133e2d}
.academic-section-card .academic-entry-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:17px;max-width:860px;margin:0 auto 24px;padding:22px;border:1px solid #d9e9df;border-radius:14px;background:#f9fcfa;align-items:end}
.academic-entry-form label{display:flex;flex-direction:column;min-width:0;gap:7px;font-size:12pt;font-weight:650;color:#193b2e;line-height:1.35}
.academic-entry-form input:not([type="checkbox"]),.academic-entry-form select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;font-size:12pt;border-radius:8px;border:1px solid #b9cec2;background:#fff;padding:9px 12px}
.academic-entry-form input:focus-visible,.academic-entry-form select:focus-visible{outline:3px solid #b7dec4;outline-offset:1px;border-color:#176748}
.academic-entry-form label:has(input[type="checkbox"]){flex-direction:row;align-items:center;align-self:center;gap:10px;min-height:46px}
.academic-entry-form input[type="checkbox"]{width:18px;height:18px;accent-color:#176748;flex-shrink:0}
.academic-entry-form .full{grid-column:1/-1;display:flex;justify-content:center;margin-top:4px}
.academic-entry-form .btn.primary{min-width:210px;min-height:46px;font-size:12pt;font-weight:700}
.academic-records-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #deebe3;margin:18px 0 12px;padding-top:20px}
.academic-records-heading h3{margin:0;font-size:1.05rem;color:#133e2d}
.academic-records-heading span{font-size:11pt;color:#66796f}
.academic-records{max-width:100%;overflow-x:auto}
.academic-records table{width:100%;font-size:12pt}
.academic-records th,.academic-records td{vertical-align:middle;padding:11px 10px}
.academic-records td form{display:inline-flex;margin:2px 3px 2px 0}
@media(max-width:700px){.academic-section-card{padding:14px!important}.academic-section-card .academic-entry-form{grid-template-columns:1fr;padding:16px;gap:14px}.academic-entry-form .full{grid-column:1}.academic-entry-form .btn.primary{width:100%}.academic-records-heading{align-items:flex-start;flex-direction:column}}
@media print{.academic-nav-panel,.academic-section-intro,.academic-section-card .academic-entry-form{display:none!important}}

/* Student admissions and registration: centered visible sections */
.student-academic-nav{max-width:1180px;margin:0 auto 20px;padding:24px!important}
.student-nav-heading{text-align:center;margin-bottom:20px}
.student-nav-heading h2{font-size:1.45rem;margin:0 0 8px;color:#123a2a}
.student-nav-heading p{font-size:12pt;color:#596f63;margin:0}
.student-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.student-nav-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:116px;padding:16px 12px;text-align:center;text-decoration:none!important;border:1px solid #cbded2;border-radius:12px;background:#f7faf8;color:#214132;gap:7px;font-size:12pt;transition:background .15s,border-color .15s}
.student-nav-tile:hover,.student-nav-tile:focus-visible{background:#e7f4eb;border-color:#368a60;outline-offset:2px}
.student-nav-tile.is-active{background:#e0f1e5;border:2px solid #278250;box-shadow:0 2px 12px #174a2715}
.student-nav-icon{font-size:23px;font-weight:750;color:#247a51;line-height:1}
.student-nav-tile strong{font-size:12pt;line-height:1.3}
.student-nav-tile small{font-size:10.5pt;color:#587267;line-height:1.3}
.student-section-intro{text-align:center;margin:18px auto 16px;max-width:960px}
.student-section-intro h2{font-size:1.35rem;color:#164731;margin:0 0 5px}
.student-section-intro p{font-size:12pt;color:#607568;margin:0}
.student-section-intro~.card{max-width:1140px;margin-left:auto;margin-right:auto}
.student-section-intro~.card .form-grid.academic-linked{max-width:980px;margin:20px auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.student-section-intro~.card .form-grid.academic-linked label{font-size:12pt;min-width:0}
.student-section-intro~.card .form-grid.academic-linked input,.student-section-intro~.card .form-grid.academic-linked select{font-size:12pt;min-height:44px;width:100%;box-sizing:border-box}
.student-section-intro~.card .form-grid.academic-linked .full{grid-column:1/-1;text-align:center}
.student-section-intro~.card .form-grid.academic-linked .btn.primary{font-size:12pt;min-height:44px}
@media(max-width:800px){.student-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.student-academic-nav{padding:15px!important}.student-nav-grid{gap:8px}.student-nav-tile{min-height:100px;padding:11px 7px}.student-section-intro~.card .form-grid.academic-linked{grid-template-columns:1fr}.student-section-intro~.card .form-grid.academic-linked .full{grid-column:1}}

/* Centered, always-visible System Settings navigation and selected forms */
.settings-navigation{max-width:1200px;margin:0 auto 18px!important;padding:22px!important}
.settings-nav-intro{text-align:center;margin-bottom:17px}
.settings-nav-intro h2{margin:0 0 6px;font-size:1.3rem}
.settings-nav-intro p{margin:0;font-size:12pt}
.settings-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1080px;margin:0 auto}
.settings-nav-tile{min-height:90px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:6px;padding:14px 12px;border:1px solid #cbded2;border-radius:12px;text-decoration:none;background:#f8fbf9;color:var(--navy,#0b2942);transition:background .15s,border-color .15s,box-shadow .15s}
.settings-nav-tile strong{font-size:12pt;line-height:1.25}
.settings-nav-tile span{font-size:10pt;color:#55706a;line-height:1.3}
.settings-nav-tile:hover,.settings-nav-tile:focus-visible{border-color:var(--brand-primary,#00843d);background:#eef8f1;box-shadow:0 3px 12px #103c2615}
.settings-nav-tile.active{background:#eaf5ec;border:2px solid var(--brand-primary,#00843d);box-shadow:inset 0 0 0 1px #ffffff90}
.settings-panel-area{max-width:1200px;margin:0 auto}
.settings-panel-area>.card{display:none}
.settings-panel-area>.card h2{margin-top:0}
.settings-panel-area>.card>.form-grid,.settings-panel-area>.card>.compact-form{max-width:1000px;margin:0 auto}
.settings-panel-area label,.settings-panel-area input,.settings-panel-area select,.settings-panel-area textarea,.settings-panel-area button{font-size:12pt}
.settings-selected-general>#general{display:block}
.settings-selected-finance-policy>#finance-policy{display:block}
.settings-selected-branding>#branding{display:block}
.settings-selected-email>#email{display:block}
.settings-selected-notifications>#notifications{display:block}
.settings-selected-clearance-types>#clearance-types{display:block}
.settings-selected-departments>#departments{display:block}
.settings-selected-privileges>#privileges{display:block}
.settings-selected-delivery-log>#delivery-log{display:block}
@media(max-width:820px){.settings-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.settings-navigation{padding:14px!important}.settings-nav-grid{grid-template-columns:1fr 1fr;gap:8px}.settings-nav-tile{min-height:82px;padding:10px 6px}.settings-nav-tile strong{font-size:11pt}.settings-nav-tile span{font-size:9pt}}

/* v10.4.19 — accessible per-role privileges editor */
.role-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:18px;align-items:start}
.role-access-card{min-width:0;margin:0;padding:16px;border:1px solid #d3e0e6;border-radius:12px;background:#fafdfb}
.role-access-card legend{font-weight:700;color:#18344e;padding:0 8px;font-size:16px}
.role-privilege-choice{display:flex;align-items:flex-start;gap:10px;padding:9px 4px;border-top:1px solid #e4edef;font-size:12pt;line-height:1.4;cursor:pointer}
.role-privilege-choice input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#087646}
.role-privilege-choice:focus-within{outline:2px solid #087646;outline-offset:2px}
.role-access-save{margin-top:20px;padding:15px;border-top:1px solid #d3e0e6;text-align:center}
@media(max-width:650px){.role-access-grid{grid-template-columns:1fr}.role-access-card{padding:12px}}
