*{box-sizing:border-box}body{color:#334155;background:#f7f2e7;margin:0;font-family:system-ui,-apple-system,sans-serif}main{gap:18px;max-width:760px;margin:auto;padding:28px 16px 40px;display:grid}header{align-items:center;gap:14px;display:flex}h1{color:#166534;margin:0;font-size:clamp(1.6rem,5vw,2.2rem)}h2{color:#334155;margin:0 0 14px;font-size:1.1rem}header p{color:#64748b;margin:5px 0}.mark{color:#fff;background:#15803d;border-radius:12px;place-items:center;width:48px;height:48px;font-size:24px;display:grid}section{background:#fffdf8;border:1px solid #ded7c8;border-radius:14px;padding:18px;box-shadow:0 2px 8px #33415512}label{margin-top:12px;font-weight:650;display:block}textarea,select{width:100%;font:inherit;color:#334155;background:#fff;border:1.5px solid #cbd5c0;border-radius:10px;min-height:44px;margin-top:7px;padding:12px;display:block}textarea:focus,select:focus{outline-offset:1px;outline:2px solid #16a34a}.grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.primary,.secondary,.copy{min-height:44px;font:inherit;cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:700}.primary{color:#fff;background:#15803d;border:0;font-size:1.05rem}.secondary{color:#166534;background:#fff;border:1px solid #15803d;margin-top:14px}.copy{float:right;color:#166534;background:#fff;border:1px solid #15803d;margin-top:-5px;font-size:.85rem}.resultHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.resultHead span{color:#166534;background:#dcfce7;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:700}.empty{text-align:center;color:#64748b;background:#f1f5f9;border-radius:10px;padding:18px}.error{color:#991b1b;background:#fee2e2;border-radius:8px;padding:10px}.templates{flex-wrap:wrap;gap:8px;display:flex}.sop{background:#f8fafc;border-color:#cbd5e1}.sopIntro p{color:#475569;margin:0;line-height:1.6}.sopSteps{margin:4px 0 0;padding-left:24px}.sopSteps li{padding:7px 0;line-height:1.55}.sopNote{color:#78350f;background:#fef3c7;border-radius:10px;margin-top:14px;padding:12px 14px;line-height:1.55}footer{text-align:center;color:#64748b;font-size:.85rem}@media (width<=640px){.grid{grid-template-columns:1fr}.copy{float:none;margin-top:0}main{padding-top:18px}}
