/* Client review: image-led backgrounds, stable demo panels and accessible carousels. */
#page-art{position:fixed;inset:0;pointer-events:none;background-size:cover;background-position:center;z-index:0;opacity:.72}
#page-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,transparent 100%);opacity:.68}
html[data-theme="sapphire-background"] #page-art,html[data-theme="sapphire-light"] #page-art{opacity:.22}
#app{z-index:1}
.image-choice{position:relative;isolation:isolate;overflow:hidden;background:var(--panel)!important}
.image-choice:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#061838f5 15%,#06183875),var(--card-art);background-size:cover;background-position:center;opacity:.85}
html[data-theme^="sapphire-"] .image-choice,html[data-theme^="sapphire-"] .image-choice :is(small,h3,p,b,.choice-icon){color:#fff}
.has-page-art .challenge-list-full article,.has-page-art .solution-choice{backdrop-filter:blur(8px);background:var(--surface)}
.carousel-track{display:grid}
.carousel-slide{grid-area:1/1;min-height:210px!important}
.carousel-slide[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
.carousel-slide:not([hidden]){animation:carousel-reveal .35s ease both}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:16px}
.carousel-controls>span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.carousel-controls button{min-width:44px;min-height:40px;padding:7px 14px}
@keyframes carousel-reveal{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.combined-portrait{position:relative;overflow:hidden}
.combined-portrait img{position:absolute!important;max-width:none!important;width:var(--portrait-width,100%)!important;height:auto!important;left:var(--portrait-left,0%)!important;top:var(--portrait-top,0%)!important;object-fit:initial!important;animation:none!important}
/* Table selectors match the specificity of the original embedded dashboard rules. */
.reference-demo table.oac-table :is(th,td){color:var(--ink);background:transparent;border-color:var(--line)}
.reference-demo table.oac-table th{background:var(--panel);color:var(--ink)}
.reference-demo table.oac-table tr.clickable:hover{background:var(--line)}
.reference-demo table.oac-table tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.reference-demo .oac-conc-row :is(.lab,.val),.reference-demo .oac-drawer b,.reference-demo .oac-legend :is(b,span){color:var(--ink)}
.reference-demo .oac-bars{background:var(--panel);border-color:var(--line)}
.reference-demo .oac-bar-col .lab,.reference-demo .oac-bar-col .lab b{color:var(--ink)}
.reference-demo .oac-drawer{min-height:86px;box-sizing:border-box}
.reference-demo .empty-drawer{visibility:hidden}
.reference-demo .chat-shell{display:flex;flex-direction:column;height:390px}
.reference-demo .chat-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--accent) var(--panel)}
.reference-demo .chat-top,.reference-demo .prompts,.reference-demo .chat-input-bar{flex-shrink:0}
.reference-demo .prompts{display:flex;flex-wrap:wrap}
.reference-demo .prompt-chip:disabled{opacity:.7;cursor:default}
.reference-demo .bubble{max-width:100%}
body[data-page="17"] .demo-note{visibility:hidden}
@media(max-width:760px){.carousel-slide{min-height:165px!important}.reference-demo .chat-shell{height:410px}.carousel-controls{margin-top:8px}.carousel-controls button{min-height:34px}.overview-three .image-choice{min-height:130px}}
@media(prefers-reduced-motion:reduce){.carousel-slide:not([hidden]){animation:none}}
.motion-paused .carousel-slide:not([hidden]){animation:none}

