/* Feedback widget shared styles. */
.cn-feedback-widget {
            position: relative;
            display: inline-flex;
            align-items: center;
        }

        .cn-feedback-toggle {
            display: inline-flex;
            min-width: 40px;
            min-height: 40px;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border-radius: 8px;
            line-height: 1;
        }

        .cn-feedback-toggle-button {
            border: 1px solid rgba(148, 163, 184, .35);
            background: #ffffff;
            color: #102033;
            padding: 0 13px;
            font: inherit;
            font-weight: 850;
            cursor: pointer;
        }

        .cn-feedback-toggle:hover,
        .cn-feedback-toggle:focus-visible {
            text-decoration: none;
            outline: none;
            box-shadow: 0 0 0 3px rgba(47, 91, 183, .16);
        }

        .cn-feedback-icon {
            width: 1.05rem;
            height: 1.05rem;
            flex: 0 0 auto;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
            fill: none;
        }

        .cn-feedback-panel {
            position: absolute;
            top: calc(100% + 10px);
            right: 0;
            z-index: 95;
            width: min(380px, calc(100vw - 24px));
            border: 1px solid rgba(148, 163, 184, .26);
            border-radius: 8px;
            background: #ffffff;
            color: #0f172a;
            box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
            overflow: hidden;
        }

        .cn-feedback-widget--public .cn-feedback-panel {
            top: auto;
            bottom: calc(100% + 10px);
        }

        .cn-feedback-widget--floating {
            position: fixed;
            right: 18px;
            bottom: 18px;
            z-index: 100;
        }

        .cn-feedback-panel[hidden] {
            display: none;
        }

        .cn-feedback-panel-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            padding: 16px 16px 10px;
            border-bottom: 1px solid #e2e8f0;
            background: #f8fafc;
        }

        .cn-feedback-panel-head h2 {
            margin: 0;
            color: #0f172a;
            font-size: 1rem;
            font-weight: 900;
            letter-spacing: 0;
        }

        .cn-feedback-panel-head p {
            margin: 6px 0 0;
            color: #64748b;
            font-size: .88rem;
            line-height: 1.45;
        }

        .cn-feedback-close {
            display: inline-flex;
            width: 34px;
            height: 34px;
            flex: 0 0 auto;
            align-items: center;
            justify-content: center;
            border: 1px solid #dbe3ef;
            border-radius: 8px;
            background: #ffffff;
            color: #475569;
            cursor: pointer;
        }

        .cn-feedback-form {
            display: grid;
            gap: 12px;
            padding: 14px 16px 16px;
        }

        .cn-feedback-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
        }

        .cn-feedback-field {
            display: grid;
            gap: 6px;
        }

        .cn-feedback-field.is-full {
            grid-column: 1 / -1;
        }

        .cn-feedback-field label {
            color: #334155;
            font-size: .82rem;
            font-weight: 850;
        }

        .cn-feedback-field input,
        .cn-feedback-field select,
        .cn-feedback-field textarea {
            width: 100%;
            border: 1px solid #cbd5e1;
            border-radius: 8px;
            background: #ffffff;
            color: #0f172a;
            padding: 10px 11px;
            font: inherit;
            font-size: .92rem;
            line-height: 1.35;
        }

        .cn-feedback-field textarea {
            min-height: 112px;
            resize: vertical;
        }

        .cn-feedback-field input:focus,
        .cn-feedback-field select:focus,
        .cn-feedback-field textarea:focus {
            border-color: #2f5bb7;
            outline: none;
            box-shadow: 0 0 0 3px rgba(47, 91, 183, .14);
        }

        .cn-feedback-user-note,
        .cn-feedback-alert {
            display: flex;
            gap: 8px;
            align-items: flex-start;
            border-radius: 8px;
            padding: 10px 11px;
            font-size: .88rem;
            line-height: 1.45;
        }

        .cn-feedback-user-note {
            border: 1px solid #dbeafe;
            background: #eff6ff;
            color: #1e3a8a;
        }

        .cn-feedback-alert {
            border: 1px solid #bbf7d0;
            background: #f0fdf4;
            color: #166534;
        }

        .cn-feedback-error {
            color: #b91c1c;
            font-size: .8rem;
            line-height: 1.35;
        }

        .cn-feedback-submit {
            display: inline-flex;
            min-height: 42px;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border: 1px solid #2f5bb7;
            border-radius: 8px;
            background: #2f5bb7;
            color: #ffffff;
            padding: 0 16px;
            font: inherit;
            font-weight: 900;
            cursor: pointer;
        }

        .cn-feedback-submit:hover,
        .cn-feedback-submit:focus-visible {
            background: #244995;
            outline: none;
            box-shadow: 0 0 0 3px rgba(47, 91, 183, .18);
        }

        .dark .cn-feedback-toggle-button,
        html[data-public-theme="dark"] .cn-feedback-toggle-button {
            border-color: rgba(148, 203, 214, .28);
            background: #102f3b;
            color: #e6f3f6;
        }

        .dark .cn-feedback-panel,
        html[data-public-theme="dark"] .cn-feedback-panel {
            border-color: rgba(148, 203, 214, .24);
            background: #0b2530;
            color: #e6f3f6;
            box-shadow: 0 18px 45px rgba(2, 6, 23, .42);
        }

        .dark .cn-feedback-panel-head,
        html[data-public-theme="dark"] .cn-feedback-panel-head {
            border-color: rgba(148, 203, 214, .2);
            background: #09202a;
        }

        .dark .cn-feedback-panel-head h2,
        html[data-public-theme="dark"] .cn-feedback-panel-head h2 {
            color: #f8fafc;
        }

        .dark .cn-feedback-panel-head p,
        html[data-public-theme="dark"] .cn-feedback-panel-head p {
            color: #c7e2e8;
        }

        .dark .cn-feedback-close,
        html[data-public-theme="dark"] .cn-feedback-close,
        .dark .cn-feedback-field input,
        .dark .cn-feedback-field select,
        .dark .cn-feedback-field textarea,
        html[data-public-theme="dark"] .cn-feedback-field input,
        html[data-public-theme="dark"] .cn-feedback-field select,
        html[data-public-theme="dark"] .cn-feedback-field textarea {
            border-color: rgba(148, 203, 214, .25);
            background: #09202a;
            color: #e6f3f6;
        }

        .dark .cn-feedback-field label,
        html[data-public-theme="dark"] .cn-feedback-field label {
            color: #dbeafe;
        }

        .dark .cn-feedback-user-note,
        html[data-public-theme="dark"] .cn-feedback-user-note {
            border-color: rgba(96, 165, 250, .28);
            background: rgba(37, 99, 235, .16);
            color: #dbeafe;
        }

        .dark .cn-feedback-alert,
        html[data-public-theme="dark"] .cn-feedback-alert {
            border-color: rgba(74, 222, 128, .28);
            background: rgba(22, 101, 52, .22);
            color: #bbf7d0;
        }

        @media (max-width: 640px) {
            .cn-feedback-panel {
                position: fixed;
                left: 12px;
                right: 12px;
                top: auto;
                bottom: 76px;
                width: auto;
                max-height: calc(100vh - 96px);
                overflow-y: auto;
            }

            .cn-feedback-widget--painel .cn-feedback-panel {
                top: 68px;
                bottom: auto;
            }

            .cn-feedback-grid {
                grid-template-columns: 1fr;
            }
        }
