/* QORI Assessment — mobile-first, usable at 375px (Section 22.1).
   v1.1 — staging feedback build: HealThyRam brand theming, energy pre-loader,
   single-row 0–5 scale, refined report visuals. */

/* v1.4.1 — all values come from the HealThyRam Design System bundle
   (ht-tokens.css, generated from design-system/tokens/). This block only maps
   the plugin's legacy aliases onto the canonical tokens. */
:root {
	--ht-orange-deep: #F6851F; /* Logo yogi orange (plugin-local, not in DS core). */
	--ht-shadow: var(--shadow-card);
	--ht-shadow-hover: var(--shadow-card-hover);
	--ht-radius: var(--radius-default);
	--ht-radius-sm: var(--radius-control); /* v1.9.0: 4 px on controls, chips, buttons, badges (was --radius-sm 5 px) */
	--ht-ease: var(--ease-default);
}

.qori-app { max-width: 860px; margin: 0 auto; font-size: 16px; color: var(--ht-ink); font-family: var(--ht-font-body); -webkit-font-smoothing: antialiased; }

/* Type scale tuned to sit BELOW the site header hierarchy — the app is
   content within the page, never louder than the site chrome. */
.qori-app h1, .qori-app h2, .qori-app h3, .qori-app h4 { font-family: var(--ht-font-head); letter-spacing: -.2px; line-height: 1.3; }
/* Prototype scale: h1 26px, h2 19px accent-dark. */
.qori-app h1 { font-size: var(--type-h1); }
.qori-app h2 { font-size: var(--type-h2); margin-bottom: .7em; color: var(--ht-green-dark); }
.qori-app h3 { font-size: var(--type-h3); }
.qori-app h4 { font-size: 15px; }

/* Entrance motion: one GPU-composited fade-rise, gently staggered. Subtle,
   fast (420ms), and disabled for reduced-motion users. */
@keyframes qori-fade-up {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}
.qori-form-card, .qori-report-card, .qori-fade { animation: qori-fade-up .42s var(--ht-ease) both; will-change: opacity, transform; }
.qori-report-card:nth-child(2) { animation-delay: .06s; }
.qori-report-card:nth-child(3) { animation-delay: .12s; }
.qori-report-card:nth-child(4) { animation-delay: .18s; }
.qori-question { animation: qori-fade-up .38s var(--ht-ease) both; }
.qori-question:nth-of-type(2) { animation-delay: .05s; }
.qori-question:nth-of-type(3) { animation-delay: .1s; }
.qori-question:nth-of-type(4) { animation-delay: .15s; }
@media (prefers-reduced-motion: reduce) {
	.qori-form-card, .qori-report-card, .qori-fade, .qori-question { animation: none; }
	.qori-bar, .qori-progress-bar, .qori-delta-svg .ring-value { transition: none; }
}