.reference-demo .oac-conc-val,.reference-demo .oac-legend-item{color:var(--ink)}
.reference-demo .oac-donut .hole{background:var(--panel)}
.reference-demo .oac-donut .hole b,.reference-demo .oac-donut .hole small{color:var(--ink)}
.reference-demo .oac-logo{color:var(--ink)}
.reference-demo .oac-crumb,.reference-demo .oac-header-right svg{color:var(--muted)}
.reference-demo .oac-live{color:var(--accent)}
.reference-demo{--red:#ffb9be;--amber:#ffd99b;--green:#98e6bc}
html[data-theme="sapphire-background"] .reference-demo,html[data-theme="sapphire-light"] .reference-demo{--red:#9e2034;--amber:#76500b;--green:#166338}

.combined-portrait.standalone-portrait img{height:100%!important;object-fit:cover!important}

/* Secondary captions removed; retain main content and navigation. */
.footer-note:empty{display:none}
/* Collections dashboard samples and paginated customer details */
.collections-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;padding:18px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.collections-chart-grid figure{margin:0;background:#fff;border-radius:10px;padding:10px;display:flex;align-items:center;justify-content:center;height:320px}
.collections-chart-grid img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.critical-customers{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.critical-customers h3{margin-bottom:16px;font-size:19px}
.customer-table{border-collapse:collapse;width:100%;table-layout:fixed;font-variant-numeric:tabular-nums}
.customer-table th{font-size:10px;text-align:left;padding:10px 6px;background:var(--surface);color:var(--muted)}
.customer-table td{font-size:11px;padding:12px 6px;border-bottom:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;vertical-align:middle}
.customer-table th:first-child{width:15%}.customer-table th:nth-child(2),.customer-table th:nth-child(3),.customer-table th:nth-child(4),.customer-table th:nth-child(5){width:7%}.customer-table th:nth-child(6),.customer-table th:nth-child(7){width:18%}.customer-table th:last-child{width:21%}
.customer-table td:first-child{font-weight:700;color:var(--accent)}
.customer-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px}
.customer-pagination span{font-size:12px;color:var(--muted)}
.reference-demo .collections-chat{height:420px;display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.6fr);grid-template-rows:auto minmax(0,1fr)}
.reference-demo .collections-chat .chat-top{grid-column:1/-1}
.reference-demo .collections-chat .prompts{grid-column:1;grid-row:2;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;border-right:1px solid var(--line);overflow:auto}
.reference-demo .collections-chat .prompt-chip{font-size:12px;line-height:1.5;text-align:left;white-space:normal;flex:none}
.reference-demo .collections-chat .prompt-chip:disabled{opacity:1;border-color:var(--accent);background:var(--panel)}
.reference-demo .collections-chat .chat-body{grid-column:2;grid-row:2;display:flex;flex-direction:column;overflow:auto;padding:18px}
.collection-answer{margin:0;padding-left:19px;display:grid;gap:13px;line-height:1.5}
.reference-demo .collections-chat .bubble.user{font-size:12px}.reference-demo .collections-chat .msg-block{min-width:0}
.admin-recovery-link{background:none;border:0;color:var(--accent);text-decoration:underline;font:inherit;font-size:13px;margin-top:18px;padding:5px 0;cursor:pointer}
.admin-dialog{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:699px){.collections-chart-grid{gap:8px;padding:8px}.collections-chart-grid figure{height:190px;padding:4px}.critical-customers{padding:12px}.customer-table,.customer-table tbody{display:block}.customer-table thead{display:none}.customer-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.customer-table td{display:block;font-size:12px;padding:9px 2px}.customer-table td:before{content:attr(data-label);display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.customer-table td:first-child,.customer-table td:last-child{grid-column:1/-1}.customer-pagination .secondary{padding:8px;font-size:11px}.reference-demo .collections-chat{height:500px;grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr)}.reference-demo .collections-chat .prompts{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:6px;border:0;padding:8px}.reference-demo .collections-chat .chat-body{grid-column:1;grid-row:3;padding:10px}.reference-demo .collections-chat .prompt-chip{font-size:10px;padding:8px}.collection-answer{gap:8px;font-size:12px}}
/* Healthcare client-supplied dashboard and complete Q&A */
.health-qa{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:18px;min-height:370px}
.health-questions{display:flex;flex-direction:column;gap:12px;justify-content:flex-start;min-width:0}
.health-questions button{text-align:left;white-space:normal;line-height:1.5;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;justify-content:start;width:100%;gap:12px;padding:18px;font-size:14px;min-height:80px}
.health-questions .health-question-number{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.health-questions .health-question-text{color:inherit;font-weight:inherit;min-width:0;overflow-wrap:anywhere}
.health-questions button[aria-pressed="true"],.health-dashboard-nav button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.health-answer{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column}
.health-answer h3{font-size:18px;margin:0 0 16px;line-height:1.4}
.health-answer-copy{flex:1}.health-answer-copy p{font-size:14px;line-height:1.55;margin:0 0 9px;color:var(--ink)}
.health-dashboard-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.health-dashboard-nav button{font-size:12px;padding:9px 14px}
.health-dashboard-image{position:relative;overflow:hidden;margin:0;background:white;border-radius:10px;width:100%}
.health-dashboard-image img{position:absolute;left:0;width:100%;height:auto;max-width:none;display:block}
@media(max-width:699px){.health-qa{grid-template-columns:1fr;gap:10px;min-height:0}.health-questions{gap:6px}.health-questions button{font-size:12px;padding:10px;line-height:1.35;min-height:60px;grid-template-columns:22px minmax(0,1fr);gap:8px}.health-answer{padding:14px}.health-answer h3{font-size:15px;margin-bottom:10px}.health-answer-copy p{font-size:12px;line-height:1.45;margin-bottom:7px}.health-dashboard-nav{gap:5px}.health-dashboard-nav button{font-size:10px;padding:8px}.health-answer .customer-pagination{margin-top:8px}}

/* Match Collections: strike through the question whose answer is shown. */
.health-questions .question-answered{text-decoration:line-through}
