.context-feedback { margin: 1rem; color: #18372d; }
.feedback-open { padding: .7rem 1rem; }
.context-feedback dialog { box-sizing: border-box; width: min(36rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); overflow: auto; border: 1px solid #537867; border-radius: .7rem; padding: 1.3rem; color: #18372d; }
.context-feedback dialog::backdrop { background: #102c2470; }
.context-feedback label { display: flex; flex-direction: column; gap: .3rem; margin-block: 1rem; font-weight: 600; }
.context-feedback select, .context-feedback textarea { box-sizing: border-box; width: 100%; max-width: 100%; font: inherit; padding: .55rem; }
.feedback-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.context-feedback button, .feedback-page button { min-height: 44px; cursor: pointer; font: inherit; border: 1px solid #537867; border-radius: .3rem; background: #eef7f1; color: #18372d; padding: .55rem .8rem; }
.context-feedback button:disabled { cursor: wait; opacity: .6; }
.context-feedback :focus-visible, .feedback-page :focus-visible { outline: 3px solid #b97218; outline-offset: 3px; }
.context-feedback [data-feedback-link] { overflow-wrap: anywhere; }
.feedback-page { font: 1rem/1.55 system-ui, sans-serif; color: #18372d; background: #f5f8f6; margin: 0; }
.feedback-page main { max-width: 54rem; margin: auto; padding: 1.5rem; overflow-wrap: anywhere; }
.feedback-entry { border: 1px solid #b4cbbb; background: white; padding: 1rem; border-radius: .5rem; margin-block: 1rem; }
.feedback-text { white-space: pre-wrap; }
.context-feedback [hidden], .feedback-page [hidden] { display: none !important; }
.context-feedback input { box-sizing: border-box; max-width: 100%; font: inherit; }
.feedback-image-editor { margin-block: 1.25rem; padding-block: 1rem; border-block: 1px solid #b4cbbb; min-width: 0; }
.feedback-image-editor h3, .feedback-screenshot-admin h3 { font-size: 1.15rem; }
.feedback-image-editor p { font-weight: 400; overflow-wrap: anywhere; }
.feedback-image-editor input[type="file"] { width: 100%; padding-block: .5rem; }
.feedback-image-editor fieldset { min-width: 0; padding: .8rem; margin-block: .8rem; border: 1px solid #b4cbbb; }
.feedback-image-editor legend { font-size: 1rem; font-weight: 600; float: none; width: auto; }
.feedback-image-preview { max-width: 100%; margin-block: 1rem; background: white; border: 1px solid #537867; line-height: 0; }
.feedback-image-preview canvas { display: block; width: 100%; height: auto; max-width: 100%; touch-action: none; cursor: crosshair; }
.feedback-rectangle-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.feedback-rectangle-fields label { margin-block: .3rem; font-size: .95rem; min-width: 0; }
.feedback-rectangle-fields input { width: 100%; padding: .5rem; min-width: 0; }
.context-feedback .feedback-confirm { flex-direction: row; align-items: flex-start; gap: .7rem; line-height: 1.5; }
.feedback-confirm input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin-top: .15rem; }
.context-feedback button:disabled { cursor: not-allowed; }
.feedback-screenshot-admin { margin-top: 1rem; border-top: 1px solid #b4cbbb; padding-top: .8rem; min-width: 0; }
.feedback-screenshot-admin dt { font-weight: 600; margin-top: .5rem; }
.feedback-screenshot-admin dd { margin-left: 0; overflow-wrap: anywhere; }
.feedback-screenshot-preview { display: block; max-width: 100%; height: auto; border: 1px solid #537867; background: white; }
.feedback-contact { margin-block: 1.5rem; padding: 1rem; border: 1px solid #b4cbbb; border-radius: .5rem; background: white; min-width: 0; }
.feedback-contact fieldset { box-sizing: border-box; min-width: 0; margin-block: 1rem; padding: 1rem; border: 1px solid #b4cbbb; }
.feedback-contact legend, .feedback-contact label { font-weight: 600; }
.feedback-contact label { display: block; margin-bottom: .4rem; }
.feedback-contact input { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; padding: .6rem; font: inherit; }
.feedback-contact button { max-width: 100%; overflow-wrap: anywhere; }
.feedback-contact button:disabled { cursor: not-allowed; opacity: .65; }
.feedback-contact [data-feedback-contact-pending] { padding: .8rem; border-left: .25rem solid #b97218; background: #fff7e9; }
.feedback-issue fieldset { box-sizing: border-box; min-width: 0; margin-block: 1rem; padding: 1rem; border: 1px solid #b4cbbb; }
.feedback-issue legend, .feedback-issue label { font-weight: 600; }
.feedback-issue label { display: block; margin-block: .5rem; }
.feedback-issue input[type="number"] { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; padding: .6rem; font: inherit; }
.feedback-issue .feedback-issue-review { display: flex; align-items: flex-start; gap: .7rem; padding-block: .5rem; font-weight: 400; }
.feedback-issue-review input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin-top: .2rem; }
.feedback-issue button { max-width: 100%; overflow-wrap: anywhere; }
.feedback-issue button:disabled, .feedback-issue fieldset:disabled button { cursor: not-allowed; opacity: .65; }
.feedback-issue-notice { padding: .8rem; border-left: .25rem solid #b97218; background: #fff7e9; }
.feedback-issue-history { padding-left: 1.3rem; }
.feedback-issue-history li { margin-block: 1rem; }
.feedback-development fieldset { box-sizing: border-box; min-width: 0; margin-block: 1rem; padding: 1rem; border: 1px solid #b4cbbb; }
.feedback-development legend, .feedback-development label { font-weight: 600; }
.feedback-development label { display: block; margin-block: .5rem; }
.feedback-development select, .feedback-development textarea { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; padding: .6rem; font: inherit; }
.feedback-development select { white-space: normal; }
.feedback-development .feedback-development-review { display: flex; align-items: flex-start; gap: .7rem; padding-block: .5rem; font-weight: 400; }
.feedback-development-review input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin-top: .2rem; }
.feedback-development button { max-width: 100%; overflow-wrap: anywhere; }
.feedback-development button:disabled { cursor: not-allowed; opacity: .65; }
.feedback-development-notice { padding: .8rem; border-left: .25rem solid #b97218; background: #fff7e9; }
.feedback-development-links { display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.feedback-development-history { padding-left: 1.3rem; }
.feedback-development-history li { margin-block: 1rem; }
@media (max-width: 480px) {
    .context-feedback dialog { width: calc(100% - 1rem); max-height: calc(100% - 1rem); padding: .9rem; }
    .feedback-page main { padding: .9rem; }
    .feedback-image-editor fieldset { padding: .6rem; }
    .feedback-contact, .feedback-contact fieldset { padding: .65rem; }
    .feedback-issue fieldset { padding: .65rem; }
    .feedback-development fieldset { padding: .65rem; }
    .feedback-actions > button { max-width: 100%; overflow-wrap: anywhere; }
}
