:root{--green:#164b3d;--mint:#c4e9b5;--ink:#1e3931;--muted:#5e736a;--line:#dce5df;--paper:#f5f8f4;--soft:#eaf3e7;--red:#a23227;--radius:20px;font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:var(--green)}button,a.button{cursor:pointer}button,.button{min-height:46px;padding:11px 20px;border:1px solid var(--green);border-radius:10px;background:var(--green);color:white;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;line-height:1.4}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.6;cursor:wait}button.secondary,.button.secondary{background:white;color:var(--green);border-color:var(--line)}button.quiet{background:transparent;color:var(--green);border:0;padding:8px 0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #47834c;outline-offset:3px}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:32px 24px;display:flex;flex-direction:column;gap:40px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.3;font-size:13px;font-weight:750;letter-spacing:.02em}.brand small{display:block;font-weight:450;color:var(--muted);font-size:12px;letter-spacing:0;margin-top:6px}.brandmark{border:1px solid var(--green);width:38px;height:42px;display:grid;place-items:center;border-radius:18px 18px 5px 5px;font-size:25px;flex-shrink:0}.navlabel,.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:750;color:var(--muted)}nav{display:grid;gap:5px}.navlink{display:flex;align-items:center;gap:11px;padding:12px 10px;text-decoration:none;border-radius:9px;font-size:14px;min-height:46px}.navlink.active{background:var(--soft);font-weight:700}.navnum{font-size:12px;color:var(--muted);min-width:22px}.navlink .dot{margin-left:auto;font-size:12px}.sidefoot{margin-top:auto;font-size:12px;color:var(--muted)}.sidefoot strong{display:block;color:var(--green);font-weight:650}.content{min-width:0}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:rgba(255,255,255,.5);gap:16px;font-size:13px;color:var(--muted)}.topbar .right{display:flex;align-items:center;gap:18px}.pill{border:1px solid var(--line);border-radius:50px;padding:5px 11px;font-size:11px;font-weight:700;white-space:nowrap}.mobilebrand{display:none}.main{max-width:1160px;margin:auto;padding:44px 48px 24px}h1,h2,h3,p{margin:0}h1{font-size:38px;line-height:1.2;letter-spacing:-1.3px;font-weight:650}h2{font-size:24px;line-height:1.3;letter-spacing:-.5px}h3{font-size:18px;line-height:1.4}p.lead{font-size:16px;color:var(--muted);margin-top:15px;max-width:630px}.eyebrow{margin-bottom:14px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:35px;align-items:center;padding:0 0 36px}.hero h1{max-width:610px}.hero p{margin-top:14px;max-width:550px;color:var(--muted)}.progresscard{background:var(--green);color:#fff;padding:25px;border-radius:18px}.progresscard .big{font-size:42px;line-height:1.2;letter-spacing:-2px}.progresscard .big span{font-size:20px;color:var(--mint);letter-spacing:0}.progresscard p{font-size:12px;color:#e1ecdf;margin-top:8px}.progresscard progress{width:100%;height:6px;display:block;margin-top:20px;accent-color:var(--mint);border:0;border-radius:10px;overflow:hidden;background:#487063}progress::-webkit-progress-bar{background:#487063}progress::-webkit-progress-value{background:var(--mint)}.sectionheading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:12px 0 19px}.sectionheading h2{font-size:18px}.sectionheading span{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.modulecard{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;min-height:253px}.cardtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.number{font-size:27px;letter-spacing:-1px;color:#718778;font-weight:400}.status{font-size:11px;padding:4px 10px;border-radius:30px;background:#f1f4f1;color:var(--muted)}.status.completed{background:#e2f1d9;color:var(--green)}.status.in_progress{background:#fff2d9;color:#775418}.modulecard h3{font-size:22px;font-weight:650}.modulecard p{font-size:14px;color:var(--muted);margin:7px 0 20px}.cardlink{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:12px;font-weight:750;letter-spacing:.03em;text-decoration:none;min-height:44px;border-top:1px solid var(--line);padding-top:14px}.cardlink span:last-child{font-size:20px}.reportcta{margin-top:22px;background:var(--soft);border-radius:16px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.reportcta p{font-size:13px;color:var(--muted);margin-top:4px}.footer{font-size:10px;letter-spacing:.04em;color:var(--muted);padding:32px 0 10px;border-top:1px solid var(--line);margin-top:40px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.back{display:inline-block;font-size:13px;text-decoration:none;margin-bottom:25px}.formhead{margin-bottom:28px}.formhead h1{font-size:34px}.formhead .lead{margin-top:11px}.formarea{max-width:800px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:20px}.panel.mint{background:var(--soft);border-color:#d3e4cf}.field{margin-bottom:25px;min-width:0}.field:last-child{margin-bottom:0}.field label,.field legend{font-weight:650;display:block;margin-bottom:9px;font-size:15px}.field small,.hint{display:block;color:var(--muted);font-size:13px;margin:6px 0 10px}.field input:not([type=radio]),.field textarea,.field select,.secretinput{width:100%;border:1px solid #b5c6ba;border-radius:9px;background:white;color:var(--ink);padding:12px 14px;min-height:48px;font-size:16px}.field textarea{min-height:135px;resize:vertical;line-height:1.7}.field textarea:focus,.field input:focus{border-color:var(--green)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--red)}fieldset.field{border:0;padding:0;margin-inline:0}.choices{display:flex;flex-wrap:wrap;gap:10px}.choice{display:flex!important;align-items:center;gap:9px;border:1px solid #b5c6ba;background:#fff;border-radius:10px;padding:11px 14px;min-height:48px;font-size:14px!important;font-weight:500!important;margin:0!important}.choice:has(input:checked){border-color:var(--green);background:#e5f1df}.choice input{accent-color:var(--green);width:18px;height:18px;margin:0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px}.twocol .field{margin-bottom:0}.required{font-size:12px;color:var(--muted);font-weight:400}.fieldError{color:var(--red)!important}.savebar{position:sticky;bottom:0;background:#f5f8f4f5;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.savebuttons{display:flex;gap:8px}.savestatus{font-size:13px;line-height:1.4}.error{color:var(--red)}.alert{padding:14px 18px;border:1px solid #d9a99f;background:#fff5f1;border-radius:10px;margin:14px 0;color:var(--red);font-size:14px}.alert:empty{display:none}.success{background:var(--soft);padding:20px;border-radius:12px;margin:20px 0}.success p{margin-top:8px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.success .button{margin-top:15px}.overviewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.overviewgrid article{border-top:2px solid var(--mint);padding-top:13px}.overviewgrid h3{font-size:14px}.overviewgrid p{font-size:13px;color:var(--muted);margin-top:8px}.secrets{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:14px}.secrets span b{color:#7b947b;padding-right:8px}.note{font-size:14px;border-left:3px solid var(--mint);padding-left:16px;margin-top:22px;color:var(--muted)}.stephead{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.result{background:var(--green);color:white;padding:28px;border-radius:18px;margin-bottom:22px}.result p{font-size:12px;letter-spacing:.08em}.result strong{font-size:44px;letter-spacing:-1px;line-height:1.6;font-weight:600}.result span{font-size:15px;color:var(--mint);margin-left:6px}.report{max-width:800px}.reportblock{background:white;border:1px solid var(--line);border-radius:16px;padding:26px;margin:20px 0;break-inside:avoid}.reportblock h2{font-size:20px;margin-bottom:20px}.reportblock .quote{font-size:22px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.reportblock.mint{background:var(--soft)}dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}dt{font-size:12px;color:var(--muted)}dd{margin:4px 0 0;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}.wide{grid-column:1/-1}.reportactions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.loginintro{background:var(--green);color:white;padding:60px;display:flex;flex-direction:column;justify-content:space-between;min-height:700px}.loginintro .brand,.loginintro small{color:#fff}.loginintro h1{font-size:52px;line-height:1.15;max-width:440px;margin:50px 0 25px}.loginintro p{color:#d1e4cd;max-width:420px}.loginform{padding:50px;display:flex;justify-content:center;flex-direction:column;max-width:550px;width:100%;margin:auto}.loginform h2{font-size:28px;margin-bottom:15px}.loginform p{color:var(--muted);margin-bottom:22px}.loginform label{display:block;margin:16px 0 8px}.loginform button{margin-top:15px}.loginform .minor{font-size:12px;margin-top:40px}.loginintro .tiny{font-size:11px;letter-spacing:.05em}.adminlist{display:grid;gap:18px}.admincard{background:white;padding:24px;border:1px solid var(--line);border-radius:16px;overflow-wrap:anywhere}.admincard h2{font-size:22px}.admincard>p{font-size:13px;color:var(--muted);margin:4px 0 22px}.admincard dl{grid-template-columns:repeat(3,minmax(0,1fr));font-size:14px}.admincard button{margin:20px 8px 0 0}.tokenbox input{width:100%;font-size:13px;padding:12px;border:1px solid var(--line);border-radius:8px}.loading{padding:70px;text-align:center}.empty{color:var(--muted);font-style:italic}.adminheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}[hidden]{display:none!important}
@media(min-width:1500px){.main{padding-top:60px}.hero h1{font-size:44px}}
@media(max-width:1100px){.shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:28px 17px}.main{padding:32px 28px 20px}.topbar{padding:0 28px}.hero{grid-template-columns:1fr 170px;gap:20px}h1{font-size:32px}.modulecard{padding:22px}.loginintro{padding:40px}.loginintro h1{font-size:42px}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.mobilebrand{display:block;color:var(--green);font-weight:700;font-size:12px;line-height:1.3}.desktopcrumb{display:none}.topbar{height:70px;padding:0 20px;gap:8px}.topbar .right{gap:10px}.topbar .pill{display:none}.topbar button{font-size:12px;min-height:44px}.main{padding:26px 20px 12px}.hero{grid-template-columns:1fr;padding-bottom:25px;gap:22px}h1{font-size:32px;letter-spacing:-.9px}.hero p{font-size:14px}.progresscard{padding:17px 20px;display:grid;grid-template-columns:90px 1fr;column-gap:16px;align-items:center}.progresscard .big{font-size:32px;grid-row:1/3}.progresscard p{margin-top:0}.progresscard progress{margin-top:8px}.cards{grid-template-columns:1fr;gap:14px}.modulecard{padding:22px;min-height:220px}.cardtop{margin-bottom:18px}.modulecard h3{font-size:22px}.sectionheading span{font-size:11px}.reportcta{align-items:flex-start;flex-direction:column;padding:22px;gap:14px}.reportcta .button{width:100%}.footer{font-size:9px;margin-top:30px;padding-top:22px}.formhead h1{font-size:29px}.formhead .lead{font-size:14px}.panel{padding:21px 18px;border-radius:15px}.twocol{grid-template-columns:1fr;gap:25px}.choices{flex-direction:column}.choice{width:100%}.overviewgrid{grid-template-columns:1fr;gap:20px}.overviewgrid article{padding-top:12px}.secrets{flex-direction:column;gap:6px}.savebar{align-items:stretch;flex-direction:column;padding:10px 0 14px;gap:8px}.savestatus{min-height:20px;font-size:12px}.savebuttons{display:grid;grid-template-columns:1fr 1.6fr}.savebuttons button{padding:11px 10px;font-size:13px}.back{margin-bottom:20px}.result{padding:22px}.result strong{font-size:39px}.reportblock{padding:22px 18px}.reportblock .quote{font-size:20px}dl{grid-template-columns:1fr;gap:16px}.login{grid-template-columns:1fr}.loginintro{padding:30px 25px;min-height:auto;gap:25px}.loginintro h1{font-size:34px;margin:10px 0 18px}.loginintro p{font-size:14px}.loginintro .tiny{display:none}.loginform{padding:35px 25px;max-width:none}.loginform .minor{margin-top:25px}.adminheading{align-items:flex-start;flex-direction:column}.admincard dl{grid-template-columns:1fr 1fr}.admincard button{width:100%;margin-right:0}}
@media(max-width:350px){.main{padding-inline:14px}.topbar{padding-inline:14px}h1{font-size:29px}.modulecard{padding:19px}.panel{padding:18px 14px}.sectionheading{align-items:flex-start;flex-direction:column;gap:2px}.savebuttons{grid-template-columns:1fr 1.4fr}.savebuttons button{font-size:12px}.progresscard{grid-template-columns:80px 1fr}}
@page{size:A4;margin:16mm}
@media print{body{background:#fff;color:#182c24;font-size:10pt}.sidebar,.topbar,.back,.savebar,.reportactions,.skip,.no-print,.footer .privacy{display:none!important}.shell{display:block}.main{max-width:none;padding:0}.report{max-width:none}.report h1{font-size:27pt}.report .lead{font-size:11pt}.reportblock{border:1px solid #bbc8bd;border-radius:0;margin:5mm 0;padding:5mm;background:white!important;break-inside:avoid;box-shadow:none}.reportblock h2{font-size:14pt;margin-bottom:4mm}.reportblock .quote{font-size:13pt}.reportblock dl{grid-template-columns:1fr 1fr;gap:4mm}.reportblock dd{font-size:10pt}.reportblock dt{font-size:9pt}.footer{margin-top:8mm;font-size:8pt}.eyebrow{font-size:8pt}.reportblock .wide{grid-column:1/-1}a{color:inherit;text-decoration:none}}
