:root{--pn:var(--navy,#284287);--pg:var(--green,#34A77B);--pr:var(--red,#B71C2B);--pl:var(--lime,#CCE256)}
*{box-sizing:border-box}
body.pg{margin:0;background:#eef1f7;font-family:Manrope,system-ui,sans-serif;color:#17203a}
.pg .wrap{max-width:760px;margin:0 auto;padding:20px 16px 60px}
.pg header.top{background:#fff;border-bottom:4px solid var(--pl);padding:14px 16px}
.pg header.top div{max-width:760px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pg .logo{font:800 26px Poppins,sans-serif;color:var(--pn);text-decoration:none}.pg .logo b{color:var(--pg)}
.pg header.top a.back{font-weight:700;color:var(--pn);text-decoration:none;font-size:14px}
.pg h1{font:800 28px/1.15 Poppins,sans-serif;color:var(--pn);margin:22px 0 6px}
.pg .card{background:#fff;border:1px solid #d9dfec;border-radius:16px;padding:22px;margin:14px 0;box-shadow:0 2px 0 #d9dfec}
.pg label{display:block;font-weight:700;font-size:13px;margin:12px 0 5px}
.pg input,.pg select,.pg textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid #c8d0e2;border-radius:10px;background:#fff}
.pg textarea{min-height:120px;resize:vertical}
.pg input:focus,.pg select:focus,.pg textarea:focus{outline:3px solid #cce25688;border-color:var(--pn)}
.pg .btn{display:inline-block;border:0;border-radius:999px;padding:12px 22px;font:800 15px Manrope,sans-serif;cursor:pointer;text-decoration:none;background:var(--pn);color:#fff;margin:6px 8px 0 0}
.pg .btn.line{background:#fff;color:var(--pn);border:2px solid var(--pn)}
.pg .btn.g{background:var(--pg)}
.pg .btn[disabled]{opacity:.55}
.pg .msg{padding:11px 14px;border-radius:10px;margin:12px 0;font-weight:600;background:#fdecee;color:var(--pr)}
.pg .msg.ok{background:#e7f6ef;color:#17785a}
.pg .kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:10px 0}
.pg .kv span{color:#5b6580;font-size:14px}.pg .kv b{font-size:15px}
.pg .pill{display:inline-block;padding:4px 12px;border-radius:999px;font-weight:800;font-size:12px;background:#e8ecf7;color:var(--pn)}
.pg .pill.g{background:#e7f6ef;color:#17785a}.pg .pill.r{background:#fdecee;color:var(--pr)}
.pg .stars{display:flex;gap:6px}.pg .stars button{background:none;border:0;font-size:30px;color:#c8d0e2;cursor:pointer;padding:0}
.pg .stars button.on{color:#e8a400}
.pg .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.pg .row2{grid-template-columns:1fr}.pg .kv{grid-template-columns:1fr}}
.pg [hidden]{display:none!important}
.sheet{background:#fff;max-width:820px;margin:20px auto;padding:36px;border:1px solid #d9dfec}
.sheet h2{font:800 22px Poppins,sans-serif;color:var(--pn);margin:0}
.sheet table{width:100%;border-collapse:collapse;margin:16px 0}.sheet td,.sheet th{padding:9px 10px;border-bottom:1px solid #e3e7f1;text-align:left;font-size:14px}.sheet td.r,.sheet th.r{text-align:right}
.noprint{max-width:820px;margin:16px auto;text-align:center}
@media print{body.pg{background:#fff}.noprint,header.top{display:none!important}.sheet{border:0;margin:0;max-width:none;padding:0}@page{margin:14mm}}
.cert{aspect-ratio:1.414;border:12px solid var(--pn);outline:4px solid var(--pl);outline-offset:-22px;padding:6% 8%;text-align:center;display:flex;flex-direction:column;justify-content:center;background:#fff;max-width:1000px;margin:20px auto}
.cert .k{letter-spacing:.3em;font-weight:800;color:var(--pg);font-size:14px}
.cert h2{font:800 40px Poppins,sans-serif;color:var(--pn);margin:6px 0}
.cert .nm{font:800 34px Poppins,sans-serif;color:var(--pr);margin:10px 0;border-bottom:2px solid var(--pl);display:inline-block;padding:0 24px 6px;align-self:center}
.cert p{margin:6px 0;color:#2b3454}
.cert .sg{display:flex;justify-content:space-around;margin-top:28px;gap:20px}.cert .sg div{border-top:2px solid #17203a;padding-top:6px;min-width:180px;font-weight:700;font-size:14px}.cert .sg small{display:block;font-weight:500;color:#5b6580}
.cert .cd{margin-top:14px;font-size:11px;color:#5b6580}
@media print{.cert{width:100%;max-width:none;break-inside:avoid}}
.dk-res{padding:14px;border-radius:12px;margin:10px 0;border:2px solid #d9dfec;background:#fff}
.dk-res.ok{border-color:var(--pg);background:#e7f6ef}.dk-res.warn{border-color:#e8a400;background:#fff6dc}.dk-res.bad{border-color:var(--pr);background:#fdecee}
.dk-big{font:800 20px Poppins,sans-serif}
video{width:100%;border-radius:12px;background:#000;max-height:300px;object-fit:cover}