.contract-form .stampgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:1rem 0;border:1px solid var(--cobalt)}
.stamp-cell{min-width:0;padding:.45rem;border-right:1px solid var(--cobalt);color:var(--ink-soft);font-family:var(--mono);font-size:.6rem;font-weight:600;text-align:center}.stamp-cell:last-child{border-right:0}.stamp-cell small{display:block}.stamp-cell.valid{border-color:var(--cobalt);background:var(--cobalt-08)}.stamp-cell.invalid{border:1px dashed var(--cobalt);color:var(--ink)}
.step,.checks,.channel{margin:0;padding:1rem 1.1rem 1.15rem;border:1.5px solid var(--cobalt);border-radius:var(--r);background:var(--card)}
.step{position:relative;padding-top:2.1rem}.step::before{content:attr(data-code);position:absolute;top:-1px;right:-1px;padding:.3rem .5rem;border:1px dashed var(--cobalt);background:var(--paper);font-family:var(--mono);font-size:.6rem;font-weight:600}.step[data-state="invalid"]{border-style:dashed}
.step legend,.checks legend,.channel legend{padding:0 .45rem;color:var(--cobalt);font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.step .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem 1rem}
.checks,.channel{display:grid;gap:.55rem}.checks .check,.channel .radio{display:flex;gap:.55rem;align-items:flex-start;font-weight:400}.checks .check{min-height:2.75rem;align-items:center}.check input[type="checkbox"]{appearance:none;display:grid;width:1.25rem;min-height:1.25rem;margin:0;place-content:center;border:1px solid var(--cobalt);border-radius:0;background:var(--paper)}.check input[type="checkbox"]::before{content:"✓";transform:scale(0);font-weight:600}.check input[type="checkbox"]:checked::before{color:var(--cobalt);transform:scale(1)}.radio input{width:1.1rem;min-height:1.1rem;margin:.22rem 0 0;accent-color:var(--cobalt)}
.result{margin:1.25rem 0;padding:1rem 1.15rem;border:1.5px solid var(--cobalt);border-radius:var(--r);background:var(--card)}.result h2{margin-top:0}
.taxout{padding:.35rem .55rem;border:1px dashed var(--cobalt);font-family:var(--mono);font-weight:600;background:var(--cobalt-08)}
.tax-res{display:grid;grid-template-columns:1fr auto;gap:0 1rem;margin:0}.tax-res dt,.tax-res dd{padding:.4rem 0;border-bottom:1px dashed var(--line-warm)}.tax-res dt{color:var(--ink-soft)}.tax-res dd{margin:0;font-weight:600;text-align:right}.tax-res .net{border-top:1px dashed var(--green);color:var(--ink)}
svg.mmpaper{width:100%;margin:.6rem 0 1rem;border:1px solid var(--cobalt);background:repeating-linear-gradient(90deg,var(--grid-soft) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,var(--grid-soft) 0 1px,transparent 1px 8px),var(--paper);height:6rem}.mmpaper .mm-mark{stroke:var(--grid);stroke-width:1;vector-effect:non-scaling-stroke}.mm-mark.nearest{stroke:var(--coral);stroke-width:2}.mm-deadline text{fill:var(--ink);font-family:var(--mono);font-size:9px;font-weight:600}.facts-tbl{display:grid;margin:0}.facts-tbl>div{display:grid;grid-template-columns:minmax(9rem,.4fr) 1fr;border-bottom:1px dashed var(--line-warm)}.facts-tbl dt,.facts-tbl dd{padding:.55rem 0}.facts-tbl dt{font-family:var(--mono);font-weight:600}.facts-tbl dd{margin:0}
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;margin:1.2rem 0}.guide-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:1rem;border:1px solid var(--cobalt);background:var(--card);color:var(--ink);text-decoration:none}.guide-card::after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--cobalt);transform:scaleX(.22);transform-origin:left;transition:transform .18s ease}.guide-card:hover::after,.guide-card:focus-visible::after{transform:scaleX(1)}.guide-card p{margin:.45rem 0}.guide-code{display:inline-block;margin-bottom:.65rem;font-family:var(--mono);font-weight:600}.guide-status{align-self:start;margin-top:auto;padding-top:.7rem;font-family:var(--mono);font-size:.68rem;font-weight:600}.guide-roles{display:flex;gap:.45rem;margin:1rem 0}.role-badge{padding:.2rem .4rem;border:1px dashed var(--cobalt);font-family:var(--mono);font-size:.66rem;font-weight:600}.role-badge.owner{background:var(--cobalt-08)}.guide-more{margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--grid)}
.drawing-section{position:relative;margin:1.6rem 0;padding:2.2rem 1rem 1rem;border:1px solid var(--cobalt)}.drawing-section::before{content:attr(data-code);position:absolute;top:-1px;right:-1px;padding:.3rem .5rem;border:1px dashed var(--cobalt);background:var(--paper);font-family:var(--mono);font-size:.62rem;font-weight:600}.drawing-section h2{margin-top:0}.role-note{margin:1rem 0;padding:.7rem .85rem;border:1px dashed var(--cobalt);background:var(--cobalt-08)}.role-note strong{font-family:var(--mono);font-size:.68rem;font-weight:600}
.vid-page{max-width:none}.vid-steps{display:grid;margin:1rem 0;padding:0;list-style:none}.vid-step{position:relative;margin:0;padding:2.2rem 1rem 1rem;border-bottom:1px dashed var(--cobalt)}.vid-step::before{content:attr(data-code);position:absolute;top:.6rem;right:1rem;font-family:var(--mono);font-size:.65rem;font-weight:600}.vid-step:nth-child(even){background:var(--paper-warm)}.deadline-ribbon{border:1px solid var(--coral);border-left-width:4px}.vid-eds{margin-top:.4rem}
.document{position:relative;margin:1.5rem 0;padding:2.4rem 1.7rem 1.5rem;border:1.5px solid var(--cobalt);border-radius:var(--r);background:var(--card);color:var(--ink)}
.document::before{content:attr(data-code);position:absolute;top:-1px;right:-1px;padding:.3rem .55rem;border:1px dashed var(--cobalt);background:var(--paper);font-family:var(--mono);font-size:.62rem;font-weight:600}
.document h1,.document h2,.document h3{color:var(--ink)}.document h1{font-size:1.5rem}.document h2{margin-top:1.5rem;font-size:1.12rem}.document blockquote{margin:0 0 1rem;padding:.55rem .85rem;border-left:4px solid var(--cobalt);background:var(--cobalt-tint);color:var(--ink);print-color-adjust:exact}.document table{width:100%;margin:.8rem 0;border-collapse:collapse}.document th,.document td{padding:.4rem .6rem;border:1px solid var(--line-warm);text-align:left;vertical-align:top}.document .blank{display:inline-block;min-width:6rem;border-bottom:1px solid var(--ink-soft)}.doc-title{color:var(--ink-soft)}
@media (max-width:42rem){.step .grid{grid-template-columns:1fr}.document{padding:1rem}.document table{font-size:.75rem}.facts-tbl>div{grid-template-columns:1fr}}
