:root {
    --cc-ui-navy-950: #071a3d;
    --cc-ui-navy-900: #0b234d;
    --cc-ui-navy-800: #153668;
    --cc-ui-cobalt: #2463d4;
    --cc-ui-gold: #f5aa16;
    --cc-ui-surface: #ffffff;
    --cc-ui-surface-muted: #eff4fb;
    --cc-ui-ink: #11213e;
    --cc-ui-muted: #65728a;
    --cc-ui-line: #dbe4f0;
    --cc-ui-danger: #b42332;
    --cc-ui-success: #247247;
    --cc-ui-focus: rgba(36, 99, 212, 0.22);
}

/* Toast notifications */
.cc-feedback-toast-region {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 1080;
    display: flex;
    max-width: calc(100vw - 32px);
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    pointer-events: none;
}

.cc-feedback-toast {
    display: grid;
    width: 444px;
    max-width: 100%;
    min-height: 88px;
    align-items: center;
    gap: 18px;
    padding: 19px 20px;
    border: 1px solid var(--cc-ui-line);
    border-left: 5px solid var(--cc-ui-cobalt);
    border-radius: 0;
    background: var(--cc-ui-surface);
    box-shadow: 0 20px 44px rgba(7, 26, 61, 0.16);
    animation: cc-feedback-slide-in 0.24s ease-out;
    pointer-events: auto;
}

.cc-feedback-toast.is-exiting {
    animation: cc-feedback-fade-out 0.18s ease-in forwards;
}

.cc-feedback-toast--success {
    border-left-color: var(--cc-ui-success);
}

.cc-feedback-toast--error {
    border-left-color: var(--cc-ui-danger);
}

