/* Compact report detail. Mobile reading order is the source order. */
.ticket-compact-screen {font-size:16px;line-height:1.5;background:#f8f9fd}
.ticket-compact-screen #main-content {padding:0;margin:0;min-height:0}
.product-screen .wrap.page.ticket-page {padding:14px 0 24px;margin:0 auto}
.ticket-heading {margin:0 0 14px}
.ticket-heading-meta {display:flex;align-items:center;gap:8px;min-height:20px}
.ticket-heading .category-label {display:inline;font-size:13px;font-weight:600;background:transparent;color:#52658b;padding:0;border-radius:0;margin:0;line-height:20px}
.ticket-demo {font-size:12px;line-height:18px;padding:1px 6px;background:#fff0cd;color:#795716;border-radius:4px;white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-shrink:0}
.ticket-page .ticket-heading h1 {font-size:26px;line-height:1.16;letter-spacing:-.6px;font-weight:800;margin:6px 0 5px;overflow-wrap:break-word}
.ticket-location-link {display:flex;align-items:flex-start;gap:5px;width:fit-content;max-width:100%;min-height:32px;padding:4px 0;color:#506181;font-size:14px;line-height:1.45;text-decoration:none}
.ticket-location-link>span:not([aria-hidden]) {overflow-wrap:anywhere}
.ticket-location-link>.ui-icon {width:16px;height:18px;flex:0 0 16px;margin:0}
.ticket-location-link:hover span {text-decoration:underline}
.ticket-location-label {font-size:14px;color:#506181;margin:6px 0}
.ticket-reading-grid {display:flex;flex-direction:column;gap:0;min-width:0}
.ticket-state {margin-bottom:18px}
.ticket-page .current-progress {background:#edf2fb;border:0;border-left:3px solid #8da5d7;border-radius:0 10px 10px 0;padding:13px 14px;min-width:0}
.progress-status {display:block;font-size:18px;line-height:1.3;letter-spacing:-.2px;color:#233c70;font-weight:750}
.progress-status::before {content:'';display:inline-block;width:8px;height:8px;vertical-align:2px;margin-right:7px;border-radius:50%;background:#d6a51f}
.progress-status[data-status=open]::before {background:#db4949}
.progress-status[data-status=fixed]::before {background:#268d72}
.ticket-page .current-progress>p {font-size:15px;line-height:1.45;margin:6px 0 0;color:#344563}
.ticket-page .current-progress .progress-owner {font-size:14px;color:#51607b}
.progress-owner strong {font-weight:600}
.ticket-media {min-width:0;margin-bottom:12px}
.compact-ticket-photo {margin:0}
.compact-ticket-photo>button {display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;background:#e9edf4;position:relative;cursor:zoom-in}
.compact-ticket-photo img {width:100%;height:190px;display:block;object-fit:cover;object-position:center}
.compact-ticket-photo button>span {position:absolute;right:8px;bottom:8px;background:#fffffff0;color:#2f477a;border-radius:16px;padding:5px 9px;font-size:12px;line-height:18px}
.compact-ticket-photo figcaption {font-size:11px;line-height:1.45;color:#68738a;margin:5px 0 0;overflow-wrap:anywhere}
.compact-ticket-photo figcaption a {text-decoration:underline;text-underline-offset:2px}
.ticket-photo-gallery {display:flex;gap:8px;overflow:auto;max-width:100%;padding:4px 0;margin:8px 0 0}
.ticket-photo-gallery button {flex:0 0 54px;width:54px;height:54px;border:0;border-radius:7px;padding:0;overflow:hidden;cursor:zoom-in}
.ticket-photo-gallery img {width:100%;height:100%;object-fit:cover;display:block}
.ticket-description {margin:0 0 16px;min-width:0}
.ticket-description>p,.ticket-description>[data-description-full] {font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.ticket-description .ticket-text-button {margin-top:2px}
.ticket-secondary-actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0 0 12px;border-bottom:1px solid #e1e6ef}
.ticket-secondary-actions .vote {display:inline-flex;align-items:center;gap:6px;margin:0;padding:9px 12px;border:1px solid #d5dff1;border-radius:24px;background:#fff;color:#3b5394;font-size:14px;line-height:22px;min-height:44px}
.ticket-secondary-actions .vote.voted {background:#e5edff;border-color:#a8bced}
.ticket-text-button,.ticket-text-link {font:inherit;font-size:14px;line-height:20px;color:#38569b;border:0;background:transparent;min-height:44px;padding:10px 6px;cursor:pointer;text-align:left}
.ticket-text-button:hover,.ticket-text-link:hover {text-decoration:underline;text-underline-offset:3px}
.ticket-main-history {min-width:0}
.ticket-page .ticket-activity>h2 {font-size:18px;line-height:24px;letter-spacing:-.3px;margin:0 0 12px}
.ticket-page .ticket-timeline {list-style:none;border:0;padding:0;margin:0}
.ticket-page .ticket-log-entry {position:relative;border:0;padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid #e4e8f0;min-width:0}
.ticket-page .ticket-log-entry::before,.ticket-page .ticket-log-entry::after {display:none}
.ticket-page .log-entry-meta {display:flex;flex-wrap:wrap;gap:2px 8px;margin:0 0 5px;font-size:13px;line-height:1.45;color:#65728a}
.ticket-page .log-entry-meta strong {font-size:13px;color:#375a97;font-weight:650}
.ticket-page .log-entry-content {padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}
.ticket-page .log-entry-content p {font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.ticket-page .log-entry-official {border-left:2px solid #adc0e6;padding-left:12px}
.ticket-page .log-entry-system {font-size:13px;color:#67748b;padding-bottom:10px}
.ticket-page .log-entry-system .log-entry-meta {display:inline;margin-right:6px}
.ticket-page .log-entry-system .log-entry-content {display:inline}
.ticket-page .log-entry-system .log-entry-content p {font-size:13px;display:inline;line-height:1.5;margin-left:5px}
.log-system-label {font-size:13px;font-weight:600}
.ticket-page .log-entry-official .log-system-label {display:none}
.ticket-page .log-entry-milestone {font-size:13px;display:flex;gap:4px 10px;flex-wrap:wrap;color:#6b7890}
.ticket-page .log-entry-milestone time {font-size:13px}
.ticket-page [hidden] {display:none!important}
.timeline-photo-button {display:block;max-width:220px;border:0;padding:0;margin-top:8px;cursor:zoom-in;background:transparent}
.timeline-photo-button .detail-photo {width:100%;height:120px;object-fit:cover;border-radius:8px;margin:0}
.ticket-page .ticket-log-compose {margin:4px 0 20px;padding:0;border:0;scroll-margin-top:16px}
.ticket-log-compose>form {margin:0}
.ticket-page .ticket-log-compose textarea {width:100%;min-height:48px;height:48px;resize:vertical;border:1px solid #cbd5e6;border-radius:10px;padding:12px;font:inherit;line-height:22px;background:#fff;margin:0}
.ticket-log-compose.is-active textarea {height:130px;min-height:100px}
.compose-expanded {display:block}
.ticket-js .compose-expanded {display:none}
.ticket-js .ticket-log-compose.is-active .compose-expanded {display:block}
.compose-expanded>.muted {font-size:13px;line-height:1.5;margin:8px 0 12px;color:#637088}
.compose-actions {display:flex;gap:8px;flex-wrap:wrap}
.compose-actions .btn {min-height:44px;padding:10px 15px;font-size:14px}
.compose-photo-label {display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;color:#3b5598;margin:10px 0 0;min-height:44px;cursor:pointer}
.compose-photo-label .ui-icon {width:20px;height:20px}
.compose-photo-label input {font-size:12px;max-width:100%}
[data-comment-photo-preview] img {width:100%;max-width:220px;height:120px;object-fit:contain;display:block;border-radius:8px;background:#e9edf4}
[data-comment-photo-status]:empty {display:none}
[data-comment-photo-status] {font-size:13px;color:#a03535}
.ticket-meta {margin:0;min-width:0}
.ticket-compact-screen details.ticket-inline-details,.ticket-compact-screen details.context-editor {margin:0 0 8px;padding:0;border:0;border-radius:0;background:transparent}
.ticket-compact-screen details.ticket-inline-details>summary,.ticket-compact-screen details.context-editor>summary {font-size:14px;line-height:20px;padding:10px 0;min-height:40px;cursor:pointer;display:flex;align-items:center;width:fit-content;gap:8px;color:#52658b;font-weight:500;margin:0}
.ticket-compact-screen details.ticket-inline-details>summary::after,.ticket-compact-screen details.context-editor>summary::after {content:'⌄';position:static;font-size:14px;line-height:20px}
.ticket-compact-screen details[open].ticket-inline-details>summary,.ticket-compact-screen details[open].context-editor>summary {margin-bottom:6px}
.ticket-inline-details dl {margin:0;font-size:13px;line-height:1.5;color:#65718a}
.ticket-inline-details dl>div {display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.ticket-inline-details dt {min-width:140px}
.ticket-inline-details dd {margin:0}
.ticket-code-copy {padding:0;border:0;background:transparent;color:#34569b;font:inherit;cursor:pointer;min-height:32px}
.ticket-compact-screen details.context-editor[open] {padding:12px;background:#edf2fb;border:1px solid #d4dff0;border-radius:10px}
.ticket-compact-screen .context-editor form {margin:8px 0 0;max-width:none}
.context-editor label {display:block;font-size:14px;line-height:1.5}
.context-editor input,.context-editor select,.context-editor textarea {width:100%;margin-top:4px}
.context-editor-actions {display:flex;gap:8px;flex-wrap:wrap}
.context-editor-actions .btn {font-size:13px;padding:10px 12px}
.editor-public-label,.context-editor [role=alert] {font-size:13px;line-height:1.5}
.context-editor [role=alert] {color:#a33737}
.ticket-desktop-actions {display:none}
.ticket-location-slot {display:none}
.ticket-location-card {min-width:0}
.ticket-location-card .detail-location-section {margin:0}
.ticket-location-card .detail-location-heading {margin:0 0 8px;display:block}
.ticket-location-card .detail-location-heading h2 {font-size:16px;letter-spacing:-.2px;margin:0}
.ticket-location-card .detail-location-heading p {font-size:13px;margin:4px 0;color:#63718a}
.ticket-location-card .map-panel {padding:0;border:1px solid #dce3f0;border-radius:10px;overflow:visible;background:#fff}
.ticket-location-card .map-toolbar {display:flex;gap:6px;flex-wrap:wrap;padding:6px;margin:0;align-items:center;min-height:44px}
.ticket-compact-screen .ticket-location-card .map-toolbar .map-navigation {display:none}
.ticket-location-card .map-toolbar .leaflet-control-zoom {display:flex;order:0}
.ticket-location-card .map-toolbar .leaflet-control-zoom a {width:36px;height:34px;line-height:34px;min-width:36px;border:0;display:block}
.ticket-location-card .map-toolbar .leaflet-control-layers {flex:0 0 auto;border:0!important;padding:0!important;margin-left:auto;order:1}
.ticket-location-card .leaflet-control-layers-toggle {width:auto;min-width:80px;height:34px;line-height:34px;background-image:none;text-align:center}
.ticket-location-card .leaflet-control-layers-toggle::before {content:var(--r360-map-view-label, "Kartenansicht");font-size:13px;font-weight:500}
.ticket-location-card .leaflet-control-layers-base {display:block}
.ticket-location-card .leaflet-control-layers-expanded {position:static;right:auto;top:auto;flex-basis:100%;margin-left:0;z-index:auto;padding:10px!important;background:#fff!important;box-shadow:0 3px 16px #24375225!important;border-radius:8px}
.ticket-location-card .map-wrap {border-radius:10px 10px 0 0;overflow:hidden}
.ticket-location-card #detailLocationMap {height:auto;min-height:0;aspect-ratio:1 / 1;touch-action:pan-y!important}
.ticket-location-card .detail-map-actions {display:flex;gap:16px;align-items:center;margin-top:4px}
.ticket-location-card .detail-map-actions button,.ticket-location-card .detail-map-actions a {font:inherit;font-size:14px;min-height:44px;color:#3b5598;background:transparent;border:0;padding:10px 0;cursor:pointer}
.ticket-location-card .detail-location-coordinates {font-size:13px!important}
.ticket-compact-screen .ticket-location-card details.detail-location-coordinates {border:0;background:transparent;margin:0;padding:0}
.ticket-compact-screen .ticket-location-card details.detail-location-coordinates>summary {font-size:13px;min-height:36px;padding:8px 0;color:#65728a}
.ticket-compact-screen .ticket-location-card details.detail-location-coordinates>summary::after {font-size:13px}
.ticket-photo-dialog,.ticket-map-dialog {width:calc(100% - 24px);max-width:1000px;max-height:calc(100dvh - 24px);overflow:auto;padding:14px;border:0;border-radius:12px;background:#fff;color:#233550}
.ticket-photo-dialog::backdrop,.ticket-map-dialog::backdrop {background:#14203dcc}
.ticket-photo-dialog>button,.ticket-map-dialog-heading>button {border:0;background:#edf1f9;border-radius:8px;padding:10px 12px;min-height:44px;font:inherit;font-size:14px;cursor:pointer}
.ticket-photo-dialog>button {display:block;margin:0 0 12px auto}
.ticket-photo-dialog>img {display:block;width:100%;height:auto;max-height:72dvh;object-fit:contain}
.ticket-photo-dialog>p {font-size:12px;margin:10px 0 0}
.ticket-photo-dialog [hidden] {display:none}
.ticket-map-dialog-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ticket-map-dialog-heading h2 {font-size:20px;letter-spacing:-.4px}
.ticket-map-dialog .ticket-location-card {display:block}
.ticket-map-dialog #detailLocationMap {height:clamp(240px,45dvh,520px);min-height:240px}
.ticket-map-dialog [data-detail-map-enlarge] {display:none}
.ticket-map-dialog .detail-location-heading h2 {display:none}
.ticket-dialog-open {overflow:hidden}
.ticket-mobile-actions {display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1000;height:calc(68px + env(safe-area-inset-bottom));padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid #dce2ee;background:#fffffff5;backdrop-filter:blur(12px)}
.ticket-mobile-actions button {flex:1;min-width:0;min-height:44px;padding:10px 8px;border:1px solid #c5d2f3;border-radius:24px;background:#eaf0ff;color:#2e4992;font:inherit;font-size:14px;font-weight:650;line-height:24px;cursor:pointer}
.ticket-mobile-actions button:last-child {background:#3155eb;border-color:#3155eb;color:white}
.ticket-mobile-actions[hidden] {display:none!important}
.ticket-compact-screen:has(.ticket-mobile-actions) {padding-bottom:calc(68px + env(safe-area-inset-bottom))}
.ticket-visibility-note {font-size:13px;line-height:1.5;border-left:2px solid #c09a43;padding-left:10px;margin:0 0 12px;color:#776434}
.ticket-compact-screen :is(button,a,summary,input,textarea,select):focus-visible {outline:3px solid #3155eb;outline-offset:3px}
@media(min-width:900px) {
    .product-screen .wrap.page.ticket-page {padding-top:16px;padding-bottom:32px}
    .ticket-heading {max-width:100%;margin-bottom:20px}
    .ticket-page .ticket-heading h1 {font-size:32px;line-height:1.2;max-width:1000px}
    .ticket-reading-grid {display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:36px;align-items:start}
    .ticket-state {grid-column:1;grid-row:1;margin-bottom:16px}
    .ticket-media {grid-column:2;grid-row:1 / span 2;margin-bottom:16px}
    .compact-ticket-photo img {height:210px}
    .ticket-description {grid-column:1;grid-row:2}
    .ticket-secondary-actions {grid-column:1;grid-row:3;margin-bottom:20px}
    .ticket-main-history {grid-column:1;grid-row:4 / span 2}
    .ticket-location-slot {display:block;grid-column:2;grid-row:3 / span 2;margin-bottom:16px}
    .ticket-meta {grid-column:2;grid-row:5}
    .ticket-desktop-actions {display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
    .ticket-desktop-actions .btn {min-height:44px;font-size:14px;padding:10px 16px}
    .ticket-mobile-actions {display:none}
    .ticket-compact-screen:has(.ticket-mobile-actions) {padding-bottom:0}
}
@media(prefers-reduced-motion:reduce) {.ticket-compact-screen {scroll-behavior:auto}}
/* Independent desktop columns keep short report text close to its status. */
.ticket-page .ticket-heading {display:block}
.ticket-content-column,.ticket-side-column {min-width:0}
.ticket-desktop-media {display:none}
@media(min-width:900px) {
 .ticket-content-column {grid-column:1;grid-row:1}
 .ticket-side-column {grid-column:2;grid-row:1}
 .ticket-mobile-media {display:none}
 .ticket-desktop-media {display:block}
 .ticket-side-column .ticket-location-slot {margin-top:20px;margin-bottom:12px}
 .ticket-side-column .ticket-meta {margin-top:4px}
 .ticket-page .ticket-description {margin:0 0 16px}
}
/* A map remains reachable via its anchor when scripting is unavailable. */
body:not(.ticket-js) .ticket-location-slot {display:block;margin-bottom:20px}
.ticket-location-card .map-toolbar .leaflet-control-zoom a {min-height:36px;height:36px;line-height:36px;padding:0}
.ticket-location-card .leaflet-control-layers-toggle {min-height:36px;height:36px;line-height:36px}
@media(min-width:900px) {
 .ticket-side-column>.ticket-desktop-actions {margin:0 0 12px}
 .compact-ticket-photo img {height:190px}
 .ticket-side-column .detail-location-heading p {display:none}
 .ticket-side-column #detailLocationMap {height:auto;min-height:0;aspect-ratio:1 / 1}
}
.ticket-js .compose-photo-label input {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0;border:0}
.compose-photo-label:focus-within {outline:3px solid #3155eb;outline-offset:3px;border-radius:4px}
[data-comment-photo-preview] button {border:0;background:transparent;color:#38569b;font:inherit;font-size:13px;min-height:44px;padding:8px 0;cursor:pointer}
[data-comment-photo-status] {color:#4e6759}
[data-comment-photo-status][data-error] {color:#a03535}
.ticket-location-link {min-height:44px}
.ticket-compact-screen details.ticket-inline-details>summary,.ticket-compact-screen details.context-editor>summary {min-height:44px}
/* Panel chrome supplies the colored status header; legacy header defaults do not apply. */
.ticket-compact-screen .ticket-panel-header{height:auto;min-height:0;position:static;align-items:start;justify-content:normal;letter-spacing:normal;box-shadow:none}
.ticket-panel-actions .ui-icon{width:18px;height:18px;flex:0 0 auto}

/* Detail actions stay readable as a two-row group on small screens. */
.ticket-panel-actions .ui-icon{flex:0 0 auto}
.ticket-compact-state .ui-icon{width:16px;height:16px}

/* Match the heart's small lift for the other secondary action icons. */
.ticket-panel-actions [data-subscription-icon],
.ticket-panel-actions [data-copy]>.ui-icon{transition:transform .15s}
.ticket-panel-actions [data-follow-dialog-trigger]:hover [data-subscription-icon],
.ticket-panel-actions [data-copy]:hover>.ui-icon{transform:translateY(-2px)}

/* Report comments stay visible as metadata until their text is released. */
.report-comment-pending{padding:12px 14px;margin:4px 0 12px;border-radius:10px;background:#fff8e8;color:#755824;font-size:14px}
.report-comment-pending strong{display:block}.report-comment-pending p{margin:4px 0 0!important;font-size:13px!important;line-height:1.6!important}
.report-comment-auto{margin:0 0 8px!important;font-size:12px!important;color:#64748b}
.report-comment-moderation{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}.report-comment-moderation p{flex-basis:100%;margin:0!important}
.ticket-page .report-comment-composer{margin:20px 0;padding:22px;border:1px solid #dce3ef;border-radius:16px;background:#fff}
.ticket-page .report-comment-composer h2{font-size:20px;letter-spacing:-.3px;margin:0 0 6px}
.report-comment-intro{font-size:14px;color:#68778d;margin:0 0 18px}
.ticket-page .report-comment-composer textarea{height:auto;min-height:150px;padding:16px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px;line-height:1.6;resize:vertical;background:#fafbff}
.ticket-page .report-comment-composer .compose-expanded{display:block!important}
.report-comment-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;margin:10px 0}
.report-comment-toolbar>span{font-size:12px;color:#7a879c}.report-comment-toolbar .compose-photo-label{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dce3ef;border-radius:9px;background:#fff;cursor:pointer;font-size:14px;font-weight:600}
.report-comment-visibility{font-size:13px;line-height:1.6;color:#64748b;margin:14px 0}
.report-comment-composer .compose-actions{display:flex;justify-content:flex-end;padding-top:10px}

/* Edit the displayed content directly; forms live in dialogs, not inline accordions. */
.ticket-page [data-report-edit-open]{cursor:pointer;border-radius:6px;transition:background-color .15s}
.ticket-page [data-report-edit-open]:hover{background:#edf1ff;outline:2px solid #dce4ff;outline-offset:3px}
.report-edit-inline{display:inline;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;line-height:inherit}
.report-edit-dialog{width:calc(100% - 32px);max-width:720px;max-height:85dvh;margin:auto;padding:24px;border:0;border-radius:18px;background:#fff;color:#24324b;overflow-y:auto}
.report-edit-dialog::backdrop{background:#17213a88}
.report-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.report-edit-heading h2{margin:0;font-size:22px;letter-spacing:-.4px}
.report-edit-heading>button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid #dce3ef;border-radius:50%;background:#fff;color:#3453a1;font:inherit;font-size:24px}
.report-edit-dialog .form-stack{max-width:none}.report-edit-dialog label{display:block}
.report-edit-dialog textarea,.report-edit-dialog input,.report-edit-dialog select{max-width:100%;min-width:0}
.report-edit-dialog .context-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.report-edit-dialog [data-edit-feedback]:empty{display:none}
.report-edit-dialog .report-edit-map{height:280px;min-height:280px;aspect-ratio:auto}
.report-edit-dialog .map-navigation{display:none}
@media(max-width:599px){.report-edit-dialog{padding:18px}.ticket-page .report-comment-composer{padding:16px}}
.ticket-js .report-comment-composer .compose-photo-label{position:relative}
.ticket-js .report-comment-composer .compose-photo-label input[type=file]{position:absolute;left:0;top:0;width:1px;max-width:1px;height:1px;min-height:0;padding:0;border:0;margin:0;clip-path:inset(50%);overflow:hidden}

.ticket-page .report-comment-composer :is(label[for=comment-email],label[for=idea-comment-email]){display:block;margin:12px 0 6px;font-size:14px;font-weight:600}
.ticket-page .report-comment-composer input[type=email]{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fafbff;font-size:16px}

.comment-receipt-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #e2e8f0;border-radius:22px;padding:28px;background:#fff;color:#1e293b;box-shadow:0 24px 80px #0f172a40}
.comment-receipt-dialog::backdrop{background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}
.comment-receipt-dialog form{margin:0}
.comment-receipt-close{display:block;min-height:36px;min-width:36px;margin:-12px -12px 4px auto;border:0;border-radius:50%;background:#f1f5f9;color:#475569;font-size:24px;cursor:pointer}
.comment-receipt-icon{display:flex;width:64px;height:64px;align-items:center;justify-content:center;margin-bottom:20px;border-radius:20px;background:#eef2ff;color:#3858c4}
.comment-receipt-icon svg{width:32px;height:32px}
.comment-receipt-dialog h2{margin:0 0 14px;font-size:28px;line-height:1.2;letter-spacing:-.6px}
.comment-receipt-dialog p{margin:0 0 14px;color:#52627c;font-size:16px;line-height:1.6}
.comment-receipt-dialog .comment-receipt-note{padding:14px;border-radius:12px;background:#f8fafc;font-size:14px}
.comment-receipt-dialog .btn{box-sizing:border-box;width:100%;margin-top:8px;min-height:48px}
@media(max-width:599px){.comment-receipt-dialog{padding:22px}.comment-receipt-dialog h2{font-size:25px}}

.ticket-page .ticket-log-entry[data-kind="comment"]{border-radius:12px}

.idea-overview{padding:0 24px 24px;border-top:1px solid #e2e8f0}
.idea-overview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0}
.idea-overview h3{margin:0 0 8px;font-size:15px;line-height:1.4;font-weight:650;letter-spacing:0;color:#1e293b}
.idea-overview-facts p{margin:0;font-size:15px;line-height:1.65;color:#52627c}
.idea-overview-facts .idea-overview-budget{font-size:22px;font-weight:700;color:#1e293b}
.idea-overview .idea-overview-caption{margin:8px 0 0;font-size:12px;line-height:1.6;color:#64748b}
.idea-ai-summary{padding:20px;border:1px solid #dce3ef;border-radius:14px;background:#f8faff}
.idea-ai-summary-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px}
.idea-ai-summary-heading h3{margin:0}
.idea-ai-summary-label{padding:3px 8px;border-radius:6px;background:#e8edff;color:#3858a1;font-size:11px;font-weight:600}
.idea-ai-summary-body{margin:0;font-size:15px;line-height:1.75;color:#334155}
@media(max-width:699px){.idea-overview{padding:0 16px 16px}.idea-overview-facts{grid-template-columns:1fr;gap:18px;padding:20px 0}.idea-ai-summary{padding:16px}}

.comment-thread-replies{list-style:none;margin:16px 0 0 12px;padding:0 0 0 20px;border-left:2px solid #dce3f1}
.comment-thread-replies .ticket-log-entry:last-child{margin-bottom:0}
.comment-thread-replies .log-avatar{display:none}
.comment-thread-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px}
.comment-thread-actions form{margin:0}
.comment-thread-actions .ticket-text-button{font-size:12px;min-height:36px}
.comment-kind-badge,.comment-solution-badge{display:inline-block;font-size:12px;line-height:18px;font-weight:600;padding:4px 8px;border-radius:6px;margin-bottom:8px}
.comment-kind-badge[data-comment-kind=question]{color:#3155eb;background:#eef2ff}
.comment-kind-badge[data-comment-kind=concern]{color:#92400e;background:#fffbeb}
.comment-kind-badge[data-comment-kind=positive],.comment-solution-badge{color:#047857;background:#ecfdf5}
.comment-reply-context{margin:12px 0;padding:12px;border-left:3px solid #3155eb;background:#eef2ff;border-radius:6px}
.comment-reply-context p{margin:0;font-size:13px;overflow-wrap:anywhere}
@media(max-width:600px){.comment-thread-replies{margin-left:0;padding-left:12px}.comment-thread-replies .log-entry-content{padding:12px}}

.comment-upvote{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid #dce3f1;border-radius:8px;background:white;color:#52647c;font-size:12px;line-height:20px;cursor:pointer}
.comment-upvote .ui-icon{width:16px;height:16px}
.comment-upvote strong{font-size:12px}
.comment-upvote:hover{background:#eef2ff}
.comment-upvote.is-upvoted{color:#3155eb;border-color:#c7d2fe;background:#eef2ff}
.comment-upvote:focus-visible{outline:2px solid #3155eb;outline-offset:2px}
.comment-upvote:disabled{opacity:.6;cursor:wait}
