*{box-sizing:border-box}body{margin:0;font-family:Montserrat,Arial,sans-serif;background:#FFFFFF;color:#000000}.top{height:auto;min-height:74px;background:#FFFFFF;border-bottom:1px solid #CCCCCC;display:flex;align-items:center;justify-content:space-between;padding:12px max(18px,calc((100% - 1120px)/2));gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#000000}.brand img{width:48px;height:48px;object-fit:contain}.brand span{display:grid}.brand small{color:#0099FF;font-weight:700;margin-top:3px}.top nav{display:flex;gap:16px;flex-wrap:wrap}.top nav a{color:#000000;text-decoration:none;font-weight:700}main{min-height:calc(100vh - 74px)}.shell{width:min(1120px,calc(100% - 28px));margin:34px auto}.hero{background:#0099FF;color:white;border-radius:24px;padding:38px;display:grid;grid-template-columns:1.3fr .7fr;gap:28px}.hero h1{font-size:clamp(2rem,5vw,3.6rem);margin:.2em 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#FFCC66;font-weight:800;font-size:.8rem}.card{background:#FFFFFF;border:1px solid #CCCCCC;border-radius:20px;padding:24px;box-shadow:0 10px 28px #0000000d}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.button,button{border:0;border-radius:12px;background:#0099FF;color:white;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-block}.button.secondary{background:white;color:#000000}.field{display:grid;gap:7px;margin:0 0 16px}.field label{font-weight:800}.field input,.field textarea{width:100%;border:1px solid #CCCCCC;border-radius:12px;padding:13px;font:inherit}.muted{color:#000000}.notice{border-radius:14px;padding:14px 16px;background:#FFFFFF7df;border:1px solid #FFCC66;margin-bottom:18px}.identity{background:#FFFFFF;border:1px solid #0099FF;border-radius:16px;padding:18px}.identity dl{display:grid;grid-template-columns:160px 1fr;gap:8px;margin:0}.identity dt{font-weight:800}.preview{position:relative;overflow:hidden;aspect-ratio:1.414/1;background:white;border:10px solid #FF9900;border-radius:4px;padding:7%;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.preview:after{content:'PREVIEW · NOT APPROVED';position:absolute;transform:rotate(-23deg);font-size:clamp(1.4rem,4vw,3.4rem);font-weight:900;color:#00000014;white-space:nowrap}.preview .cert-name{width:88%;text-align:center;font-weight:900;color:#FF9900;font-size:clamp(1.25rem,3vw,2.5rem);border-bottom:2px solid #000000;padding:8px 4px}.preview h2{font-size:clamp(1.2rem,3vw,2.4rem);margin:.2em}.preview p{margin:.6em 0}.status{font-weight:800;text-transform:capitalize}.status.pending{color:#FF9900}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #CCCCCC}footer{text-align:center;color:#000000;padding:32px}.auth{max-width:560px;margin:48px auto}.error{background:#FFFFFF0ef;border:1px solid #FF9900;padding:12px;border-radius:12px;margin-bottom:15px}@media(max-width:760px){.hero,.grid{grid-template-columns:1fr}.hero{padding:25px}.top{align-items:flex-start;flex-direction:column}.identity dl{grid-template-columns:1fr}.shell{margin-top:20px}.card{padding:18px}.preview{padding:5%;border-width:6px}table{font-size:.9rem}.table-wrap{overflow-x:auto}}

/* Phase 2 — professional dynamic certificate preview */
.button.small{padding:8px 11px;border-radius:9px;font-size:.82rem;white-space:nowrap}.preview-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.preview-toolbar h1{margin:.2em 0}.certificate-stage{width:100%;overflow-x:auto;padding:12px 0 18px}.certificate-sheet{position:relative;width:min(100%,1120px);aspect-ratio:297/210;margin:0 auto;background:#FFFFFF;overflow:hidden;border:1px solid #CCCCCC;box-shadow:0 20px 50px #00000022}.certificate-sheet:before{content:"";position:absolute;inset:0;border:14px solid #FF9900;pointer-events:none}.certificate-sheet:after{content:"";position:absolute;inset:18px;border:2px solid #000000;pointer-events:none}.certificate-inner{position:absolute;inset:5.5% 7%;display:flex;flex-direction:column;align-items:center;text-align:center;color:#000000}.certificate-logo{width:6.8%;min-width:42px;max-width:78px;height:auto;object-fit:contain;margin-bottom:.7%}.certificate-university{font-weight:800;font-size:clamp(.56rem,1.15vw,1rem);letter-spacing:.045em}.certificate-union{font-weight:900;font-size:clamp(.65rem,1.35vw,1.15rem);letter-spacing:.08em;color:#0099FF;margin-top:.15%}.certificate-rule{width:58%;height:2px;background:#FF9900;margin:1% auto}.certificate-title{font-family:Georgia,'Times New Roman',serif;font-weight:900;font-size:clamp(1.45rem,4.2vw,3.55rem);letter-spacing:.08em;line-height:.95;color:#000000}.certificate-subtitle{font-family:Georgia,'Times New Roman',serif;font-size:clamp(.9rem,2.2vw,1.85rem);letter-spacing:.16em;color:#FF9900;margin:.4% 0 1.4%}.certificate-presented{font-size:clamp(.5rem,1.05vw,.9rem);font-weight:800;letter-spacing:.13em}.certificate-name-wrap{width:82%;height:10%;min-height:34px;display:flex;align-items:center;justify-content:center;border-bottom:2px solid #000000;margin:.6% auto 1%}.certificate-name{display:inline-block;max-width:100%;white-space:nowrap;text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:900;font-style:italic;color:#FF9900;font-size:42px;line-height:1}.certificate-copy{font-family:Georgia,'Times New Roman',serif;font-size:clamp(.55rem,1.12vw,.95rem);line-height:1.25}.certificate-position,.certificate-area{font-family:Georgia,'Times New Roman',serif;font-weight:800;color:#000000;font-size:clamp(.68rem,1.45vw,1.22rem);line-height:1.15;max-width:88%}.certificate-year{font-family:Georgia,'Times New Roman',serif;font-weight:800;color:#FF9900;font-size:clamp(.62rem,1.25vw,1.05rem);margin-top:.65%}.certificate-signatures{margin-top:auto;width:100%;display:grid;grid-template-columns:1fr 100px 1fr;align-items:end;gap:5%;font-size:clamp(.46rem,.9vw,.78rem)}.certificate-signatures>div:not(.verification-reserve){display:grid;justify-items:center}.signature-line{height:1px;background:#000000;width:75%;margin-bottom:5px}.certificate-signatures small{display:block;color:#000000;margin-top:2px}.verification-reserve{width:72px;height:72px;border:1px dashed #CCCCCC;border-radius:8px;display:grid;place-content:center;color:#000000;line-height:1.05;margin:auto}.verification-reserve span{font-size:7px;letter-spacing:.08em}.verification-reserve b{font-size:18px}.verification-reserve small{font-size:7px}.certificate-meta{width:100%;display:flex;justify-content:space-between;gap:15px;color:#000000;font-size:clamp(.38rem,.72vw,.62rem);margin-top:1.2%}.preview-watermark{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%) rotate(-23deg);font-weight:900;font-size:clamp(2rem,6vw,5.5rem);color:#00000012;white-space:nowrap;pointer-events:none;z-index:5}.preview-protection{text-align:center;color:#000000;font-size:.9rem;max-width:850px;margin:8px auto}.preview-page{-webkit-user-select:none;user-select:none}@media print{.preview-page{display:none!important}body:after{content:'Certificate previews cannot be printed before approval.';display:block;padding:40px;font:700 20px Arial}}
@media(max-width:760px){.preview-toolbar{display:grid}.certificate-stage{margin-left:-6px;margin-right:-6px;width:calc(100% + 12px)}.certificate-sheet{min-width:660px}.certificate-signatures{grid-template-columns:1fr 78px 1fr}.verification-reserve{width:58px;height:58px}}

/* Phase 4 — official issuance and verification; MMUST CU approved palette only */
.verification-valid{border:2px solid #0099FF;border-top:8px solid #FF9900}.verification-valid h2{color:#0099FF;margin-top:0}.verification-valid dl{display:grid;grid-template-columns:150px 1fr;gap:10px 18px}.verification-valid dt{font-weight:800}.verification-valid dd{margin:0}.status.approved{color:#0099FF}.status.returned,.status.rejected{color:#000000}@media(max-width:600px){.verification-valid dl{grid-template-columns:1fr;gap:4px}.verification-valid dd{margin-bottom:10px}}