.cc-feedback-toast--info { border-left-color: var(--cc-ui-cobalt); }
.cc-feedback-toast--action { grid-template-columns: minmax(0, 1fr) auto; }
.cc-feedback-toast-action {
    border: 0;
    padding: 6px 8px;
    background: transparent;
    color: var(--cc-ui-cobalt);
    font: 600 0.8rem Outfit, sans-serif;
    cursor: pointer;
}
.cc-feedback-toast-action:hover { background: #edf3ff; }
.cc-feedback-toast-action:focus-visible { outline: 2px solid var(--cc-ui-cobalt); outline-offset: 3px; }

.cc-feedback-toast--error .cc-feedback-toast-title {
    color: var(--cc-ui-danger);
}

.cc-feedback-toast-content {
    min-width: 0;
}

.cc-feedback-toast-title {
    margin: 0 0 7px;
    color: var(--cc-ui-navy-950);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.cc-feedback-toast-message {
    margin: 0;
    color: var(--cc-ui-muted);
    font-size: 0.84rem;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* Shared feedback buttons */
.cc-feedback-btn {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

/* Custom dialog shell */
.cc-feedback-overlay {
    position: fixed;
    z-index: 1300;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(7, 26, 61, 0.5);
    backdrop-filter: blur(3px);
}

.cc-feedback-dialog {
    width: 444px;
    max-width: 100%;
    max-height: calc(100dvh - 40px);
    padding: 22px;
    overflow-y: auto;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    color: var(--cc-ui-ink);
    background: var(--cc-ui-surface);
    box-shadow: 0 28px 64px rgba(7, 26, 61, 0.24);
    animation: cc-feedback-pop-in 0.2s ease-out;
}

.cc-feedback-dialog--choice {
    width: 560px;
}

.cc-feedback-dialog-title {
    margin: 0 0 8px;
    color: var(--cc-ui-navy-950);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.012em;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.cc-feedback-dialog-message {
    margin: 0;
    color: var(--cc-ui-muted);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.cc-feedback-dialog-label {
    display: block;
    margin: 18px 0 8px;
    color: var(--cc-ui-navy-900);
    font-size: 0.82rem;
    font-weight: 650;
}

.cc-feedback-dialog-input {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    outline: 0;
    color: var(--cc-ui-ink);
    background: var(--cc-ui-surface-muted);
    font: inherit;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.cc-feedback-dialog-input:focus,
.cc-feedback-dialog-input:focus-visible {
    border-color: var(--cc-ui-cobalt);
    background: var(--cc-ui-surface);
    box-shadow: 0 0 0 4px var(--cc-ui-focus);
}

/* Reusable view-details dialog content */
.cc-view-dialog {
    width: 520px;
}

.cc-view-dialog-details {
    margin-top: 14px;
    border-top: 1px solid var(--cc-ui-line);
}

.cc-view-dialog-row {
    display: grid;
    grid-template-columns: minmax(112px, 0.36fr) minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--cc-ui-line);
}

.cc-view-dialog-label {
    color: var(--cc-ui-navy-900);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.4;
}

.cc-view-dialog-value {
    min-width: 0;
    color: var(--cc-ui-muted);
    font-size: 0.82rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* Event evaluation results workspace */
.evaluation-results-page {
    display: grid;
    gap: 16px;
    width: 100%;
}

.evaluation-results-page[hidden] {
    display: none !important;
}

.evaluation-results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: 22px 24px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    background: var(--cc-ui-surface);
    box-shadow: 0 12px 30px rgba(7, 26, 61, 0.08);
}

.evaluation-results-header > div {
    min-width: 0;
}

.evaluation-results-header h2 {
    margin: 4px 0 7px;
    color: var(--cc-ui-navy-950);
    font-size: 1.35rem;
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1.2;
}

.evaluation-results-header p {
    margin: 0;
    color: var(--cc-ui-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.evaluation-results-back,
.evaluation-results-refresh {
    display: inline-flex;
    min-height: 40px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    color: var(--cc-ui-navy-900);
    background: var(--cc-ui-surface-muted);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.evaluation-results-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.evaluation-results-back:hover,
.evaluation-results-back:focus-visible,
.evaluation-results-refresh:hover,
.evaluation-results-refresh:focus-visible {
    border-color: rgba(36, 99, 212, 0.28);
    color: var(--cc-ui-cobalt);
    background: #e7f0ff;
    box-shadow: 0 0 0 4px var(--cc-ui-focus);
    outline: 0;
    transform: translateY(-1px);
}

.evaluation-results-refresh:disabled {
    cursor: wait;
    opacity: 0.62;
    transform: none;
}

.evaluation-results-eyebrow {
    margin: 0;
    color: var(--cc-ui-cobalt);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    line-height: 1.2;
    text-transform: uppercase;
}

.evaluation-results-body {
    display: grid;
    gap: 16px;
    padding: 0;
}

.evaluation-results-loading,
.evaluation-results-empty {
    display: grid;
    min-height: 260px;
    place-items: center;
    align-content: center;
    gap: 10px;
    padding: 34px;
    border: 1px dashed #c5d4e7;
    border-radius: 0;
    color: var(--cc-ui-muted);
    background: var(--cc-ui-surface-muted);
    text-align: center;
}

.evaluation-results-loading span {
    width: 34px;
    height: 34px;
    border: 3px solid #c9d7ea;
    border-top-color: var(--cc-ui-cobalt);
    border-radius: 50%;
    animation: evaluation-results-spin 0.8s linear infinite;
}

.evaluation-results-empty h3 {
    margin: 0;
    color: var(--cc-ui-navy-950);
    font-size: 1.12rem;
    font-weight: 750;
}

.evaluation-results-empty p {
    max-width: 560px;
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
}

.evaluation-results-error {
    border-color: #f0c5ca;
    background: #fff6f7;
}

.evaluation-results-summary,
.evaluation-metric-grid,
.evaluation-observation-grid {
    display: grid;
    gap: 10px;
}

.evaluation-results-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.evaluation-results-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.evaluation-metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.evaluation-observation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.evaluation-form-metadata {
    display: grid;
    grid-template-columns: minmax(200px, 1.45fr) repeat(5, minmax(118px, 1fr));
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(36, 99, 212, 0.18);
    border-radius: 0;
    background: #f8fbff;
}

.evaluation-form-metadata div {
    min-width: 0;
}

.evaluation-form-metadata span {
    display: block;
    margin-bottom: 6px;
    color: var(--cc-ui-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.evaluation-form-metadata strong {
    display: block;
    color: var(--cc-ui-navy-950);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.evaluation-results-summary > article,
.evaluation-results-overview > article,
.evaluation-metric-card,
.evaluation-observation-card {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    background: #fbfdff;
}

.evaluation-results-summary > article:first-child {
    color: #fff;
    background: var(--cc-ui-navy-900);
}

.evaluation-results-summary span,
.evaluation-results-overview span,
.evaluation-metric-card span,
.evaluation-observation-card span {
    display: block;
    color: var(--cc-ui-muted);
    font-size: 0.74rem;
    font-weight: 750;
    letter-spacing: 0.035em;
    line-height: 1.25;
    text-transform: uppercase;
}

.evaluation-results-summary > article:first-child span,
.evaluation-results-summary > article:first-child small {
    color: rgba(255, 255, 255, 0.72);
}

.evaluation-results-summary strong,
.evaluation-results-overview strong,
.evaluation-metric-card strong {
    display: block;
    margin-top: 8px;
    color: var(--cc-ui-navy-950);
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.2;
}

.evaluation-results-summary > article:first-child strong {
    color: #fff;
    font-size: 2rem;
}

.evaluation-results-summary small,
.evaluation-results-overview small,
.evaluation-metric-card small {
    display: block;
    margin-top: 7px;
    color: var(--cc-ui-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.evaluation-results-section {
    padding: 16px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    background: var(--cc-ui-surface);
}

.evaluation-category-section {
    display: grid;
    gap: 12px;
}

.evaluation-results-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.evaluation-results-section-heading span {
    color: var(--cc-ui-navy-950);
    font-size: 0.96rem;
    font-weight: 780;
}

.evaluation-results-section-heading strong {
    color: var(--cc-ui-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.evaluation-observation-card div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.evaluation-observation-card small {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 8px;
    border-radius: 0;
    color: var(--cc-ui-cobalt);
    background: #edf4ff;
    font-size: 0.76rem;
}

.evaluation-results-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    background: var(--cc-ui-surface);
}

.evaluation-results-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.evaluation-results-table th,
.evaluation-results-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--cc-ui-line);
    text-align: left;
    vertical-align: middle;
}

.evaluation-results-table th {
    color: var(--cc-ui-muted);
    background: var(--cc-ui-surface-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.evaluation-results-table td {
    color: var(--cc-ui-muted);
    font-size: 0.82rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.evaluation-results-table td:first-child {
    width: 34%;
    color: var(--cc-ui-navy-900);
    font-weight: 780;
}

.evaluation-results-table td:nth-child(2),
.evaluation-observation-table td:not(:first-child) {
    color: var(--cc-ui-navy-950);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.evaluation-results-table tr:last-child td {
    border-bottom: 0;
}

.evaluation-section-average {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid rgba(36, 99, 212, 0.18);
    border-radius: 0;
    background: #f8fbff;
}

.evaluation-section-average span {
    margin-right: auto;
    color: var(--cc-ui-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.evaluation-section-average strong {
    color: var(--cc-ui-navy-950);
    font-variant-numeric: tabular-nums;
    font-size: 0.92rem;
    font-weight: 840;
}

.evaluation-scale-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    color: var(--cc-ui-muted);
    font-size: 0.74rem;
    line-height: 1.35;
}

.evaluation-scale-legend > span {
    color: var(--cc-ui-navy-900);
    font-weight: 820;
}

.evaluation-scale-legend small {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 7px;
    border-radius: 0;
    background: var(--cc-ui-surface-muted);
    color: var(--cc-ui-muted);
}

.evaluation-scale-legend strong {
    color: var(--cc-ui-cobalt);
    font-variant-numeric: tabular-nums;
}

.evaluation-interpretation-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border: 1px solid #d8e4f5;
    border-radius: 0;
    color: var(--cc-ui-cobalt);
    background: #edf4ff;
    font-size: 0.68rem;
    font-weight: 820;
    letter-spacing: 0.035em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.evaluation-interpretation-badge.poor {
    border-color: #f0c5ca;
    color: var(--cc-ui-danger);
    background: #fff6f7;
}

.evaluation-interpretation-badge.fair {
    border-color: #f4d69a;
    color: #9b5e08;
    background: #fff5e7;
}

.evaluation-interpretation-badge.satisfactory,
.evaluation-interpretation-badge.good {
    border-color: #c9d7ea;
    color: var(--cc-ui-navy-800);
    background: #f4f7fb;
}

.evaluation-interpretation-badge.very-good {
    border-color: #b8d6ff;
    color: var(--cc-ui-cobalt);
    background: #edf4ff;
}

.evaluation-interpretation-badge.excellent {
    border-color: #bde6cc;
    color: var(--cc-ui-success);
    background: #eaf8ef;
}

.evaluation-interpretation-badge.no-data {
    border-color: #d8e0ec;
    color: #6f7c91;
    background: #f4f7fb;
}

.evaluation-feedback-workspace {
    display: grid;
    gap: 12px;
}

.evaluation-feedback-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, 0.32fr) minmax(150px, 0.32fr);
    gap: 10px;
    align-items: end;
}

.evaluation-feedback-search,
.evaluation-feedback-filter {
    min-width: 0;
}

.evaluation-feedback-search {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    color: var(--cc-ui-cobalt);
    background: var(--cc-ui-surface-muted);
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.evaluation-feedback-search:focus-within {
    border-color: rgba(36, 99, 212, 0.55);
    background: var(--cc-ui-surface);
    box-shadow: 0 0 0 4px var(--cc-ui-focus);
}

.evaluation-feedback-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    color: var(--cc-ui-ink);
    background: transparent;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 650;
    outline: 0;
}

.evaluation-feedback-search input::placeholder {
    color: #7c899f;
    opacity: 1;
}

.evaluation-feedback-filter span {
    display: block;
    margin: 0 0 6px;
    color: var(--cc-ui-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.evaluation-feedback-filter select {
    width: 100%;
    min-height: 42px;
    padding: 0 34px 0 12px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    color: var(--cc-ui-navy-900);
    background: var(--cc-ui-surface);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    outline: 0;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.evaluation-feedback-filter select:focus-visible {
    border-color: rgba(36, 99, 212, 0.55);
    box-shadow: 0 0 0 4px var(--cc-ui-focus);
}

.evaluation-feedback-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    background: var(--cc-ui-surface);
}

.evaluation-feedback-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.evaluation-feedback-table th,
.evaluation-feedback-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--cc-ui-line);
    text-align: left;
    vertical-align: middle;
}

.evaluation-feedback-table th {
    color: var(--cc-ui-muted);
    background: var(--cc-ui-surface-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.evaluation-feedback-table td {
    color: var(--cc-ui-muted);
    font-size: 0.82rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.evaluation-feedback-table tbody tr {
    cursor: default;
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.evaluation-feedback-table tbody tr:hover,
.evaluation-feedback-table tbody tr:focus-visible {
    background: #f8fbff;
    box-shadow: inset 3px 0 0 var(--cc-ui-gold);
    outline: 0;
}

.evaluation-feedback-table tbody tr:last-child td {
    border-bottom: 0;
}

.evaluation-feedback-table td:first-child {
    width: 28%;
    color: var(--cc-ui-navy-900);
}

.evaluation-feedback-table td:first-child strong,
.evaluation-feedback-table td:first-child small {
    display: block;
}

.evaluation-feedback-table td:first-child strong {
    color: var(--cc-ui-navy-900);
    font-size: 0.86rem;
    font-weight: 780;
}

.evaluation-feedback-table td:first-child small {
    margin-top: 3px;
    color: var(--cc-ui-muted);
    font-size: 0.75rem;
    font-weight: 650;
}

.evaluation-feedback-table td:last-child {
    width: 170px;
    white-space: nowrap;
}

.evaluation-feedback-completion {
    display: inline-flex;
    margin-right: 8px;
    color: var(--cc-ui-navy-950);
    font-variant-numeric: tabular-nums;
    font-weight: 820;
}

.evaluation-feedback-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border: 1px solid #d8e4f5;
    border-radius: 0;
    color: var(--cc-ui-cobalt);
    background: #edf4ff;
    font-size: 0.68rem;
    font-weight: 820;
    letter-spacing: 0.035em;
    line-height: 1;
    text-transform: uppercase;
}

.evaluation-feedback-badge.complete {
    border-color: #bde6cc;
    color: var(--cc-ui-success);
    background: #eaf8ef;
}

.evaluation-feedback-badge.partial {
    border-color: #f4d69a;
    color: #9b5e08;
    background: #fff5e7;
}

.evaluation-feedback-badge.no-comments {
    border-color: #d8e0ec;
    color: #6f7c91;
    background: #f4f7fb;
}

.evaluation-feedback-view-btn,
.evaluation-feedback-pagination button,
.evaluation-feedback-drawer-icon-btn,
.evaluation-feedback-drawer-close-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cc-ui-line);
    color: var(--cc-ui-navy-900);
    background: var(--cc-ui-surface-muted);
    font: inherit;
    font-weight: 760;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.evaluation-feedback-view-btn {
    min-height: 36px;
    gap: 7px;
    padding: 0 11px;
    border-radius: 0;
    font-size: 0.78rem;
}

.evaluation-feedback-view-btn:hover,
.evaluation-feedback-view-btn:focus-visible,
.evaluation-feedback-pagination button:hover:not(:disabled),
.evaluation-feedback-pagination button:focus-visible:not(:disabled),
.evaluation-feedback-drawer-icon-btn:hover,
.evaluation-feedback-drawer-icon-btn:focus-visible,
.evaluation-feedback-drawer-close-btn:hover,
.evaluation-feedback-drawer-close-btn:focus-visible {
    border-color: rgba(36, 99, 212, 0.35);
    color: var(--cc-ui-cobalt);
    background: #e7f0ff;
    box-shadow: 0 0 0 4px var(--cc-ui-focus);
    outline: 0;
    transform: translateY(-1px);
}

.evaluation-feedback-view-btn:active,
.evaluation-feedback-pagination button:active:not(:disabled),
.evaluation-feedback-drawer-icon-btn:active,
.evaluation-feedback-drawer-close-btn:active {
    transform: translateY(1px);
}

.evaluation-feedback-empty-cell {
    padding: 16px !important;
    text-align: center;
}

.evaluation-feedback-empty-cell .evaluation-empty-inline {
    margin: 0;
}

.evaluation-feedback-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--cc-ui-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.evaluation-feedback-pagination > div {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.evaluation-feedback-pagination button {
    min-height: 34px;
    padding: 0 10px;
    border-radius: 0;
    font-size: 0.76rem;
}

.evaluation-feedback-pagination button:disabled {
    cursor: not-allowed;
    opacity: 0.56;
}

.evaluation-feedback-pagination strong {
    color: var(--cc-ui-navy-900);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.evaluation-feedback-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1070;
    background: rgba(7, 26, 61, 0.46);
    backdrop-filter: blur(3px);
    animation: evaluation-feedback-backdrop-in 160ms ease-out;
}

.evaluation-feedback-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1071;
    display: flex;
    width: min(460px, 100vw);
    max-width: 100vw;
    height: 100dvh;
    flex-direction: column;
    border-left: 1px solid var(--cc-ui-line);
    background: var(--cc-ui-surface);
    box-shadow: -24px 0 52px rgba(7, 26, 61, 0.2);
    animation: evaluation-feedback-drawer-in 200ms ease-out;
}

.evaluation-feedback-drawer-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 22px;
    border-bottom: 1px solid var(--cc-ui-line);
    background: #f8fbff;
}

.evaluation-feedback-drawer-header h3 {
    margin: 5px 0 7px;
    color: var(--cc-ui-navy-950);
    font-size: 1.18rem;
    font-weight: 820;
    letter-spacing: 0;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.evaluation-feedback-drawer-header p:last-child {
    margin: 0;
    color: var(--cc-ui-muted);
    font-size: 0.82rem;
    font-weight: 650;
}

.evaluation-feedback-drawer-icon-btn {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 0;
}

.evaluation-feedback-drawer-body {
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 0;
    padding: 18px;
    overflow-y: auto;
    background: var(--cc-ui-surface);
}

.evaluation-feedback-drawer-category {
    padding: 14px;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
    background: #fbfdff;
}

.evaluation-feedback-drawer-category h4 {
    margin: 0 0 9px;
    color: var(--cc-ui-navy-900);
    font-size: 0.84rem;
    font-weight: 820;
    line-height: 1.25;
}

.evaluation-feedback-drawer-category p,
.evaluation-feedback-drawer-empty p {
    margin: 0;
    color: var(--cc-ui-muted);
    font-size: 0.86rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.evaluation-feedback-drawer-category p + p {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--cc-ui-line);
}

.evaluation-feedback-drawer-empty {
    padding: 18px;
    border: 1px dashed #c5d4e7;
    border-radius: 0;
    background: var(--cc-ui-surface-muted);
    text-align: center;
}

.evaluation-feedback-drawer-footer {
    display: flex;
    justify-content: flex-end;
    padding: 16px 18px;
    border-top: 1px solid var(--cc-ui-line);
    background: #f8fbff;
}

.evaluation-feedback-drawer-close-btn {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 0;
    font-size: 0.82rem;
}

.evaluation-empty-inline p {
    margin: 0;
    color: var(--cc-ui-muted);
    font-size: 0.86rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.evaluation-empty-inline {
    padding: 16px;
    border: 1px dashed #c5d4e7;
    border-radius: 0;
    background: var(--cc-ui-surface-muted);
}

.evaluation-response-table {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--cc-ui-line);
    border-radius: 0;
}

.evaluation-response-table > div {
    display: grid;
    grid-template-columns: minmax(150px, 1.6fr) 70px minmax(110px, 1fr) minmax(110px, 1fr) minmax(145px, 1.1fr);
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--cc-ui-line);
}

.evaluation-response-table > div:first-child {
    color: var(--cc-ui-muted);
    background: var(--cc-ui-surface-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.evaluation-response-table > div:last-child {
    border-bottom: 0;
}

.evaluation-response-table span {
    min-width: 0;
    color: var(--cc-ui-muted);
    font-size: 0.8rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

@keyframes evaluation-results-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes evaluation-feedback-backdrop-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes evaluation-feedback-drawer-in {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

/* Custom dialog actions */
.cc-feedback-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

.cc-feedback-dialog-actions--choices {
    flex-wrap: wrap;
}

.cc-feedback-btn-secondary {
    border-color: var(--cc-ui-line);
    color: var(--cc-ui-ink);
    background: var(--cc-ui-surface-muted);
}

.cc-feedback-btn-secondary:hover,
.cc-feedback-btn-secondary:focus-visible {
    border-color: #c7d4e5;
    background: #e5edf7;
}

.cc-feedback-btn-primary {
    border-color: var(--cc-ui-cobalt);
    color: #ffffff;
    background: var(--cc-ui-cobalt);
    box-shadow: 0 8px 18px rgba(36, 99, 212, 0.18);
}

.cc-feedback-btn-primary:hover,
.cc-feedback-btn-primary:focus-visible {
    border-color: var(--cc-ui-navy-800);
    background: var(--cc-ui-navy-800);
}

.cc-feedback-btn-danger {
    border-color: var(--cc-ui-danger);
    color: #ffffff;
    background: var(--cc-ui-danger);
    box-shadow: 0 8px 18px rgba(180, 35, 50, 0.16);
}

.cc-feedback-btn-danger:hover,
.cc-feedback-btn-danger:focus-visible {
    border-color: #901d29;
    background: #901d29;
}

.cc-report-close-dialog .cc-feedback-btn-primary,
.cc-document-save-dialog .cc-feedback-btn-primary,
.cc-application-assign-dialog .cc-feedback-btn-primary,
.cc-document-revise-dialog .cc-feedback-btn-primary {
    border-color: #0b234d;
    color: #ffffff;
    background: #0b234d;
    box-shadow: 0 8px 18px rgba(11, 35, 77, 0.18);
}

.cc-report-close-dialog .cc-feedback-btn-primary:hover,
.cc-report-close-dialog .cc-feedback-btn-primary:focus-visible,
.cc-document-save-dialog .cc-feedback-btn-primary:hover,
.cc-document-save-dialog .cc-feedback-btn-primary:focus-visible,
.cc-application-assign-dialog .cc-feedback-btn-primary:hover,
.cc-application-assign-dialog .cc-feedback-btn-primary:focus-visible,
.cc-document-revise-dialog .cc-feedback-btn-primary:hover,
.cc-document-revise-dialog .cc-feedback-btn-primary:focus-visible {
    border-color: #153668;
    background: #153668;
}

.cc-report-close-dialog .cc-feedback-btn-danger {
    border-color: #f1cbd0;
    color: #dc3545;
    background: #fff6f7;
    box-shadow: none;
}

.cc-report-close-dialog .cc-feedback-btn-danger:hover,
.cc-report-close-dialog .cc-feedback-btn-danger:focus-visible {
    border-color: #dc3545;
    color: #dc3545;
    background: #fff1f3;
}

.solid-discard-actions :is(.cc-report-close-dialog, .cc-document-save-dialog) .cc-feedback-btn-danger {
    border-color: var(--cc-ui-danger);
    color: #ffffff;
    background: var(--cc-ui-danger);
    box-shadow: 0 8px 18px rgba(180, 35, 50, 0.16);
}

.solid-discard-actions :is(.cc-report-close-dialog, .cc-document-save-dialog) .cc-feedback-btn-danger:is(:hover, :focus-visible) {
    border-color: #901d29;
    color: #ffffff;
    background: #901d29;
}

.cc-feedback-btn:focus-visible {
    outline: 3px solid var(--cc-ui-focus);
    outline-offset: 2px;
}

.cc-feedback-btn:active {
    transform: translateY(1px);
}

/* Feedback animations */
@keyframes cc-feedback-slide-in {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cc-feedback-fade-out {
    to {
        opacity: 0;
        transform: translateY(-6px);
    }
}

@keyframes cc-feedback-pop-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Responsive feedback layout */
@media (max-width: 576px) {
    .cc-feedback-toast-region {
        top: 16px;
        right: 16px;
        left: 16px;
        align-items: stretch;
    }

    .cc-feedback-toast {
        width: 100%;
        min-height: 78px;
        padding: 17px 18px;
    }

    .cc-feedback-overlay {
        padding: 16px;
    }

    .cc-feedback-dialog {
        width: 100%;
        max-height: calc(100dvh - 32px);
        padding: 20px;
        border-radius: 0;
    }

    .cc-feedback-dialog-actions {
        flex-direction: column-reverse;
    }

    .cc-view-dialog-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .cc-feedback-btn {
        width: 100%;
    }

    .evaluation-results-header {
        align-items: stretch;
        flex-direction: column;
        padding: 18px;
    }

    .evaluation-results-back,
    .evaluation-results-refresh {
        width: 100%;
    }

    .evaluation-results-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .evaluation-results-body {
        padding: 0;
    }

    .evaluation-results-summary,
    .evaluation-results-overview,
    .evaluation-metric-grid,
    .evaluation-observation-grid,
    .evaluation-form-metadata {
        grid-template-columns: 1fr;
    }

    .evaluation-results-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .evaluation-results-table {
        min-width: 0;
    }

    .evaluation-results-table thead {
        display: none;
    }

    .evaluation-results-table,
    .evaluation-results-table tbody,
    .evaluation-results-table tr,
    .evaluation-results-table td {
        display: block;
        width: 100%;
    }

    .evaluation-results-table tbody {
        display: grid;
        gap: 10px;
        padding: 10px;
    }

    .evaluation-results-table tbody tr {
        overflow: hidden;
        border: 1px solid var(--cc-ui-line);
        border-radius: 0;
        background: var(--cc-ui-surface);
    }

    .evaluation-results-table tbody tr:last-child td,
    .evaluation-results-table td {
        border-bottom: 1px solid var(--cc-ui-line);
    }

    .evaluation-results-table td {
        display: grid;
        grid-template-columns: minmax(132px, 0.48fr) minmax(0, 1fr);
        gap: 10px;
        padding: 11px 12px;
        white-space: normal;
    }

    .evaluation-results-table td::before {
        color: var(--cc-ui-muted);
        content: attr(data-label);
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: 0.05em;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .evaluation-results-table td:last-child {
        border-bottom: 0;
    }

    .evaluation-section-average {
        align-items: stretch;
        flex-direction: column;
    }

    .evaluation-response-table > div {
        grid-template-columns: 1fr;
    }

    .evaluation-response-table > div:first-child {
        display: none;
    }

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

    .evaluation-feedback-table {
        min-width: 0;
    }

    .evaluation-feedback-table thead {
        display: none;
    }

    .evaluation-feedback-table,
    .evaluation-feedback-table tbody,
    .evaluation-feedback-table tr,
    .evaluation-feedback-table td {
        display: block;
        width: 100%;
    }

    .evaluation-feedback-table tbody {
        display: grid;
        gap: 10px;
        padding: 10px;
    }

    .evaluation-feedback-table tbody tr {
        overflow: hidden;
        border: 1px solid var(--cc-ui-line);
        border-radius: 0;
        background: var(--cc-ui-surface);
    }

    .evaluation-feedback-table tbody tr:last-child td,
    .evaluation-feedback-table td {
        border-bottom: 1px solid var(--cc-ui-line);
    }

    .evaluation-feedback-table td {
        display: grid;
        grid-template-columns: minmax(112px, 0.45fr) minmax(0, 1fr);
        gap: 10px;
        padding: 11px 12px;
        white-space: normal;
    }

    .evaluation-feedback-table td::before {
        color: var(--cc-ui-muted);
        content: attr(data-label);
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: 0.05em;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .evaluation-feedback-table td:last-child {
        border-bottom: 0;
    }

    .evaluation-feedback-view-btn,
    .evaluation-feedback-pagination,
    .evaluation-feedback-pagination > div,
    .evaluation-feedback-pagination button,
    .evaluation-feedback-drawer-close-btn {
        width: 100%;
    }

    .evaluation-feedback-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .evaluation-feedback-pagination > div {
        display: grid;
        grid-template-columns: 1fr;
    }

    .evaluation-feedback-drawer {
        width: 100vw;
        border-left: 0;
    }

    .evaluation-feedback-drawer-header {
        padding: 18px;
    }

    .evaluation-feedback-drawer-footer {
        padding: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cc-feedback-toast,
    .cc-feedback-toast.is-exiting,
    .cc-feedback-dialog,
    .cc-feedback-btn,
    .cc-feedback-dialog-input,
    .evaluation-feedback-drawer,
    .evaluation-feedback-drawer-backdrop {
        animation: none;
        transition: none;
    }
}
