[hidden]{display:none !important}
:root{--red:#7A1F1F;--ink:#1d1d1d;--muted:#666;--line:#ddd;--bg:#faf8f5}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.2rem;background:var(--red);color:#fff;flex-wrap:wrap}
header .brand small{display:block;opacity:.85;font-size:.8rem}header nav a,header nav .link{color:#fff;margin-left:1rem}header .who{margin-left:1rem;opacity:.85;font-size:.9rem}
body.embed header{display:none}
main{max-width:860px;margin:1.5rem auto;padding:0 1rem}main.wide{max-width:1200px}
h1{color:var(--red);margin:.2rem 0}h2{color:var(--red);font-size:1.25rem;margin:1.4rem 0 .4rem}h3{color:var(--red);font-size:1.05rem;margin:1.1rem 0 .3rem}
.sub{font-style:italic;margin:.2rem 0}.meta{color:var(--muted);font-size:.85rem}
.doc,.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.4rem}
.doctext{max-height:60vh;overflow:auto;border:1px solid var(--line);padding:1rem;border-radius:6px;background:#fffefc}
.doctext p,.doctext li{font-size:.95rem}
.notice{background:#FFF2CC;border:1px solid #e0c060;padding:.5rem .8rem;color:#a00;font-weight:700;border-radius:4px}
.box{border:2px solid #222;padding:.6rem .8rem;font-weight:700;text-transform:uppercase;font-size:.85rem;margin:.6rem 0;background:#f7f7f7}
.initials{text-align:right;font-weight:700;margin:.4rem 0}.initials input{font-weight:700;text-transform:uppercase;text-align:center}
label{display:block;margin:.7rem 0 .2rem;font-weight:600}label input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:.55rem;border:1px solid #bbb;border-radius:6px;font:inherit;margin-top:.2rem}
.initials label{display:inline-block}.initials input{display:inline-block;width:6rem}
input.ro{background:#eee}.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.row{grid-template-columns:1fr}}
label.check{font-weight:400;display:flex;gap:.6rem;align-items:flex-start}label.check input{margin-top:.3rem}
.pad-wrap{border:2px dashed #999;border-radius:6px;background:#fff;max-width:600px}#sigpad{width:100%;height:auto;display:block;cursor:crosshair}
.signbox{margin-top:1.2rem}.disclosure{background:#f4f4f4;padding:.6rem .9rem;border-radius:6px;margin:.8rem 0;font-size:.9rem}
button{font:inherit;cursor:pointer}button.primary,a.button{background:var(--red);color:#fff;border:0;padding:.7rem 1.2rem;border-radius:6px;display:inline-block;text-decoration:none;margin-top:.8rem}
button.secondary{background:#fff;border:1px solid var(--red);color:var(--red);padding:.4rem .8rem;border-radius:6px}
button.link{background:none;border:0;color:var(--red);text-decoration:underline;padding:0}header button.link{color:#fff}
form.inline{display:inline}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.9rem}th,td{border:1px solid var(--line);padding:.45rem .55rem;text-align:left;vertical-align:top}th{background:#f1ece6}
.pill{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700}
.ok{background:#dff3e3;color:#145c2a}.need{background:#fde2e1;color:#8a1b16}.warn{background:#fff1cc;color:#7a5600}
.flash{padding:.7rem 1rem;border-radius:6px;margin-bottom:1rem}.flash.error{background:#fde2e1}.flash.success{background:#dff3e3}.flash.info{background:#e7eefb}
.forms-list .card{margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.muted{color:var(--muted)}.small{font-size:.85rem}code{background:#f1f1f1;padding:.1rem .3rem;border-radius:3px;word-break:break-all}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:800px){.grid2{grid-template-columns:1fr}}

/* ===================== Guided signing (mobile-first) ===================== */
@font-face{font-family:'CC Great Vibes';src:url(/static/fonts/GreatVibes-Regular.ttf) format('truetype');font-display:block}
@font-face{font-family:'CC Allura';src:url(/static/fonts/Allura-Regular.ttf) format('truetype');font-display:block}
@font-face{font-family:'CC Sacramento';src:url(/static/fonts/Sacramento-Regular.ttf) format('truetype');font-display:block}
@font-face{font-family:'CC Homemade Apple';src:url(/static/fonts/HomemadeApple-Regular.ttf) format('truetype');font-display:block}
.f-great-vibes{font-family:'CC Great Vibes',cursive}.f-allura{font-family:'CC Allura',cursive}.f-sacramento{font-family:'CC Sacramento',cursive}.f-homemade-apple{font-family:'CC Homemade Apple',cursive;font-size:.72em}
html{-webkit-text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
body.guided main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.signflow input:not([type=radio]):not([type=checkbox]){font-size:17px;min-height:50px}
.signflow .card{padding:1.2rem}
.step{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:var(--muted);margin:0}
.label{font-weight:600;margin:1rem 0 .4rem}
.ini-input{max-width:8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.styles{display:grid;grid-template-columns:1fr;gap:.6rem}
@media(min-width:640px){.styles{grid-template-columns:1fr 1fr}}
.style-card{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.2rem .8rem;margin:0;padding:.7rem .9rem;border:2px solid #d6d0c8;border-radius:12px;background:#fff;min-height:84px;cursor:pointer;font-weight:400}
.style-card input{position:absolute;opacity:0;pointer-events:none}
.style-card:has(input:checked){border-color:var(--red);box-shadow:0 0 0 3px rgba(122,31,31,.15);background:#fffaf6}
.style-card.checked{border-color:var(--red)}
.style-sig{font-size:2.1rem;line-height:1.15;color:#1b2a6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.style-ini{font-size:1.7rem;color:#1b2a6b;border-left:1px solid #eee;padding-left:.7rem}
.style-name{grid-column:1/-1;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.draw-card{min-height:56px;grid-template-columns:1fr}.draw-card .style-name{font-size:.95rem;color:var(--ink);text-transform:none;letter-spacing:0}
.pad{width:100%;height:auto;border:2px dashed #aaa;border-radius:10px;background:#fff;display:block;touch-action:none}
.pad-ini{max-width:220px}
.consent-btn{display:flex;gap:.8rem;align-items:flex-start;text-align:left;width:100%;margin:1.2rem 0 .3rem;padding:.9rem 1rem;border:2px solid #d6d0c8;border-radius:12px;background:#fff;font-size:.95rem;line-height:1.4;min-height:56px}
.consent-btn .box-ico{flex:0 0 28px;height:28px;border:2px solid #888;border-radius:6px;margin-top:.1rem;position:relative}
.consent-btn.on{border-color:#1f7a3a;background:#f2fbf4}.consent-btn.on .box-ico{background:#1f7a3a;border-color:#1f7a3a}
.consent-btn.on .box-ico::after{content:'';position:absolute;left:8px;top:3px;width:7px;height:14px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
button.big{width:100%;min-height:56px;font-size:1.1rem;font-weight:700;border-radius:12px}
button.primary:disabled{opacity:.45;cursor:not-allowed}
.adopted-bar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem .8rem;margin-bottom:.8rem;font-size:.9rem}
.adopted-bar img{height:34px;max-width:45%}.adopted-bar .link{margin-left:auto;min-height:44px}
.docview .doctext{max-height:none;overflow:visible;border:0;padding:0;background:none}
.spot-row{margin:.6rem 0 1rem;display:flex;flex-direction:column;align-items:flex-end}
.sign-row{align-items:stretch}
.agree{font-size:.9rem;color:var(--muted);margin:.2rem 0 .5rem}
.tag{position:relative;min-width:150px;min-height:64px;padding:.5rem 1rem;border:2px solid #d8a600;border-radius:10px;background:#ffe16b;color:#3d2c00;font-weight:800;font-size:1rem;letter-spacing:.02em;box-shadow:0 2px 0 #c49600;touch-action:manipulation}
.tag::before{content:'';position:absolute;left:-14px;top:50%;transform:translateY(-50%);border:10px solid transparent;border-right-color:#d8a600}
.tag-sign{min-height:96px;font-size:1.15rem}
.tag.stamped{background:#fff;border:2px solid #9bb3e0;box-shadow:none;color:#1b2a6b}.tag.stamped::before{display:none}
.tag-stamp{display:flex;flex-direction:column;align-items:center;gap:.1rem}
.tag-stamp img{max-height:52px;max-width:220px}.tag-sign .tag-stamp img{max-height:80px;max-width:100%}
.tag-stamp small{font-size:.7rem;font-weight:500;color:#555}
.spot-field{margin:.8rem 0;padding:.7rem .8rem;border:2px solid #f0c400;border-radius:10px;background:#fff8d6}
.spot-field.is-done{border-color:#9bd0a9;background:#f3fbf5}
.spot-field label,.spot-field legend{margin:0 0 .3rem;font-weight:700}
.spot-field.ro{border-color:var(--line);background:#f6f6f6}.ro-val{font-size:1.2rem;font-weight:700}
.req{font-size:.7rem;font-weight:700;color:#8a5a00;background:#ffe16b;border-radius:4px;padding:.05rem .35rem;margin-left:.3rem;vertical-align:middle}
.is-done .req{display:none}
.pulse{animation:pulse 1.2s ease-out 2}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(216,166,0,.7)}100%{box-shadow:0 0 0 18px rgba(216,166,0,0)}}
.guide-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ddd;box-shadow:0 -4px 16px rgba(0,0,0,.08)}
.guide-bar .progress{font-weight:700;font-size:.95rem;min-width:4.5rem}
.next-btn,.finish-btn{flex:1;min-height:52px;border-radius:12px;font-size:1.05rem;font-weight:800;border:0}
.next-btn{background:#ffe16b;color:#3d2c00;border:2px solid #d8a600}.next-btn:disabled{background:#eee;border-color:#ddd;color:#888}
.finish-btn{background:#ccc;color:#fff}.finish-btn.ready{background:#1f7a3a}
.sign-section{margin-top:1.5rem;border-top:2px solid var(--line);padding-top:.5rem}
@media(max-width:600px){main{margin:.6rem auto;padding:0 .6rem}.doc,.card{padding:1rem;border-radius:10px}h1{font-size:1.5rem}header{padding:.6rem .8rem}header nav a,header nav .link{margin-left:.6rem}header .who{display:none}}
button,a,label,.tag,.style-card,.consent-btn{touch-action:manipulation}
.pad{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
