.site-feedback-entry {
    padding: 6px 10px;
    border: 1px solid #cdd8ed;
    border-radius: 6px;
    background: #f7f9ff;
    color: #365794;
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}
.site-feedback-entry:hover { background: #eaf0ff; color: #254783; }
.site-sections .site-feedback-entry { margin-inline-start: 2px; }
@media (pointer: coarse) {
    .site-feedback-entry { min-height: 44px; }
}

#feedback-dialog {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    width: min(28rem, calc(100% - 2rem));
    max-height: calc(100% - 2rem);
    margin: auto;
    padding: 1.125rem;
    overflow: auto;
    border: 1px solid #d9e1ee;
    border-radius: 10px;
    background: #fff;
    color: #182339;
    box-shadow: 0 14px 48px #15274433;
}
#feedback-dialog::backdrop { background: #15274466; }
.site-feedback-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .75rem; }
.site-feedback-heading h2 { margin: 0; font-size: 1.125rem; line-height: 1.4; }
#feedback-dialog .site-feedback-close {
    padding: 0 .625rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #41536f;
    font: inherit;
    font-size: 1.5rem;
    cursor: pointer;
}
#feedback-dialog .site-feedback-close:hover { background: #edf2fa; }
.site-feedback-form { display: grid; gap: .5rem; }
.site-feedback-form label { font-size: .875rem; font-weight: 600; }
#feedback-dialog :is(textarea, input) {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 .375rem;
    padding: .625rem .75rem;
    border: 1px solid #cbd6e7;
    border-radius: 6px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-size: 1rem;
}
#feedback-dialog textarea { resize: vertical; }
#feedback-dialog .site-feedback-submit {
    justify-self: end;
    padding: .5rem .875rem;
    border: 1px solid #315cbd;
    border-radius: 6px;
    background: #315cbd;
    color: white;
    font: inherit;
    font-size: .875rem;
    cursor: pointer;
}
#feedback-dialog .site-feedback-submit:disabled { opacity: .65; cursor: wait; }
#feedback-dialog :is(.site-feedback-status, .site-feedback-error) { margin: 0; font-size: .875rem; overflow-wrap: anywhere; }
.site-feedback-status { color: #41536f; }
.site-feedback-error { color: #a22132; }
#feedback-dialog :is(.site-feedback-status, .site-feedback-error):empty { display: none; }
