/* Unified surface and refinements; static background avoids mobile fixed-layer flicker. */
body,body.phase-oct2,body.report-view {background-color:#eff1f7;background-image:radial-gradient(circle at 12% 8%,#ddd4ed45,transparent 38%),radial-gradient(circle at 88% 72%,#cee8e43a,transparent 35%),radial-gradient(#8e80af15 1px,transparent 1px),linear-gradient(125deg,transparent 48%,#b5a4cd09 49%,#b5a4cd09 51%,transparent 52%);background-size:auto,auto,22px 22px,88px 88px;background-attachment:scroll;}
body:has(main a[href="/projects"]:not(.app-header__brand)) .app-header__back {display:none;}
.report-chart-sizing[hidden] {display:none!important;}
.report-chart {position:relative;}
.report-chart:not(.report-chart--loaded)::before {content:'';position:absolute;inset:18% 8%;border-radius:16px;background:linear-gradient(135deg,#eee8f533,transparent);pointer-events:none;}
.report-chart--loaded .highcharts-root {animation:chart-arrive .45s ease both;}
@keyframes chart-arrive {from {opacity:.3;}to {opacity:1;}}
/* Focus rings stay inside the history scrolling region. */
.persona-view .history-list {padding:8px 9px;gap:9px;}
.persona-view .history-item {width:100%;box-sizing:border-box;}
.persona-view .is-locked .feature-grid {gap:0;border:1px solid #e6ddf1;border-radius:16px;overflow:hidden;background:#faf7fd;}
.persona-view .is-locked .feature-control {border:0;border-radius:0;box-shadow:none;background:transparent;border-bottom:1px solid #eae2f2;padding:10px 14px;min-height:62px;}
.persona-view .is-locked .persona-profile-field dd {margin-top:4px;}
.bubble .role {display:flex;align-items:center;gap:7px;}
.bubble .role .ui-icon {width:18px;height:18px;flex-shrink:0;color:#8973b3;}
.bubble {position:relative;overflow:visible;}
.bubble.user {border-bottom-right-radius:5px;}
.bubble.assistant {border-bottom-left-radius:5px;}
.bubble::after {content:'';position:absolute;bottom:0;width:13px;height:17px;pointer-events:none;background:inherit;}
.bubble.user::after {right:-7px;border-radius:0 0 0 16px;clip-path:polygon(0 0,100% 100%,0 100%);}
.bubble.assistant::after {left:-7px;border-radius:0 0 16px 0;clip-path:polygon(100% 0,0 100%,100% 100%);}
.persona-view .chat-log {padding-inline:20px;}
/* Project actions have equal widths; illustration remains above the wave. */
.project-concept {display:none;}
.phase-oct2 .projects-list[data-view=cards] .project-concept {display:block;position:absolute;top:20px;right:24px;width:65px;height:65px;opacity:.12;color:#9078be;pointer-events:none;z-index:0;}
.project-concept .ui-icon {width:100%;height:100%;}
.phase-oct2 .projects-row__toolbar {gap:12px;}
.phase-oct2 .projects-list .projects-hub-btn {min-width:110px;padding:10px 18px;justify-content:center;box-sizing:border-box;}
.phase-oct2 .projects-list[data-view=cards] .projects-hub-btn {flex:1 1 0;min-width:0;padding:11px 18px;backdrop-filter:none;}
.projects-list[data-view=cards] .project-wave {inset:53% -25% -2%;}
/* One exact spatial period; transform keeps the loop on the compositor. */
.project-wave i {inset:0 auto 0 0;width:calc(100% + 640px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 160' preserveAspectRatio='none'%3E%3Cpath fill='%23d6d0fa' d='M0 42C106 10 214 10 320 42S534 74 640 42V160H0Z'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:640px 100%;animation:project-tide 38s linear infinite;animation-play-state:running;}
.project-wave i:nth-child(2) {animation-duration:51s;animation-direction:reverse;animation-delay:-17s;opacity:.52;}
@keyframes project-tide {from {transform:translateX(0);}to {transform:translateX(-640px);}}
.phase-oct2 .projects-list[data-view=cards] .projects-row {transition:transform .4s cubic-bezier(.2,.75,.25,1),box-shadow .4s ease;border-color:#e1def4;}
@media(hover:hover) and (pointer:fine) {
 .phase-oct2 .projects-list[data-view=cards] .projects-row:hover {transform:scale(1.025);z-index:2;box-shadow:0 14px 34px #7660a920;}
}
.phase-oct2 .projects-list[data-view=cards] .projects-row:has(:focus-visible) {transform:scale(1.025);z-index:2;}
/* Analytical sections retain a consistent vertical rhythm. */
.report-view .sentiment-results > :is(.card-panel,.sentiment-charts) {margin-block:22px;}
.report-view .sentiment-charts--stack {display:grid;gap:22px;}
.report-view .sentiment-charts figure {margin:0;}
.report-view .sentiment-overview {padding:22px;}
.report-view .sentiment-overview h3 {margin:0;font-size:15px;}
.report-view .combined-chart-card {padding:22px;}
.report-view .combined-chart-card .report-switcher {margin-bottom:0;}
/* Flex wrapping centers incomplete KPI rows as well as the complete rows. */
.report-view #module-executive .survey-overview__metrics {display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:928px;margin-inline:auto;}
.report-view #module-executive .survey-snapshot-tile {flex:0 0 calc((100% - 48px)/4);width:calc((100% - 48px)/4);max-width:220px;}
.report-view .validation-filter-scope {margin-top:36px;}
.report-view .validation-filters button[aria-pressed="true"] {background:#7864ba;color:#fff;border-color:#7864ba;box-shadow:0 4px 12px #7864ba20;}
.balancing-axis-label {display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:135px;font:500 11px Outfit,sans-serif;white-space:normal;}
.balancing-axis-label .validation-pill {font-size:10px;padding:3px 6px;}
/* Tables use native semantics; local horizontal scrolling remains available. */
body table:not(.highcharts-data-table) {border-collapse:separate;border-spacing:0;background:#fff;color:#6d607b;font:400 13px/1.5 Outfit,sans-serif;border:1px solid #e7dfee;border-radius:14px;overflow:hidden;}
body table:not(.highcharts-data-table) th {background:#f4eef9;color:#78638f;font:600 11px/1.5 Sora,sans-serif;padding:14px 16px;text-align:left;border-bottom:1px solid #e5d9ef;}
body table:not(.highcharts-data-table) td {padding:13px 16px;border-bottom:1px solid #efe9f4;}
body table:not(.highcharts-data-table) tbody tr:nth-child(even) {background:#fcfafd;}
body table:not(.highcharts-data-table) tbody tr:hover {background:#f5f0fa;}
body table:not(.highcharts-data-table) tbody tr:last-child td {border-bottom:0;}
.report-view table.dataTable {width:100%!important;margin:14px 0!important;}
.report-view table.dataTable th,.report-view table.dataTable td {border-inline:0;}
.report-view table.dataTable th {padding-right:28px;}
.report-view .dt-container .dt-layout-row {gap:12px;}
.report-view .dt-search label {font-size:12px;margin-right:8px;}
.report-view .dt-search input:focus {outline:2px solid #c4b4e4;outline-offset:2px;}
@media(max-width:900px) {
 .phase-oct2 .projects-account-shell {align-items:center;justify-content:center;text-align:center;}
 .phase-oct2 .projects-account-menu {margin-inline:auto;width:100%;max-width:650px;}
 .phase-oct2 .projects-account-info {justify-content:center;text-align:center;}
 .phase-oct2 .projects-account-info__item {align-items:center;justify-content:center;}
 .phase-oct2 .projects-account-info__copy {align-items:center;}
}
@media(max-width:640px) {
 .phase-oct2 .projects-list[data-view=cards] {grid-template-columns:minmax(0,1fr);justify-items:center;}
 .phase-oct2 .projects-list[data-view=cards] .projects-row {width:100%;max-width:330px;min-height:230px;aspect-ratio:1.3;gap:18px;padding:24px 20px;box-sizing:border-box;}
 .phase-oct2 .projects-list[data-view=cards] .projects-row__name {font-size:17px;}
 .phase-oct2 .projects-list[data-view=cards] .projects-row__toolbar {width:100%;}
 .phase-oct2 .projects-list[data-view=cards] .projects-hub-btn {padding:10px 12px;font-size:11px;}
 .project-wave i:nth-child(2) {top:12px;}
 .report-view #module-executive .survey-snapshot-tile {flex-basis:calc((100% - 12px)/2);width:calc((100% - 12px)/2);}
 .report-view #module-executive .survey-overview__metrics {gap:12px;}
 .report-view :is(.combined-chart-card,.sentiment-overview) {padding:16px;}
 .balancing-axis-label {max-width:95px;font-size:10px;}
 .report-view .dt-search input {width:100%;margin:8px 0 0;box-sizing:border-box;}
 body table:not(.highcharts-data-table) :is(th,td) {padding:10px 12px;}
}
@media(prefers-reduced-motion:reduce) {.report-chart--loaded .highcharts-root,.project-wave i {animation:none!important;}}
.phase-oct2 .projects-list[data-view=cards] .projects-row__toolbar {position:static;}
.phase-oct2 .projects-list[data-view=cards] .projects-row__toolbar .projects-row-delete {position:absolute;top:16px;right:14px;z-index:2;transform:none;}

.phase-oct2::before {content:none;animation:none;}
@media(max-width:900px){.phase-oct2 .projects-account-rail {display:flex;justify-content:center;width:100%;}}
@media(max-width:640px){.app-header,.app-footer {backdrop-filter:none;}}

@media(max-width:900px) {
 .phase-oct2 .projects-account-rail {justify-self:center;margin-inline:auto;max-width:650px;}
 .phase-oct2 .projects-account-info {justify-items:center;}
 .phase-oct2 .projects-account-info__item {width:100%;max-width:260px;}
}
@media(prefers-reduced-motion:reduce) {
 .phase-oct2 .projects-list[data-view=cards] .projects-row {transition:none;transform:none!important;}
}
