.redaction-panel{margin:1.25rem 0;padding:clamp(1rem,3vw,1.5rem);border:1px solid #cddbd8;border-radius:1rem;background:#fff;box-shadow:0 8px 24px rgba(21,68,63,.07)}
.redaction-drop{border-style:dashed;border-width:2px;background:#fbfefd}.redaction-drop.is-dragging{border-color:#146b63;background:#effaf8}.redaction-drop label{display:block;font-size:1.25rem;font-weight:800;color:#173f3b}.redaction-drop input{display:block;width:100%;margin:.65rem 0;padding:.75rem;border:1px solid #83a39d;border-radius:.6rem;background:#fff}
.redaction-drop input:focus-visible,.redaction-actions button:focus-visible,.redaction-candidate button:focus-visible,.redaction-panel summary:focus-visible{outline:3px solid #f0a83b;outline-offset:2px}.redaction-help{color:#536b67;font-size:.92rem}.redaction-error{min-height:1.5em;color:#a31c1c;font-weight:700}.redaction-status{min-height:1.5em;color:#146b63;font-weight:700}.redaction-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.redaction-progress{margin:1rem 0}.redaction-progress progress{width:100%;height:1rem}.redaction-progress p{margin:.3rem 0;color:#536b67}
.redaction-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.redaction-stat{min-width:0;margin:0;padding:.8rem;border-radius:.75rem;background:#eef7f5}.redaction-stat dt{font-size:.86rem;color:#536b67}.redaction-stat dd{margin:.2rem 0 0;font-size:1.2rem;font-weight:800;overflow-wrap:anywhere}.redaction-warning{padding:.75rem;border-left:4px solid #ac611a;background:#fff7e9}.redaction-candidate{margin:1rem 0;padding:1rem;border:1px solid #cddbd8;border-radius:.7rem;overflow-wrap:anywhere}.redaction-candidate h3{margin-top:0}.redaction-revealed{overflow-wrap:anywhere;white-space:pre-wrap}.privacy-note{padding:.85rem 1rem;border-left:4px solid #146b63;background:#eef7f5}.redaction-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.redaction-preview{min-width:0;margin:0}.redaction-preview__frame{position:relative;max-width:100%;width:fit-content}.redaction-preview img{display:block;max-width:100%;height:auto}.redaction-preview__mark{position:absolute;border:2px solid #d22020;background:rgba(220,30,30,.2);pointer-events:none}.redaction-preview figcaption{margin:.3rem 0;color:#536b67}
@media(max-width:640px){.redaction-panel{padding:.9rem;border-radius:.75rem}.redaction-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.redaction-previews{grid-template-columns:1fr}.redaction-actions .button{width:100%}}@media(max-width:380px){.redaction-summary{grid-template-columns:1fr}}
