@font-face{font-family:Lexend Deca;src:url(assets/LexendDeca-Regular.ttf)}@font-face{font-family:Lexend Deca;src:url(assets/LexendDeca-Bold.ttf);font-weight:700}
:root{font-family:"Lexend Deca",Arial,sans-serif;color:#24372e;background:#f3f5ec;line-height:1.55;--green:#244f3d;--border:#b5c6b7;--purple:#634687}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.65rem max(1rem,calc((100% - 62rem)/2));background:#fff;border-bottom:1px solid var(--border)}
.brand,.tools,.actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.brand{font-weight:700}.brand img{width:43px;height:43px;object-fit:contain}
main{width:min(94%,52rem);margin:2rem auto 4rem}.hero{background:var(--green);color:white;border-radius:1.2rem;padding:1.45rem 1.8rem}.hero p{margin:.15rem 0}.hero h1{font-size:clamp(2rem,7vw,3.2rem);line-height:1.1;margin:.35rem 0}.card{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:clamp(1rem,4vw,1.8rem);margin-top:1rem}h2{font-size:clamp(1.3rem,4vw,1.75rem);line-height:1.25;margin:0 0 .7rem}h3{font-size:1.06rem;margin:1.4rem 0 .5rem}
button,input,select{font:inherit}button{padding:.58rem .9rem;border-radius:.55rem;border:2px solid var(--green);background:var(--green);color:white;font-weight:700;cursor:pointer}.secondary{background:white;color:var(--green)}button:hover:not(:disabled){filter:brightness(.92)}button:disabled{opacity:.56;cursor:default}
:focus-visible{outline:3px solid #9a4c05;outline-offset:3px}
label.field{display:grid;gap:.3rem;margin:.8rem 0}input:not([type=radio]),select{padding:.5rem;border:1px solid #668271;border-radius:.45rem;min-width:0;background:#fff;color:inherit}input[type=text]{width:min(100%,26rem)}input[inputmode=numeric]{width:8rem}input[aria-invalid=true],select[aria-invalid=true]{border:2px solid #9b3028}
.progress{font-weight:700;font-size:.9rem;margin:0 0 .65rem;color:#3f644e}.actions{margin-top:1.1rem}.parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:1rem 0}.part{display:grid;text-align:center;padding:.55rem .25rem;border:1px solid var(--border);border-radius:.6rem;gap:.35rem}.part[data-color=purple],.purple{background:var(--purple);color:#fff}.part[data-color=white],.white{background:#eee9f5;color:#332547}.part select{width:100%;font-size:.9rem;padding:.35rem .18rem}
.feedback:empty,#file-status:empty{display:none}.feedback{padding:.65rem .8rem;border-left:4px solid #9b3028;background:#fff0e9;margin:1rem 0 .3rem}.feedback.good{border-color:var(--green);background:#e9f4e9}
table{border-collapse:collapse;width:100%;margin:.7rem 0}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}th{background:#e8f1e7}
.bar{display:flex;height:1.45rem;border:1px solid #685579;border-radius:.4rem;overflow:hidden}.bar span{display:block}.bar-label{display:block;margin:.55rem 0 .2rem;font-size:.92rem}.legend{font-size:.94rem}
fieldset{border:1px solid var(--border);border-radius:.6rem;margin:1rem 0;padding:.55rem .8rem}legend{font-weight:700;padding:0 .25rem}.choice{display:flex;align-items:baseline;gap:.5rem;margin:.4rem 0;padding:.27rem}.choice input{flex:none;accent-color:var(--purple)}.certificate{text-align:center}.certificate dl{display:grid;grid-template-columns:auto auto;justify-content:center;gap:.45rem 1rem;text-align:left}.certificate dd{margin:0;font-weight:700}
@media(max-width:420px){.parts{grid-template-columns:repeat(2,minmax(0,1fr))}th,td{padding:.35rem}}
@media print{header,.hero,#file-status,.certificate .actions,.certificate .submission{display:none}body,main{background:white;margin:0;width:100%}.card{border:0}.certificate{padding:2rem}}