.qori-offset-row { display: inline-flex; align-items: center; gap: 6px; }
.qori-offset-row input { width: 64px; }
.qori-field-col { display: flex; flex-direction: column; gap: 12px; max-width: 420px; }
.qori-field-col label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 600; }
.qori-field-col input { padding: 10px 12px; border: 1px solid #cfe0d0; border-radius: var(--ht-radius-sm); font-size: 15px; }
.qori-field-col input:focus { outline: 2px solid var(--ht-green-bright); outline-offset: 1px; border-color: var(--ht-green); }

/* ── Energy pre-loader: concentric pulsing circles (logo motif) ─────
   Applied automatically to every .qori-loading element, including the
   pre-JS markup printed by the shortcode — no blank screen, ever. */
.qori-loading { position: relative; text-align: center; color: var(--ht-muted); padding: 96px 0 28px; font-size: 14px; letter-spacing: .4px; }
.qori-loading::before, .qori-loading::after,
.qori-loading .qori-pulse { content: ''; position: absolute; left: 50%; top: 34px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; border: 2px solid var(--ht-green); opacity: 0; animation: qori-energy 2.1s cubic-bezier(.22,.61,.36,1) infinite; }
.qori-loading::after { border-color: var(--ht-orange); animation-delay: .7s; }
.qori-loading .qori-pulse { animation-delay: 1.4s; }
@keyframes qori-energy {
	0%   { transform: scale(.4); opacity: 0; }
	15%  { opacity: .85; }
	100% { transform: scale(3.4); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.qori-loading::before, .qori-loading::after, .qori-loading .qori-pulse { animation: none; opacity: .5; transform: scale(1.6); }
}

.qori-form-card,
.qori-report-card { background: #fff; border: 1px solid var(--ht-line); border-radius: var(--ht-radius); padding: 24px; margin: 0 0 24px; box-shadow: var(--ht-shadow); transition: box-shadow .25s var(--ht-ease); }
.qori-report-card:hover { box-shadow: var(--ht-shadow-hover); }

/* Embedded panel (enrol form, org form — replaces browser dialogs) */
.qori-panel { background: var(--ht-bg); border: 1px solid var(--ht-line); border-radius: var(--ht-radius); padding: 16px; margin: 14px 0; }
.qori-panel h3 { margin-top: 0; }
.qori-actions-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.qori-link-cell { font-family: monospace; font-size: 11px; word-break: break-all; max-width: 260px; }

.qori-form-card h2,
.qori-report-card h2 { color: var(--ht-green-dark); margin-top: 0; }
.qori-report-card h3 { color: var(--ht-green); }

.qori-message { background: var(--ht-green-soft); border-left: 4px solid var(--ht-green); padding: 12px 16px; border-radius: 8px; }
.qori-message.qori-error, .qori-error { border-left-color: #C62828; color: #B71C1C; background: #fdecea; }

.qori-progress { background: #eef3ee; border-radius: 8px; height: 8px; overflow: hidden; }
.qori-progress-bar { background: linear-gradient(90deg, var(--ht-green), var(--ht-orange)); height: 100%; transition: width .35s ease; }
.qori-progress-label { font-size: 13px; color: var(--ht-muted); margin: 6px 0 18px; }

.qori-consent-text { background: #fbfdfb; border: 1px solid var(--ht-line); border-radius: 10px; padding: 14px; font-size: 14px; max-height: 260px; overflow-y: auto; margin: 12px 0; }
.qori-tnc { margin: 12px 0; }
.qori-tnc summary { color: var(--ht-green-dark); font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.qori-tnc-link { color: var(--ht-green-dark); font-weight: 600; }
.qori-check { display: block; margin: 10px 0; }
.qori-note-label { display: block; margin: 12px 0; }
.qori-note-label textarea, .qori-secret-notes textarea, .qori-reflection-invite textarea { width: 100%; box-sizing: border-box; border: 1px solid #cfe0d0; border-radius: 8px; padding: 10px; }

/* ── Questions: single-row segmented 0–5 scale ────────────────────── */
.qori-question { border: 1px solid #edf2ed; border-radius: var(--ht-radius); margin: 0 0 18px; padding: 14px 16px; }
.qori-domain-chip { color: #fff; font-size: 11px; padding: 2px 10px; border-radius: var(--radius-control); letter-spacing: .5px; }
.qori-question-text { font-weight: 600; line-height: 1.45; }

.qori-scale { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.qori-scale-option { border: 1.5px solid #d7e3d8; border-radius: var(--ht-radius-sm); padding: 10px 2px 8px; text-align: center; cursor: pointer; transition: border-color .15s, background .15s, transform .1s; -webkit-tap-highlight-color: transparent; min-height: 44px; }
.qori-scale-option:active { transform: scale(.96); }
.qori-scale-option:has(input:checked) { border-color: var(--ht-green); background: var(--ht-green-soft); box-shadow: inset 0 0 0 1px var(--ht-green); }
.qori-scale-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.qori-scale-num { font-weight: 700; display: block; font-size: 17px; color: var(--ht-green-dark); }
.qori-scale-text { font-size: 11px; color: var(--ht-muted); display: block; line-height: 1.25; margin-top: 3px; }
/* Mobile: numbers only in the row; the selected label reads out below the scale. */
@media (max-width: 560px) {
	.qori-scale { gap: 4px; }
	.qori-scale-text { display: none; }
	.qori-scale-option { padding: 12px 0; }
}
.qori-scale-caption { font-size: 13px; color: var(--ht-green-dark); min-height: 1.3em; margin: 6px 2px 0; font-weight: 600; }
.qori-scale-endpoints { display: flex; justify-content: space-between; font-size: 11px; color: var(--ht-muted); margin-top: 4px; }

.qori-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; }
/* Subtle-radius buttons (site-consistent, "3–5% rounded" — round-3 finding). */
.qori-btn { border: 0; border-radius: var(--ht-radius-sm); padding: 12px 24px; font-size: 15px; font-weight: 600; font-family: var(--ht-font-body); cursor: pointer; text-decoration: none; display: inline-block; transition: transform .16s var(--ht-ease), box-shadow .16s var(--ht-ease), background .16s; }
.qori-btn:focus-visible { outline: 2px solid var(--ht-green-bright); outline-offset: 2px; }
.qori-btn:active { transform: translateY(1px); }
.qori-btn-primary { background: var(--ht-green); color: #fff; box-shadow: 0 2px 8px rgba(101,154,65,.28); }
.qori-btn-primary:hover { background: var(--ht-green-dark); box-shadow: 0 4px 12px rgba(101,154,65,.34); }
.qori-btn-secondary { background: #f2f5ef; color: var(--ht-ink); }
.qori-btn-secondary:hover { background: #e9eee4; }
.qori-btn-sm { border: 1px solid var(--ht-green); background: #fff; color: var(--ht-green-dark); border-radius: var(--ht-radius-sm); padding: 5px 12px; font-size: 13px; font-weight: 600; cursor: pointer; margin: 2px 0; transition: background .15s, color .15s; }
.qori-btn-sm:hover { background: var(--ht-green); color: #fff; }
.qori-btn-danger { border-color: #C62828; color: #C62828; }
.qori-btn-danger:hover { background: #C62828; color: #fff; }
.qori-form-error { color: #B71C1C; margin-top: 10px; min-height: 1.2em; }

/* ── Report: refined delta hero (SVG progress ring drawn by JS) ────── */
.qori-delta-hero { text-align: center; margin: 26px 0; }
.qori-delta-svg { width: 168px; height: 168px; }
.qori-delta-svg .ring-track { stroke: #edf2ed; }
.qori-delta-svg .ring-value { stroke: url(#qoriRingGrad); stroke-linecap: round; transition: stroke-dashoffset 1.1s cubic-bezier(.22,.61,.36,1); }
.qori-delta-number { font-size: 34px; font-weight: 800; fill: var(--ht-green-dark); }
.qori-delta-caption { font-size: 11px; fill: var(--ht-muted); letter-spacing: 1.5px; }
/* Fallback ring (no-JS contexts) */
.qori-delta-ring { width: 140px; height: 140px; border-radius: 50%; border: 10px solid var(--ht-green); display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.qori-delta-ring span { font-size: 36px; font-weight: 800; color: var(--ht-green-dark); }
.qori-badge { display: inline-block; background: var(--ht-orange); color: #fff; padding: 6px 18px; border-radius: var(--radius-control); margin-top: 12px; font-size: 13px; letter-spacing: .5px; box-shadow: 0 2px 8px rgba(239,108,0,.35); }

.qori-score-cards, .qori-roi-cards { display: flex; gap: 14px; flex-wrap: wrap; margin: 16px 0; }
.qori-score-card { flex: 1 1 160px; border: 1px solid var(--ht-line); border-radius: 12px; padding: 16px 14px; text-align: center; background: linear-gradient(180deg, #fff 60%, #fbfdfb); }
.qori-score-card h4 { margin: 0 0 8px; color: var(--ht-muted); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; }
.qori-score-value { font-size: 32px; font-weight: 800; color: var(--ht-green-dark); }
.qori-score-value small { font-size: 14px; color: #aaa; font-weight: 600; }
.qori-score-band { font-weight: 700; margin-top: 6px; font-size: 13px; padding: 3px 12px; border-radius: 12px; display: inline-block; background: #f6f8f6; }

.qori-domain-bars { margin: 20px 0; }
.qori-domain-row { display: flex; align-items: center; gap: 10px; margin: 10px 0; }
.qori-domain-name { flex: 0 0 150px; font-size: 13px; font-weight: 600; }
.qori-bar-track { flex: 1; background: #f2f6f2; border-radius: 8px; height: 20px; position: relative; overflow: hidden; }
.qori-bar { position: absolute; left: 0; top: 0; height: 100%; border-radius: 8px; transition: width .9s cubic-bezier(.22,.61,.36,1); }
.qori-bar-pre { background: #dfe8df; }
.qori-bar-post { opacity: .9; }
.qori-delta-chip { flex: 0 0 48px; text-align: right; font-weight: 800; font-size: 13px; }
.qori-delta-chip[data-shift="1"] { color: var(--ht-orange); }

.qori-radar-wrap { background: #fbfdfb; border: 1px solid var(--ht-line); border-radius: 12px; padding: 12px; margin: 16px 0; }
.qori-reflection-quote { border-left: 4px solid var(--ht-orange); font-style: italic; padding: 10px 16px; color: #555; background: var(--ht-orange-soft); border-radius: 0 10px 10px 0; }

.qori-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.qori-table th, .qori-table td { border: 1px solid #edf2ed; padding: 8px 10px; text-align: left; }
.qori-table th { background: var(--ht-green-soft); color: var(--ht-green-dark); }
.qori-heatmap td { text-align: center; }

.qori-status { font-size: 12px; padding: 2px 10px; border-radius: var(--radius-control); background: #eee; }
.qori-status-pre_open { background: var(--ht-green-soft); color: var(--ht-green-dark); }
.qori-status-post_unlocked { background: var(--ht-orange-soft); color: var(--ht-orange); }
.qori-status-closed { background: #ECEFF1; color: #546E7A; }

.qori-funnel { display: flex; gap: 12px; flex-wrap: wrap; margin: 14px 0; }
.qori-funnel-step { flex: 1 1 120px; background: var(--ht-green-soft); border-radius: 12px; padding: 14px; text-align: center; }
.qori-funnel-step strong { display: block; font-size: 26px; color: var(--ht-green-dark); }

/* Charts stacked vertically on ALL viewports (July-10 finding 11). */
.qori-chart-grid { display: grid; grid-template-columns: 1fr; gap: 24px; margin: 16px 0; }
.qori-chart-grid canvas { max-height: 340px; }

.qori-insight { background: var(--ht-orange-soft); padding: 10px 14px; border-radius: 8px; margin: 8px 0; }

.qori-field-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 12px 0; }
.qori-field-row label { display: flex; flex-direction: column; font-size: 13px; gap: 4px; }
.qori-field-row input { padding: 8px; border: 1px solid #cfe0d0; border-radius: 8px; min-width: 120px; }

.qori-muted { color: var(--ht-muted); }
.qori-note-row { border-bottom: 1px solid #eee; padding: 8px 0; }
.qori-note-text { background: #fbfdfb; border-radius: var(--ht-radius-sm); padding: 8px 10px; margin: 6px 0 0; }
.qori-prefill p { margin: 4px 0; }
.qori-complete h2 { color: var(--ht-green-dark); }

/* Section stepper (July-10 finding 4) */
.qori-stepper { display: flex; gap: 6px; margin: 10px 0 0; }
.qori-step { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid #d7e3d8; background: #fff; color: var(--ht-muted); font-weight: 700; font-size: 13px; cursor: default; }
.qori-step.visited { border-color: var(--ht-green); color: var(--ht-green-dark); cursor: pointer; }
.qori-step.visited:hover { background: var(--ht-green-soft); }
.qori-step.active { background: var(--ht-green); border-color: var(--ht-green); color: #fff; }

/* Emotion chart picker (Set Your Intention, v1.4.0) */
.qori-emotion-chart { border: 1px solid var(--ht-line); border-radius: var(--ht-radius); overflow: hidden; margin: 8px 0; }
.qori-emotion-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 7px 10px; border-bottom: 1px solid #f0f4ee; }
/* Full 7-row gradient (green → red) — every row tinted, per the worksheet chart. */
.qori-emotion-row:nth-child(1) { background: #eef6ee; } .qori-emotion-row:nth-child(2) { background: #f3f8ec; }
.qori-emotion-row:nth-child(3) { background: #f9fbec; } .qori-emotion-row:nth-child(4) { background: #fdfaf0; }
.qori-emotion-row:nth-child(5) { background: #fdf4e8; } .qori-emotion-row:nth-child(6) { background: #fdefe6; }
.qori-emotion-row:nth-child(7) { background: #fdebe8; }
.qori-emotion-label { font-weight: 700; font-size: 13px; color: var(--ht-ink); flex: 0 0 118px; }
.qori-emotion-word { border: 1px solid transparent; background: transparent; border-radius: var(--ht-radius-sm); padding: 3px 7px; font-size: 12px; color: #555; cursor: pointer; }
.qori-emotion-word:hover { border-color: var(--ht-green); }
.qori-emotion-chart .selected { background: var(--ht-green) !important; border-color: var(--ht-green) !important; color: #fff !important; }
.qori-emotion-selected { min-height: 1.2em; font-size: 14px; }
.qori-emotion-shift { border: 1px solid var(--ht-line); border-radius: var(--ht-radius); padding: 12px 16px; margin: 14px 0; background: #fbfdfb; }
.qori-em-chip { display: inline-block; background: #f2f5ef; border-radius: var(--ht-radius-sm); padding: 4px 10px; font-size: 14px; }
.qori-em-post { background: var(--ht-green-soft); }
.qori-em-arrow { font-weight: 800; color: var(--ht-orange); }

/* Responsive tables (July-10 finding 12): contained horizontal scroll +
   wrapped action buttons; no overflow outside cards. */
.qori-report-card table, .qori-form-card table { max-width: 100%; }
.qori-table { display: table; }
@media (max-width: 640px) {
	.qori-report-card, .qori-form-card { overflow-x: hidden; }
	.qori-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
	.qori-table td, .qori-table th { white-space: normal; min-width: 90px; }
	.qori-actions-row { flex-direction: column; align-items: stretch; }
	.qori-actions-row .qori-btn-sm { width: 100%; box-sizing: border-box; }
}

@media (max-width: 480px) {
	.qori-form-card, .qori-report-card { padding: 16px 14px; }
	.qori-domain-name { flex-basis: 105px; }
	.qori-nav { flex-direction: column-reverse; }
	.qori-btn { width: 100%; box-sizing: border-box; text-align: center; }
	.qori-emotion-label { flex-basis: 100%; }
}

/* Section titles inside the form (Health & Safety Declaration etc.) — larger (July-13). */
.qori-form-card h3, .qori-secret-notes h3 { font-size: var(--type-h2); }

/* Compact icon action buttons with tooltips (July-13). */
.qori-icon-btn { border: 1px solid var(--ht-line); background: #fff; border-radius: var(--ht-radius-sm); width: 32px; height: 32px; font-size: 15px; line-height: 1; cursor: pointer; transition: background .15s, border-color .15s; }
.qori-icon-btn:hover { border-color: var(--ht-green); background: var(--ht-green-soft); }
.qori-icon-btn[disabled] { opacity: .45; cursor: not-allowed; }

/* Build stamp for deploy verification. */
.qori-version { text-align: right; color: #b9beb9; font-size: 11px; letter-spacing: .5px; margin: 4px 2px; }

/* In-app confirmation modal (July-14: replaces browser dialogs). */
.qori-modal-overlay, .ht-modal-overlay { position: fixed; inset: 0; background: rgba(26,26,46,.45); display: flex; align-items: center; justify-content: center; z-index: 99999; padding: 16px; }
.qori-modal, .ht-modal { background: #fff; border-radius: var(--ht-radius, 8px); padding: 22px 24px; max-width: 440px; width: 100%; box-shadow: 0 8px 30px rgba(26,26,46,.25); animation: qori-fade-up .25s var(--ht-ease, ease) both; }
.qori-modal p, .ht-modal p { margin: 0 0 16px; line-height: 1.5; }
.qori-modal-actions, .ht-modal-actions { display: flex; justify-content: flex-end; gap: 10px; }

/* Delta distribution: aligned + responsive within the card (July-14). */
.qori-dist-wrap { width: 100%; max-width: 640px; margin: 0 auto; }

/* Batch form: consistent field dimensions & baseline (July-14). */
.qori-field-row label { min-width: 210px; }
.qori-field-row input, .qori-field-row select { height: 40px; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cfe0d0; border-radius: var(--ht-radius-sm); font-size: 14px; width: 100%; background: #fff; }
.qori-field-row .qori-offset-row input { width: 64px; }
.qori-field-row button { height: 40px; }

/* Filter bar (batches search/sort/filter — July-13). */
.qori-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; align-items: center; }
.qori-filter-bar input[type="search"], .qori-filter-bar select { padding: 8px 10px; border: 1px solid #cfe0d0; border-radius: var(--ht-radius-sm); font-size: 14px; }

/* ---- July-18 (v1.6.0): multi-batch accordion on the participant dashboard */
.qori-accordion { border: 1px solid var(--ht-line, #e7e3da); border-radius: var(--ht-radius, 8px); background: #fff; margin: 0 0 16px; box-shadow: 0 1px 4px rgba(26,26,46,.08); }
.qori-accordion > summary { list-style: none; cursor: pointer; padding: 16px 20px; display: flex; align-items: center; gap: 10px; font-size: 17px; color: var(--ht-green-dark, #4E7A2E); border-radius: var(--ht-radius, 8px); transition: background .18s ease; }
.qori-accordion > summary::-webkit-details-marker { display: none; }
.qori-accordion > summary::before { content: '▸'; font-size: 14px; color: var(--ht-green, #659A41); transition: transform .18s ease; }
.qori-accordion[open] > summary::before { transform: rotate(90deg); }
.qori-accordion > summary:hover { background: var(--ht-green-soft, #f0f6ea); }
.qori-accordion > summary:focus-visible { outline: 2px solid var(--ht-green-bright, #99CA3C); outline-offset: 2px; }
.qori-accordion .qori-report-card { border: 0; box-shadow: none; margin: 0; }
@media (prefers-reduced-motion: reduce) {
	.qori-accordion > summary, .qori-accordion > summary::before { transition: none; }
}

/* ---- July-22 (v1.7.0) ---- */
/* Participant action icons stay on ONE horizontal line (were wrapping vertically
   in narrow cells). */
.qori-table td .qori-actions-row { display: inline-flex; flex-direction: row; flex-wrap: nowrap; gap: 4px; align-items: center; white-space: nowrap; }
/* Bell + notifications panel (shared across facilitator / org / participant). */
.qori-bell { position: relative; border: 0; background: transparent; font-size: 21px; cursor: pointer; padding: 4px 6px; border-radius: var(--ht-radius-sm); }
.qori-bell:hover { background: var(--ht-green-soft); }
.qori-bell-count { position: absolute; top: -4px; right: -6px; background: #D32F2F; color: #fff; border-radius: 10px; font-size: 11px; padding: 1px 6px; }
.qori-notif-panel h3 { color: var(--ht-green-dark); margin: 12px 0 4px; font-size: 15px; }
.qori-notification { border-bottom: 1px solid #eee; padding: 10px 4px; font-size: 14px; }
.qori-notification.unread { background: var(--ht-green-soft); font-weight: 600; }
.qori-notification small { display: block; color: #999; font-weight: 400; }
.qori-notification .qori-btn-sm { margin-left: 6px; }
.qori-dash-nav, .qori-thanks-nav { margin-top: 18px; }

/* Buttons vertically centred + consistent heights (July-22). */
.qori-btn, .qori-btn-sm, .qori-icon-btn { display: inline-flex; align-items: center; justify-content: center; line-height: 1.2; }
.qori-btn { min-height: 40px; } .qori-btn-sm { min-height: 30px; }
.qori-notif-panel { max-height: 430px; overflow-y: auto; }

/* ---- v1.8.1 (22 Aug findings) ---- */
/* Charts always fit their card — no horizontal overflow on phones. */
#qori-org-dashboard canvas, .qori-report-card canvas { max-width: 100% !important; }
/* Notification bell bar + panel span the same width as the dashboard sections. */
.qori-notif-panel { width: 100%; box-sizing: border-box; }

/* ---- 1.11.0 (privacy) ---- */
/* Result line under a participant's buttons (resend / edit / remove). */
.qori-row-msg { font-size: var(--type-micro); color: var(--ht-muted); margin-top: var(--space-1); white-space: normal; }
.qori-row-msg:empty { display: none; }
.qori-row-msg-error { color: var(--ht-error-dark); }
/* Warning beside the facilitator's CSV export (the file holds every private link). */
.qori-warn-note { display: inline-block; background: var(--surface-tint-orange); color: var(--ht-ink); font-size: var(--type-small); padding: var(--space-1) var(--space-2); border-radius: var(--radius-control); margin: var(--space-1) 0; }
