:root{--navy:#082a4a;--deep:#061d35;--blue:#1253a1;--line:#dbe4ef;--muted:#61718a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f8fc;color:#10243d;font-family:Inter,'Segoe UI',Arial,sans-serif}.topbar{background:#062744;color:white;display:flex;justify-content:space-between;padding:9px max(5%,calc((100vw - 1220px)/2));font-size:11px}.header{height:90px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1220px)/2));box-shadow:0 3px 14px #0b315015;position:relative;z-index:3}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--navy)}.brand strong{font:700 19px Georgia,serif;display:block}.brand small{font-size:12px;display:block;margin-top:5px;letter-spacing:.8px}.seal{border:3px double #cda64e;border-radius:50%;width:62px;height:62px;background:#082a4a;color:white;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:800;font-size:20px;box-shadow:inset 0 0 0 5px #082a4a,inset 0 0 0 6px #cda64e}.seal span{color:#cda64e;margin:0 1px}nav{display:flex;gap:23px}nav a{font-size:13px;text-decoration:none;color:#223750;font-weight:600}nav a:hover,nav .selected{color:#1460b9}.menu{display:none;background:none;border:0;font-size:24px}.hero{height:385px;background:linear-gradient(90deg,rgba(4,25,44,.86),rgba(4,25,44,.05)),url('assets/campus-reference.jpg') center 40%/cover no-repeat}.heroShade{padding:80px max(5%,calc((100vw - 1220px)/2));color:white}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#d6e5f5}.hero h1{font:700 clamp(34px,4vw,54px)/1.09 Georgia,serif;margin:12px 0}.hero p{font-size:15px}.heroLink{color:white;display:inline-block;margin-top:18px;font-size:13px;text-decoration:none;border-bottom:1px solid #fff;padding-bottom:7px}.resultsHero{background:linear-gradient(125deg,#052b4f,#073966);padding:36px 5% 45px}.sectionHeading{text-align:center;color:white}.sectionHeading h2{font:700 32px Georgia,serif;margin:5px}.sectionHeading p{margin:4px 0 26px;font-size:14px;color:#d6e6f8}.cap{font-size:29px}.searchCard{background:white;max-width:1160px;margin:auto;border-radius:12px;padding:25px;box-shadow:0 10px 30px #00162b38;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.searchCard label{font-size:12px;font-weight:700;font-family:Georgia,serif}.searchCard input,.searchCard select{display:block;width:100%;margin-top:9px;border:1px solid #d4dfed;border-radius:6px;padding:14px 12px;background:#f8fbff;color:#243750;font-family:inherit;font-size:13px}.primary{border:0;border-radius:6px;background:#0b3b70;color:white;padding:14px 22px;font-weight:700;cursor:pointer;box-shadow:0 3px 9px #102b4a20}.primary:hover{background:#12569c}.searchCard button{grid-column:2;justify-self:stretch}.error{text-align:center;color:#ffccd0;min-height:4px}.quickActions{max-width:1160px;margin:24px auto 42px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 10px}.quickActions article{display:flex;gap:13px;align-items:center;background:white;border:1px solid #e4ebf3;border-radius:10px;padding:19px 14px;box-shadow:0 6px 17px #0d35500a}.quickActions b{background:#1462b8;color:white;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:21px}.quickActions strong{font-size:12px;display:block}.quickActions small{color:var(--muted);display:block;margin-top:5px;font-size:10px}.resultPanel{max-width:1160px;margin:0 auto 60px;background:white;border:1px solid #e1e9f2;border-radius:12px;padding:28px;box-shadow:0 8px 30px #1235520c}.hidden{display:none!important}.panelTop{display:flex;justify-content:space-between;align-items:center;gap:16px}.panelTop h2{font:700 27px Georgia,serif;margin:3px 0 15px}.blue{color:#2463aa}.buttons{display:flex;gap:9px}.outline{border:1px solid #bdd0e3;background:white;color:#0b3b70;border-radius:6px;padding:13px;cursor:pointer;font-weight:700}.studentInfo{display:flex;gap:24px;background:#f7faff;border:1px solid #e1eaf5;padding:20px;border-radius:9px}.studentInfo img{width:114px;height:145px;object-fit:cover;object-position:top;border:4px solid white;box-shadow:0 2px 8px #0002}.studentFields{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;flex:1}.studentFields small{display:block;color:#708097;font-size:11px;margin-bottom:5px}.studentFields strong{font-size:13px}.semesterBlock{margin-top:25px}.semesterHead{background:#eaf1f9;border:1px solid #cbd9e8;padding:12px 15px;display:flex;justify-content:space-between;gap:12px;font-weight:800;font-size:13px}.gradeTable{width:100%;border-collapse:collapse;font-size:12px}.gradeTable th{background:#f6f8fb;text-align:left}.gradeTable th,.gradeTable td{padding:10px 12px;border:1px solid #d8e2ed}.gradeTable td:last-child,.gradeTable th:last-child{text-align:center}.summary{display:flex;justify-content:space-between;gap:15px;background:#082d51;color:white;border-radius:7px;margin-top:24px;padding:20px;font-weight:700}.infoSection{max-width:1160px;margin:65px auto;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding:0 12px}.infoSection h2{font:700 32px Georgia,serif}.infoSection p{color:#66778a;line-height:1.7}.infoBox{padding:25px;background:white;border:1px solid #e1e9f1;border-radius:10px}footer{background:#061f37;color:white;padding:35px max(5%,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;align-items:center;font-size:13px}footer p{color:#b8c8d9}.modal{position:fixed;inset:0;background:#001c35a8;display:grid;place-items:center;z-index:20;padding:20px}.modalCard{position:relative;background:white;border-radius:12px;max-width:550px;padding:32px;line-height:1.6}.close{position:absolute;right:15px;top:8px;font-size:30px;background:none;border:0;cursor:pointer}.adminGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.adminGrid div{padding:15px;background:#f0f5fa;border-radius:8px}.adminGrid b{display:block;font-size:12px}.adminGrid strong{font-size:27px}.muted{font-size:12px;color:#68798b}#printArea{display:none}@media(max-width:850px){.header{height:auto;min-height:77px;padding:10px 5%}.brand strong{font-size:14px}.seal{width:48px;height:48px;font-size:15px}nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;flex-direction:column;padding:20px;box-shadow:0 12px 20px #0002}nav.open{display:flex}.menu{display:block}.searchCard{grid-template-columns:1fr 1fr}.searchCard button{grid-column:1/-1}.quickActions{grid-template-columns:repeat(2,1fr)}.studentFields{grid-template-columns:repeat(2,1fr)}.hero{height:340px}.heroShade{padding-top:65px}}@media(max-width:560px){.topbar span:last-child{display:none}.hero h1{font-size:33px}.hero{height:315px}.searchCard{grid-template-columns:1fr}.quickActions{grid-template-columns:1fr 1fr}.quickActions article{padding:11px;gap:6px}.quickActions strong{font-size:11px}.quickActions small{font-size:9px}.quickActions b{width:30px;height:30px}.panelTop,.studentInfo{flex-direction:column;align-items:flex-start}.studentFields{grid-template-columns:1fr 1fr}.resultPanel{padding:12px}.gradeTable{font-size:10px}.gradeTable td,.gradeTable th{padding:7px 4px}.infoSection{grid-template-columns:1fr}.summary{flex-direction:column}footer{flex-direction:column;align-items:flex-start}.buttons{flex-wrap:wrap}}
@media print{@page{size:legal;margin:9mm}body>*:not(#printArea){display:none!important}#printArea{display:block!important;font-family:Georgia,'Times New Roman',serif;color:#111}.printHead{text-align:center;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:16px}.printHead h1{font-size:19px;margin:4px}.printHead h2{font-size:15px;text-decoration:underline}.printStudent{display:grid;grid-template-columns:1fr 95px;gap:15px;margin:15px 0}.printStudent img{width:90px;height:110px;object-fit:cover}.printFields{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px}.printTable{width:100%;border-collapse:collapse;font-size:9px}.printTable td,.printTable th{border:1px solid #222;padding:5px}.printBlock{break-inside:avoid;margin:12px 0}.printBlock h3{font-size:11px;border:1px solid #222;margin:0;padding:6px;background:#eee}.printFooter{margin-top:20px;font-size:10px;border-top:1px solid #333;padding-top:10px}.printWatermark{color:#777;font-size:10px}.gradeTable{font-size:9px}}

@media print{.printBrand{display:flex;align-items:center;justify-content:center;gap:14px}.printSeal{width:57px;height:57px;flex:none;border:3px double #a48740;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#082a4a;color:white;font:700 18px Georgia,serif}.printSeal span{color:#e4c46e}.printSignatures{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-top:25px;break-inside:avoid}.signatureBox{width:46%;text-align:center;font-size:9px}.signatureBox img{width:100%;max-width:235px;height:66px;object-fit:contain;object-position:center bottom}.signatureLine{border-bottom:1px solid #333;height:66px}.printFooter{break-inside:avoid}.printWatermark{font-weight:bold;color:#444}}

/* Integrated academic transcript certification footer */
@media print {
  .printHead {border-bottom:3px solid #0b355b;color:#0b355b;}
  .printHead h2 {color:#0b355b;text-decoration:none;letter-spacing:.3px;}
  .printBlock h3 {background:#eaf1f8!important;border-color:#9eb4ca;color:#0b355b;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .printTable th {background:#edf3f9!important;color:#0b355b;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .printFooter {border-top:2px solid #0b355b;padding-top:8px;}
  .transcriptCertification {margin-top:14px;border:1px solid #b4c6d8;border-top:4px solid #0b355b;background:#f7fafd!important;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .certificationTop {display:flex;justify-content:space-between;gap:10px;padding:7px 11px;background:#e9f0f7!important;color:#0b355b;font:700 9px Georgia,serif;letter-spacing:.2px;border-bottom:1px solid #b4c6d8;}
  .certificationBody {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 12px;}
  .certificationNote {display:flex;flex-direction:column;gap:6px;max-width:65%;font:10px Georgia,serif;color:#183750;}
  .certificationNote strong {font-size:12px;} .certificationNote small {font-size:9px;}
  .certificationSignature {width:140px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;color:#0b355b;}
  .certificationSignature img {width:110px;height:48px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.3);}
  .certificationSignature strong {font:700 10px Georgia,serif;border-top:1px solid #0b355b;width:100%;padding-top:4px;}
  .certificationSignature small {font-size:7px;color:#50677c;}
}

/* Print footer fix: high specificity and print-color retention */
@media print {#printArea .printFooter{display:block!important;break-inside:avoid!important}#printArea .printFooter>div{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}#printArea .printFooter p{line-height:1.45!important}}

.brandLogo{width:66px;height:66px;object-fit:contain;flex:none}
@media(max-width:850px){.brandLogo{width:49px;height:49px}}
@media print{
@page{size:A4;margin:11mm 13mm}
#printArea{position:relative;isolation:isolate;font-family:Georgia,'Times New Roman',serif!important;color:#161b24!important}
#printArea>*:not(.transcriptWatermark){position:relative;z-index:1}
.transcriptWatermark{position:fixed!important;inset:30% 12% auto 12%;height:115mm;background:url('assets/uor-logo.jpg') center/contain no-repeat;opacity:.055;z-index:0!important;pointer-events:none}
.printHead{min-height:89px;position:relative;text-align:center;padding:5px 82px 11px 0;border-bottom:2px solid #1d2734;margin-bottom:10px;color:#161b24!important}
.printHead h1{font-size:17px;margin:2px 0 3px}.printHead div{font-size:12px}.printHead h2{font-size:13px;margin:7px 0 4px;text-decoration:underline;color:#161b24!important}.printHead strong{font-size:13px}
.printLogo{position:absolute;right:0;top:0;width:68px;height:68px;object-fit:contain}
.printStudent{margin:9px 0 10px;grid-template-columns:1fr 76px;gap:12px}.printStudent img{width:74px;height:94px;object-fit:cover}.printFields{font-size:10px;gap:5px 10px}
.printBlock{margin:8px 0;break-inside:avoid}.printBlock h3{font-size:10px;padding:4px 6px;background:transparent!important;color:#151515!important;border:1px solid #333}.printTable{font-size:8px}.printTable th,.printTable td{padding:3px 5px;border:1px solid #555}.printTable th{background:transparent!important;color:#151515!important}.printTable th:nth-child(3){width:39%}
.printFooter{margin-top:12px;border-top:1px solid #333!important;color:#161b24!important;padding-top:7px;break-inside:avoid}.printCgpa{font-size:11px;font-weight:bold}.sampleNotice{font-size:8px;color:#555;line-height:1.4}.printCertification{display:flex;justify-content:space-between;align-items:flex-end;margin-top:12px;font-size:9px}.printCertification small{font-size:8px}.signaturePlaceholder{text-align:center;min-width:180px;color:#666}.signaturePlaceholder span{display:block;font-size:8px;font-style:italic;padding-bottom:24px;border-bottom:1px solid #555}.signaturePlaceholder strong{display:block;color:#222;margin-top:4px;font-size:9px}
}

/* Logo: fixed size on every screen, never expands layout */
.header .brandLogo{display:block!important;width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;min-width:58px!important;object-fit:contain!important;flex:0 0 58px!important;position:static!important;margin:0!important}
.header .brand{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}.header .brand>div{min-width:0}.header .brand strong{font-size:clamp(13px,1.3vw,19px)!important;line-height:1.2!important}.header .brand small{font-size:11px!important}
@media(max-width:600px){.header .brandLogo{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;min-width:44px!important;flex-basis:44px!important}.header .brand strong{font-size:12px!important}.header .brand small{font-size:9px!important}}

/* Header logo is a bounded background, never an unbounded image */
.header .brandLogoFrame{width:58px;height:58px;flex:0 0 58px;overflow:hidden}@media(max-width:600px){.header .brandLogoFrame{transform:scale(.76);transform-origin:left center;margin-right:-12px}}

/* Approved transcript controller signature in the fallback print area. */
@media print{#printArea .controllerSignatureImg{display:block;width:46mm;height:17mm;object-fit:contain;object-position:center bottom;margin:0 auto 3px}#printArea .signaturePlaceholder{min-width:46mm}#printArea .signaturePlaceholder strong{border-top:1px solid #555;padding-top:4px}}
