.ocr-panel{border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));background:linear-gradient(145deg,#fff,#f4faf7)}
.ocr-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem}
.ocr-heading h2{margin:.15rem 0 .35rem}
.ocr-heading p{margin:0;color:var(--muted)}
.ocr-heading .button{flex:0 0 auto}
.ocr-progress{display:grid;grid-template-columns:minmax(150px,260px) 1fr;align-items:center;gap:1rem;margin:1.2rem 0;padding:.85rem 1rem;border-radius:12px;background:var(--info-soft);color:var(--info)}
.ocr-progress progress{width:100%;height:.8rem;accent-color:var(--brand)}
.ocr-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;margin-top:1.2rem}
.ocr-editor-grid textarea{min-height:20rem;resize:vertical;font:600 1rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}
.ocr-review-card{align-self:start;padding:1.15rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.ocr-review-card>strong{display:block;font-size:1.25rem;color:var(--brand)}
.ocr-review-card p{min-height:3.1rem;color:var(--muted)}
.ocr-review-card .button{width:100%}
.ocr-review-card ul{margin:1rem 0 0;padding-left:1.15rem;color:var(--muted);font-size:.9rem}
.ocr-panel.is-list-ready .ocr-review-card{border-color:var(--success);box-shadow:0 0 0 3px var(--success-soft)}
.ocr-panel.is-list-ready .ocr-review-card>strong{color:var(--success)}

.name-selection-panel{margin:0;padding:1.15rem;border:1px solid var(--line)}
.name-selection-panel legend{padding:0 .35rem;color:var(--ink);font-size:1.25rem;font-weight:850}
.name-selection-panel>p{margin:.15rem 0 1rem;color:var(--muted);line-height:1.45}
.name-selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.name-choice{display:flex;align-items:center;gap:.7rem;min-height:64px;padding:.7rem .8rem;border:2px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
.name-choice:hover{border-color:color-mix(in srgb,var(--brand) 52%,var(--line));transform:translateY(-1px)}
.name-choice input{flex:0 0 auto;width:1.45rem;height:1.45rem;margin:0;accent-color:var(--brand);cursor:pointer}
.name-choice-copy{display:grid;min-width:0;line-height:1.25}
.name-choice-copy strong{overflow-wrap:anywhere;font-size:1rem}
.name-choice-copy small{margin-top:.22rem;color:var(--muted);font-size:.76rem}
.name-choice.is-selected{border-color:var(--brand);background:var(--success-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}
.name-choice.is-selected .name-choice-copy strong{color:var(--brand-dark)}
.name-choice:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent);outline-offset:2px}
.name-choice:has(input:disabled){cursor:not-allowed;transform:none;opacity:.76}
.name-choice.status-reserved{background:var(--accent-soft);border-color:#e8c76f}
.name-choice.status-paid,.name-choice.status-winner{background:#eef1ef;border-color:#aab4af}
.name-choice.status-blocked{background:#f1f2f1;color:var(--muted)}
.raffle-layout>.reservation-form{grid-column:1/-1}

@media(max-width:900px){.ocr-editor-grid{grid-template-columns:1fr}.ocr-review-card{position:static}.name-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ocr-heading{display:grid}.ocr-heading .button{width:100%}.ocr-progress{grid-template-columns:1fr;gap:.45rem}.ocr-editor-grid textarea{min-height:17rem}.name-selection-grid{grid-template-columns:1fr}.name-choice{min-height:58px}.name-selection-panel{padding:.9rem}}
