/* Nolizi feedback module. Requires nolizi.css for tokens and .nl-dialog. */
.nl-feedback-trigger .nl-icon{width:20px;height:20px}
.nl-feedback.is-hidden{visibility:hidden}
.nl-feedback.is-dragging{outline:3px dashed var(--nl-action);outline-offset:-6px}
.nl-feedback__form>.nl-caption{margin:0 0 .75rem}
.nl-feedback__types{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .5rem}
.nl-feedback__type{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--nl-control-height);padding:.5rem .9rem;border:1px solid var(--nl-line);border-radius:999px;background:var(--nl-surface);color:var(--nl-ink);font:500 1rem/1.35 var(--nl-font-ui);cursor:pointer}
.nl-feedback__type:has(input:checked){background:var(--nl-soft);border-color:var(--nl-action);color:var(--nl-action)}
.nl-feedback__type input{margin:0;accent-color:var(--nl-action)}
.nl-feedback__type:has(input:focus-visible){outline:3px solid var(--nl-action);outline-offset:3px}
.nl-feedback textarea.nl-input{resize:vertical;min-height:7rem;font-size:16px}
.nl-feedback input.nl-input{font-size:16px}
.nl-feedback__counter{display:block;text-align:right;color:var(--nl-muted);font:400 var(--nl-text-small)/1.5 var(--nl-font-meta);margin-top:.25rem}
.nl-feedback__attach{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 .5rem}
.nl-feedback__gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.75rem}
.nl-feedback__gallery li{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.nl-feedback__gallery .nl-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nl-feedback__thumb{display:block;width:100%;aspect-ratio:4/3;padding:0;border:1px solid var(--nl-line);border-radius:8px;background:var(--nl-surface-cool);overflow:hidden;cursor:zoom-in}
.nl-feedback__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.nl-feedback__note{margin:.5rem 0 0;min-height:1.5em}
.nl-feedback__inspect{margin:1rem 0;border:1px solid var(--nl-line);border-radius:var(--nl-radius);background:var(--nl-surface-cool)}
.nl-feedback__inspect summary{padding:.75rem 1rem;cursor:pointer;font:500 1rem/1.4 var(--nl-font-ui)}
.nl-feedback__inspect .nl-caption{padding:0 1rem .75rem;margin:0}
.nl-feedback__diag{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;padding:0 1rem .75rem;font:400 var(--nl-text-small)/1.5 var(--nl-font-meta);overflow-wrap:anywhere}
.nl-feedback__diag dt{color:var(--nl-muted);margin:0}.nl-feedback__diag dd{margin:0;white-space:pre-wrap}
.nl-feedback__status{min-height:1.5em;margin:.5rem 0;font:400 1rem/1.5 var(--nl-font-ui)}
.nl-feedback__status.is-error{color:var(--nl-danger)}.nl-feedback__status.is-success{color:var(--nl-success)}
.nl-feedback__previewtext{margin:.75rem 0 0;padding:.75rem;border:1px solid var(--nl-line);border-radius:8px;background:var(--nl-surface-cool);color:var(--nl-ink);font:400 var(--nl-text-small)/1.5 var(--nl-font-meta);white-space:pre-wrap;overflow-wrap:anywhere;max-height:16rem;overflow:auto}
.nl-feedback__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}
.nl-feedback__actions .nl-button--quiet{margin-left:auto}
.nl-feedback kbd{font:500 .75rem/1 var(--nl-font-meta);opacity:.75}
.nl-feedback__preview .nl-dialog__body{display:flex;justify-content:center}
.nl-feedback__preview img{max-width:100%;max-height:calc(100dvh - 10rem);object-fit:contain}
@media(max-width:40rem){.nl-feedback__actions .nl-button{flex:1 1 auto}.nl-feedback__actions .nl-button--quiet{flex-basis:100%;margin-left:0}}
