.fi-logo {
    align-items: center;
    display: flex;
}

/* Visual exam builder */
.rubiqo-exam-builder__identity {
    display: grid;
    gap: 1rem;
}

.rubiqo-exam-builder__identity-actions {
    display: flex;
    gap: .65rem;
    justify-content: flex-end;
}

.rubiqo-exam-builder-tabs { display: flex; gap: .4rem; border-bottom: 1px solid #e2e8f0; }
.rubiqo-exam-builder-tabs > button { display: flex; align-items: center; gap: .55rem; margin-bottom: -1px; padding: .8rem 1rem; border-bottom: 3px solid transparent; color: #64748b; }
.rubiqo-exam-builder-tabs > button span { display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 999px; background: #e2e8f0; font-size: .7rem; font-weight: 800; }
.rubiqo-exam-builder-tabs > button strong { font-size: .85rem; }
.rubiqo-exam-builder-tabs > button:hover { color: #b45309; }
.rubiqo-exam-builder-tabs > button.is-active { border-bottom-color: #f59e0b; color: #92400e; }
.rubiqo-exam-builder-tabs > button.is-active span { background: #f59e0b; color: #fff; }

.rubiqo-exam-snapshots { display: grid; gap: 1rem; }
.rubiqo-exam-snapshots__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; }
.rubiqo-exam-snapshots__header > div { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.rubiqo-exam-snapshots__header h2 { color: #0f172a; font-size: 1rem; font-weight: 800; }
.rubiqo-exam-snapshots__header p { margin-top: .12rem; color: #64748b; font-size: .78rem; }
.rubiqo-exam-snapshots__header > strong { display: grid; flex: 0 0 auto; width: 2rem; height: 2rem; place-items: center; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: .8rem; }
.rubiqo-exam-snapshots__icon { display: grid; flex: 0 0 auto; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .75rem; background: #fef3c7; color: #b45309; }
.rubiqo-exam-snapshots__icon svg { width: 1.2rem; }
.rubiqo-exam-snapshots__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr)); gap: 1rem; }
.rubiqo-exam-snapshot { display: grid; gap: 1rem; padding: 1rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 1px 3px rgb(15 23 42 / .04); }
.rubiqo-exam-snapshot > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.rubiqo-exam-snapshot > header > div { display: flex; align-items: center; gap: .45rem; }
.rubiqo-exam-snapshot > header span { color: #0f172a; font-size: .9rem; font-weight: 800; }
.rubiqo-exam-snapshot > header strong { padding: .18rem .42rem; border-radius: 999px; background: #dcfce7; color: #166534; font-size: .62rem; font-weight: 800; }
.rubiqo-exam-snapshot > header time { color: #64748b; font-size: .72rem; white-space: nowrap; }
.rubiqo-exam-snapshot__metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; border: 1px solid #e2e8f0; border-radius: .75rem; }
.rubiqo-exam-snapshot__metrics > div { display: grid; gap: .15rem; padding: .65rem .5rem; text-align: center; }
.rubiqo-exam-snapshot__metrics > div + div { border-left: 1px solid #e2e8f0; }
.rubiqo-exam-snapshot__metrics dt, .rubiqo-exam-snapshot__contracts dt { color: #64748b; font-size: .65rem; }
.rubiqo-exam-snapshot__metrics dd { color: #0f172a; font-size: 1rem; font-weight: 800; }
.rubiqo-exam-snapshot__contracts { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.rubiqo-exam-snapshot__contracts > div { display: flex; align-items: center; gap: .35rem; }
.rubiqo-exam-snapshot__contracts dd { color: #334155; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; font-weight: 700; }
.rubiqo-exam-snapshot > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .75rem; border-top: 1px solid #e2e8f0; color: #64748b; font-size: .68rem; }
.rubiqo-exam-snapshot > footer code { overflow: hidden; color: #334155; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.rubiqo-exam-snapshots__immutable { display: flex; align-items: center; justify-content: center; gap: .4rem; color: #64748b; font-size: .72rem; text-align: center; }
.rubiqo-exam-snapshots__immutable svg { flex: 0 0 auto; width: .85rem; }

.rubiqo-exam-preview { display: grid; gap: 1.25rem; }
.rubiqo-exam-preview__settings { display: grid; gap: 1rem; padding: 1.25rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 1px 2px rgb(15 23 42 / .04); }
.rubiqo-exam-preview__settings-copy h2 { color: #0f172a; font-size: 1rem; font-weight: 750; }
.rubiqo-exam-preview__settings-copy p { margin-top: .2rem; color: #64748b; font-size: .8rem; }
.rubiqo-exam-preview__controls { display: flex; align-items: end; gap: .75rem; flex-wrap: wrap; }
.rubiqo-exam-preview__controls .rubiqo-question-preview-context { display: contents; }
.rubiqo-exam-preview__controls-divider { display: grid; min-height: 2.5rem; place-items: center; color: #cbd5e1; font-size: 1.1rem; font-weight: 500; }
.rubiqo-exam-preview__number-field { display: grid; gap: .35rem; width: 8.5rem; }
.rubiqo-exam-preview__number-field > span { color: #475569; font-size: .72rem; font-weight: 650; }
.rubiqo-exam-preview__number-field input { width: 100%; height: 2.5rem; padding: 0 .75rem; border: 1px solid #d1d5db; border-radius: .5rem; background: #fff; color: #111827; font-size: .85rem; }
.rubiqo-exam-preview__simulation-link { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.5rem; padding: .65rem .9rem; border: 0; border-radius: .65rem; background: #0f172a; color: #fff; font-size: .78rem; font-weight: 750; cursor: pointer; }
.rubiqo-exam-preview__simulation-link:hover { background: #1e293b; }
.rubiqo-exam-preview__simulation-link--runtime { background: #16a34a; }
.rubiqo-exam-preview__simulation-link--runtime:hover { background: #15803d; }
.rubiqo-exam-preview__simulation-link--runtime:focus-visible { outline: 3px solid rgba(34, 197, 94, .35); outline-offset: 2px; }
.rubiqo-exam-preview__simulation-link svg { width: 1rem; }
.rubiqo-exam-preview__simulation-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border: 1px solid #dbeafe; border-radius: .8rem; background: #eff6ff; color: #1e3a8a; }
.rubiqo-exam-preview__simulation-toolbar > div { display: grid; gap: .1rem; }
.rubiqo-exam-preview__simulation-toolbar strong { font-size: .78rem; }
.rubiqo-exam-preview__simulation-toolbar span { color: #475569; font-size: .68rem; }
.rubiqo-exam-preview__simulation-toolbar button { display: inline-flex; align-items: center; gap: .35rem; padding: .5rem .7rem; border: 1px solid #bfdbfe; border-radius: .55rem; background: #fff; color: #1d4ed8; font-size: .72rem; font-weight: 700; }
.rubiqo-exam-preview__simulation-toolbar button svg { width: .9rem; }
.rubiqo-exam-preview__canvas { max-width: 100%; overflow-x: auto; padding-bottom: .5rem; }
.rubiqo-exam-preview__viewport { margin-inline: auto; transition: width .2s ease, height .2s ease; }
.rubiqo-exam-preview__viewport.is-device { overflow: hidden; border-radius: 1.1rem; }
.rubiqo-exam-preview__shell { overflow: clip; border: 1px solid #dbe2ea; border-radius: 1.1rem; background: #f8fafc; box-shadow: 0 16px 40px rgb(15 23 42 / .08); }
.rubiqo-exam-preview__viewport.is-device .rubiqo-exam-preview__shell { height: 100%; overflow-x: hidden; overflow-y: auto; }
.rubiqo-exam-preview__viewport.is-device .rubiqo-exam-preview__sticky { top: 0; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-preview__exam-header { align-items: flex-start; padding: 1rem; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-preview__exam-header h2 { font-size: 1.05rem; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-preview__pause { padding: .55rem; font-size: 0; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-preview__stage,
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-preview__welcome { padding: .75rem; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-preview__welcome-card,
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-preview__slot { padding: 1rem; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-progress { padding-inline: .65rem; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-progress__section { min-width: 7.25rem; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-device-check__item { grid-template-columns: auto minmax(0, 1fr); }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-device-check__item button { grid-column: 1 / -1; width: 100%; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-question-navigation { grid-template-columns: auto 1fr auto; gap: .5rem; padding: .65rem; }
.rubiqo-exam-preview__viewport[data-device="mobile"] .rubiqo-exam-question-navigation > button { padding-inline: .6rem; font-size: 0; }
.rubiqo-exam-preview__exam-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid #e2e8f0; background: #fff; }
.rubiqo-exam-preview__exam-header > div > span { color: #b45309; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rubiqo-exam-preview__exam-header h2 { margin-top: .15rem; color: #0f172a; font-size: 1.35rem; font-weight: 800; }
.rubiqo-exam-preview__description { max-width: 48rem; margin-top: .4rem; color: #64748b; font-size: .85rem; }
.rubiqo-exam-preview__pause { display: inline-flex; align-items: center; gap: .45rem; flex: 0 0 auto; padding: .65rem .85rem; border: 1px solid #dbe2ea; border-radius: .65rem; background: #fff; color: #334155; font-size: .8rem; font-weight: 700; }
.rubiqo-exam-preview__pause svg { width: 1rem; }
.rubiqo-exam-preview__pause:disabled { cursor: not-allowed; opacity: .42; }
.rubiqo-exam-preview__welcome { min-height: 34rem; padding: 2rem; background: #f8fafc; }
.rubiqo-exam-preview__welcome-card { display: grid; justify-items: center; width: min(100%, 46rem); margin: 0 auto; padding: 2rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; text-align: center; box-shadow: 0 8px 30px rgb(15 23 42 / .06); }
.rubiqo-exam-preview__welcome-icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 999px; background: #fef3c7; color: #b45309; }
.rubiqo-exam-preview__welcome-icon svg { width: 1.3rem; }
.rubiqo-exam-preview__welcome-card > span,
.rubiqo-exam-preview__section-welcome > span { margin-top: .8rem; color: #b45309; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rubiqo-exam-preview__welcome-card > h3 { margin-top: .15rem; color: #0f172a; font-size: 1.35rem; font-weight: 800; }
.rubiqo-exam-preview__welcome-content { width: 100%; max-width: 38rem; margin-top: .9rem; color: #475569; font-size: .88rem; line-height: 1.65; text-align: left; }
.rubiqo-exam-preview__welcome-empty { margin-top: .75rem; color: #94a3b8; font-size: .8rem; }
.rubiqo-exam-preview__start,
.rubiqo-exam-preview__section-welcome > button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; margin-top: 1.2rem; padding: .68rem 1rem; border-radius: .65rem; background: #f59e0b; color: #fff; font-size: .82rem; font-weight: 750; }
.rubiqo-exam-preview__start:disabled { cursor: not-allowed; opacity: .42; }
.rubiqo-exam-preview__start svg,
.rubiqo-exam-preview__section-welcome > button svg { width: 1rem; }
.rubiqo-exam-preview__welcome-card > small { margin-top: .45rem; color: #b45309; font-size: .7rem; }
.rubiqo-exam-device-check { width: 100%; margin-top: 1.25rem; padding: 1rem; border: 1px solid #dbeafe; border-radius: .8rem; background: #f8fbff; text-align: left; }
.rubiqo-exam-device-check > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.rubiqo-exam-device-check > header h4 { color: #0f172a; font-size: .88rem; font-weight: 800; }
.rubiqo-exam-device-check > header p { margin-top: .15rem; color: #64748b; font-size: .72rem; }
.rubiqo-exam-device-check > header > span { padding: .22rem .42rem; border-radius: 999px; background: #dbeafe; color: #1d4ed8; font-size: .62rem; font-weight: 750; }
.rubiqo-exam-device-check__items { display: grid; gap: .5rem; margin-top: .8rem; }
.rubiqo-exam-device-check__item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .65rem .7rem; border: 1px solid #e2e8f0; border-radius: .65rem; background: #fff; }
.rubiqo-exam-device-check__item > svg { width: 1.15rem; color: #64748b; }
.rubiqo-exam-device-check__item > div { display: grid; min-width: 0; }
.rubiqo-exam-device-check__item strong { color: #334155; font-size: .76rem; }
.rubiqo-exam-device-check__item small { overflow: hidden; color: #94a3b8; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.rubiqo-exam-device-check__item button { padding: .4rem .58rem; border: 1px solid #cbd5e1; border-radius: .5rem; color: #334155; font-size: .68rem; font-weight: 700; }
.rubiqo-exam-device-check__item button:hover { border-color: #60a5fa; color: #1d4ed8; }
.rubiqo-exam-device-check__camera { width: min(100%, 22rem); aspect-ratio: 16 / 9; margin: .8rem auto 0; border-radius: .65rem; background: #0f172a; object-fit: cover; }
.rubiqo-exam-preview__sticky { position: sticky; top: 4.5rem; z-index: 20; background: rgb(248 250 252 / .97); box-shadow: 0 8px 18px rgb(15 23 42 / .08); backdrop-filter: blur(10px); }
.rubiqo-exam-timing { padding: .65rem 1.25rem .55rem; border-bottom: 1px solid #fecaca; background: #fff; }
.rubiqo-exam-timing__summary { display: flex; align-items: center; gap: .75rem; }
.rubiqo-exam-timing__primary { display: grid; grid-template-columns: auto auto; align-items: center; gap: .1rem .55rem; min-width: min(21rem, 45%); }
.rubiqo-exam-timing__primary > span,
.rubiqo-exam-timing__scope > span { color: #64748b; font-size: .62rem; font-weight: 700; }
.rubiqo-exam-timing__primary > strong { justify-self: end; color: #991b1b; font-size: .9rem; font-variant-numeric: tabular-nums; }
.rubiqo-exam-timing__track { grid-column: 1 / -1; height: .3rem; overflow: hidden; border-radius: 999px; background: #fee2e2; }
.rubiqo-exam-timing__track > i { display: block; height: 100%; border-radius: inherit; background: #ef4444; transition: width .25s linear, background-color .2s ease; }
.rubiqo-exam-timing__track > i.is-warning { background: #dc2626; }
.rubiqo-exam-timing__track > i.is-critical { background: #991b1b; }
.rubiqo-exam-timing__scope { display: grid; min-width: 5.5rem; gap: .05rem; padding-inline-start: .75rem; border-inline-start: 1px solid #e2e8f0; }
.rubiqo-exam-timing__scope > strong { color: #334155; font-size: .82rem; font-variant-numeric: tabular-nums; }
.rubiqo-exam-timing__passive { margin-inline-start: auto; padding: .26rem .48rem; border-radius: 999px; background: #f1f5f9; color: #64748b; font-size: .6rem; font-weight: 750; white-space: nowrap; }
.rubiqo-exam-timing__saved { display: inline-flex; align-items: center; gap: .25rem; margin-inline-start: auto; padding: .28rem .5rem; border-radius: 999px; background: #dcfce7; color: #166534; font-size: .62rem; font-weight: 750; white-space: nowrap; }
.rubiqo-exam-timing__saved svg { width: .85rem; }
.rubiqo-exam-progress { padding: .75rem 1.25rem .65rem; border-bottom: 1px solid #e2e8f0; }
.rubiqo-exam-progress__sections { display: flex; gap: .65rem; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin; }
.rubiqo-exam-progress__section { --rubiqo-section-time-fill: rgb(245 158 11 / .09); --rubiqo-section-time-empty: #fff; flex: 0 0 auto; min-width: 8.5rem; padding: .5rem .65rem .6rem; border: 1px solid #e2e8f0; border-radius: .7rem; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.rubiqo-exam-progress__section.has-time-limit { background: linear-gradient(90deg, var(--rubiqo-section-time-fill) 0 var(--rubiqo-section-time-remaining), var(--rubiqo-section-time-empty) var(--rubiqo-section-time-remaining) 100%); }
.rubiqo-exam-progress__section.has-time-limit.is-active { --rubiqo-section-time-fill: rgb(245 158 11 / .16); }
.rubiqo-exam-progress__section.is-active { border-color: #fbbf24; box-shadow: 0 0 0 2px rgb(251 191 36 / .12); }
.rubiqo-exam-progress__section.is-locked { opacity: .45; }
.rubiqo-exam-progress__section.is-expired { filter: saturate(.35); opacity: .55; }
.rubiqo-exam-progress__section-title { display: flex; align-items: center; gap: .42rem; max-width: 12rem; color: #475569; font-size: .7rem; text-align: left; }
.rubiqo-exam-progress__section-title > span { display: grid; flex: 0 0 auto; width: 1.15rem; height: 1.15rem; place-items: center; border-radius: .35rem; background: #f1f5f9; color: #64748b; font-size: .6rem; font-weight: 800; }
.rubiqo-exam-progress__section-title strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rubiqo-exam-progress__dots { display: flex; flex-wrap: wrap; align-items: center; gap: .38rem; min-height: .85rem; margin-top: .55rem; }
.rubiqo-exam-progress__dot { width: .78rem; height: .78rem; padding: 0; border: 1.5px solid #cbd5e1; border-radius: 999px; background: #fff; transition: transform .12s ease, box-shadow .12s ease; }
.rubiqo-exam-progress__dot.is-partial { border-color: #94a3b8; background: #94a3b8; }
.rubiqo-exam-progress__dot.is-complete { border-color: #f59e0b; background: #f59e0b; }
.rubiqo-exam-progress__dot:hover:not(:disabled) { transform: scale(1.18); }
.rubiqo-exam-progress__dot.is-active { border-color: #f59e0b; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #f59e0b; }
.rubiqo-exam-progress__dot:focus-visible { outline: 2px solid #0f172a; outline-offset: 3px; }
.rubiqo-exam-progress__empty { color: #cbd5e1; font-size: .75rem; }
.rubiqo-exam-progress__legend { display: flex; justify-content: flex-end; gap: .85rem; margin-top: .42rem; color: #94a3b8; font-size: .6rem; }
.rubiqo-exam-progress__legend span { display: inline-flex; align-items: center; gap: .28rem; }
.rubiqo-exam-progress__legend i { width: .48rem; height: .48rem; border: 1px solid #cbd5e1; border-radius: 999px; background: #fff; }
.rubiqo-exam-progress__legend i.is-partial { border-color: #94a3b8; background: #94a3b8; }
.rubiqo-exam-progress__legend i.is-complete { border-color: #f59e0b; background: #f59e0b; }
.rubiqo-exam-preview__stage { position: relative; min-height: 24rem; padding: 1.5rem; }
.rubiqo-exam-preview__section { display: grid; gap: 1.25rem; max-width: 66rem; margin: 0 auto; }
.rubiqo-exam-preview__section > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.rubiqo-exam-preview__section > header span { color: #64748b; font-size: .75rem; font-weight: 650; }
.rubiqo-exam-preview__section > header h3 { color: #0f172a; font-size: 1.1rem; font-weight: 800; }
.rubiqo-exam-preview__slots { display: grid; gap: 1rem; }
.rubiqo-exam-preview__section-welcome { display: grid; justify-items: center; min-height: 20rem; padding: 2rem; place-content: center; border: 1px solid #e2e8f0; border-radius: .9rem; background: #fff; text-align: center; }
.rubiqo-exam-preview__section-welcome h4 { margin-top: .15rem; color: #0f172a; font-size: 1.2rem; font-weight: 800; }
.rubiqo-exam-preview__section-welcome > div:not(.rubiqo-exam-preview__welcome-icon) { max-width: 38rem; margin-top: .8rem; color: #475569; font-size: .85rem; line-height: 1.6; text-align: left; }
.rubiqo-exam-preview__slot { padding: 1.25rem; border: 1px solid #e2e8f0; border-radius: .9rem; background: #fff; box-shadow: 0 1px 3px rgb(15 23 42 / .04); }
.rubiqo-exam-preview__slot { scroll-margin-top: 11rem; }
.rubiqo-exam-preview__slot-heading { display: flex; align-items: center; gap: .55rem; margin-bottom: 1rem; color: #334155; font-size: .8rem; }
.rubiqo-exam-preview__slot.is-hidden { display: none; }
.rubiqo-exam-preview__slot-heading > span { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: .45rem; background: #fef3c7; color: #92400e; font-size: .7rem; font-weight: 800; }
.rubiqo-exam-preview__stimulus { display: grid; gap: 1rem; }
.rubiqo-exam-preview__stimulus-block { display: grid; gap: 1rem; }
.rubiqo-exam-preview__empty { display: grid; place-items: center; gap: .6rem; min-height: 12rem; color: #94a3b8; text-align: center; }
.rubiqo-exam-preview__empty svg { width: 2rem; }
.rubiqo-exam-preview__paused { position: absolute; inset: 0; z-index: 5; display: grid; place-content: center; justify-items: center; padding: 2rem; background: rgb(248 250 252 / .94); text-align: center; backdrop-filter: blur(5px); }
.rubiqo-exam-preview__paused > svg { width: 3rem; color: #f59e0b; }
.rubiqo-exam-preview__paused h3 { margin-top: .7rem; color: #0f172a; font-size: 1.15rem; font-weight: 800; }
.rubiqo-exam-preview__paused p { margin: .25rem 0 1rem; color: #64748b; font-size: .85rem; }
.rubiqo-exam-preview__finished { display: grid; min-height: 34rem; place-content: center; justify-items: center; padding: 2rem; background: #f8fafc; text-align: center; }
.rubiqo-exam-preview__finished > svg { width: 3rem; color: #16a34a; }
.rubiqo-exam-preview__finished h3 { margin-top: .7rem; color: #0f172a; font-size: 1.2rem; font-weight: 800; }
.rubiqo-exam-preview__finished p { max-width: 30rem; margin-top: .25rem; color: #64748b; font-size: .82rem; }
.rubiqo-exam-preview__finished button { margin-top: 1rem; padding: .65rem .9rem; border-radius: .6rem; background: #0f172a; color: #fff; font-size: .78rem; font-weight: 750; }
.rubiqo-exam-simulation-page { min-height: 100vh; margin: 0; background: #e2e8f0; font-family: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif; }
.rubiqo-exam-preview.is-standalone { min-height: 100vh; gap: 0; }
.rubiqo-exam-preview.is-standalone .rubiqo-exam-preview__simulation-toolbar { border-width: 0 0 1px; border-radius: 0; }
.rubiqo-exam-preview.is-standalone .rubiqo-exam-preview__canvas { padding: 0; overflow: visible; }
.rubiqo-exam-preview.is-standalone .rubiqo-exam-preview__viewport { width: 100% !important; height: auto !important; margin: 0; zoom: 1 !important; }
.rubiqo-exam-preview.is-standalone .rubiqo-exam-preview__shell { min-height: calc(100vh - 3.5rem); border: 0; border-radius: 0; box-shadow: none; }
.rubiqo-exam-preview.is-standalone .rubiqo-exam-preview__sticky { top: 0; }
.rubiqo-exam-question-navigation { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-top: 1rem; padding: .8rem 1rem; border: 1px solid #e2e8f0; border-radius: .8rem; background: #f8fafc; }
.rubiqo-exam-question-navigation > button { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; padding: .55rem .8rem; border: 1px solid #cbd5e1; border-radius: .6rem; background: #fff; color: #334155; font-size: .78rem; font-weight: 750; }
.rubiqo-exam-question-navigation > button:last-child { justify-self: end; }
.rubiqo-exam-question-navigation > button:hover:not(:disabled) { border-color: #f59e0b; color: #92400e; }
.rubiqo-exam-question-navigation > button:disabled { opacity: .38; }
.rubiqo-exam-question-navigation > button svg { width: .95rem; }
.rubiqo-exam-question-navigation__position { display: flex; align-items: center; justify-content: center; gap: .35rem; }
.rubiqo-exam-question-navigation__position span { padding: .28rem .52rem; border-radius: 999px; background: #e2e8f0; color: #475569; font-size: .7rem; font-weight: 750; white-space: nowrap; }
.rubiqo-exam-preview__finish { display: flex; justify-content: flex-end; margin-top: .75rem; }
.rubiqo-exam-preview__finish > button { display: inline-flex; align-items: center; gap: .4rem; padding: .58rem .9rem; border-radius: .6rem; background: #0f172a; color: #fff; font-size: .78rem; font-weight: 750; }
.rubiqo-exam-preview__finish > button:hover { background: #1e293b; }
.rubiqo-exam-preview__finish > button svg { width: 1rem; }
.rubiqo-exam-inspector__preview { display: grid; gap: .65rem; max-height: 22rem; overflow: auto; padding: .75rem; border: 1px solid #e2e8f0; border-radius: .65rem; background: #f8fafc; }
.rubiqo-exam-inspector__preview > strong { color: #475569; font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.rubiqo-exam-inspector__preview .rubiqo-question-renderer { padding: .75rem; font-size: .78rem; }

.rubiqo-exam-preview__shell[data-visual-theme="playful"] {
    --rubiqo-exam-playful-ink: #101936;
    --rubiqo-exam-playful-muted: #6f778b;
    --rubiqo-exam-playful-line: #dbe4ee;
    --rubiqo-exam-playful-shadow: #d8e2ec;
    --rubiqo-exam-playful-blue: #2786ef;
    --rubiqo-exam-playful-blue-dark: #1769ce;
    --rubiqo-exam-playful-blue-soft: #eaf4ff;
    --rubiqo-exam-playful-green: #58cc02;
    border: 2px solid var(--rubiqo-exam-playful-line);
    border-radius: 1.35rem;
    background: #f5f9ff;
    box-shadow: 0 10px 0 var(--rubiqo-exam-playful-shadow), 0 24px 50px rgb(39 134 239 / .12);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__exam-header {
    border-bottom: 2px solid var(--rubiqo-exam-playful-line);
    background: linear-gradient(135deg, #fff 0%, var(--rubiqo-exam-playful-blue-soft) 100%);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__exam-header > div > span { color: var(--rubiqo-exam-playful-blue-dark); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__exam-header h2,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__section > header h3,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__section-welcome h4 { color: var(--rubiqo-exam-playful-ink); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__pause {
    border: 2px solid var(--rubiqo-exam-playful-line);
    border-radius: .8rem;
    background: #fff;
    color: var(--rubiqo-exam-playful-blue-dark);
    box-shadow: 0 3px 0 var(--rubiqo-exam-playful-shadow);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__pause:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 1px 0 var(--rubiqo-exam-playful-shadow); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress {
    border-bottom: 2px solid var(--rubiqo-exam-playful-line);
    background: rgb(245 249 255 / .96);
    box-shadow: 0 8px 18px rgb(39 134 239 / .12);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-timing { border-color: #f7c7c7; background: #fffdf7; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-timing__track { height: .45rem; border: 1px solid #fca5a5; background: #fee2e2; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-timing__primary > strong,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-timing__scope > strong { font-family: 'Mulish', sans-serif; font-weight: 900; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-timing__passive { border: 1px solid #c7ddf8; background: var(--rubiqo-exam-playful-blue-soft); color: var(--rubiqo-exam-playful-ink); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__section {
    --rubiqo-section-time-fill: rgb(39 134 239 / .11);
    --rubiqo-section-time-empty: #fff;
    border: 2px solid var(--rubiqo-exam-playful-line);
    border-radius: .9rem;
    box-shadow: 0 3px 0 var(--rubiqo-exam-playful-shadow);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__section.is-active {
    border-color: var(--rubiqo-exam-playful-blue);
    box-shadow: 0 3px 0 #b8d9fb;
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__section.is-active:not(.has-time-limit) { background: var(--rubiqo-exam-playful-blue-soft); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__section.has-time-limit.is-active { --rubiqo-section-time-fill: rgb(39 134 239 / .2); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__section-title { color: var(--rubiqo-exam-playful-ink); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__section-title > span { background: var(--rubiqo-exam-playful-blue); color: #fff; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__dot { width: .86rem; height: .86rem; border-width: 2px; border-color: #b9c7d8; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__dot.is-partial { border-color: #8d9aae; background: #8d9aae; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__dot.is-complete { border-color: var(--rubiqo-exam-playful-blue); background: var(--rubiqo-exam-playful-blue); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__dot.is-active { border-color: var(--rubiqo-exam-playful-blue); box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--rubiqo-exam-playful-blue); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-progress__legend i.is-complete { border-color: var(--rubiqo-exam-playful-blue); background: var(--rubiqo-exam-playful-blue); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__stage,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__welcome {
    background: radial-gradient(circle at 10% 0%, #fff7d9 0, transparent 18rem), radial-gradient(circle at 95% 10%, #e8f8df 0, transparent 20rem), #f5f9ff;
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__slot,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__welcome-card,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__section-welcome,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-device-check {
    border: 2px solid var(--rubiqo-exam-playful-line);
    border-radius: 1.1rem;
    box-shadow: 0 5px 0 var(--rubiqo-exam-playful-shadow);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__slot-heading > span,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__welcome-icon {
    background: var(--rubiqo-exam-playful-blue-soft);
    color: var(--rubiqo-exam-playful-blue-dark);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__slot-heading > span { border-radius: 999px; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-question-navigation {
    border: 2px solid var(--rubiqo-exam-playful-line);
    border-radius: 1rem;
    background: #f7fbff;
    box-shadow: 0 3px 0 var(--rubiqo-exam-playful-shadow);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-question-navigation > button {
    min-height: 2.45rem;
    padding: .48rem .8rem;
    border: 2px solid var(--rubiqo-exam-playful-line);
    border-radius: 999px;
    background: #fff;
    color: var(--rubiqo-exam-playful-blue-dark);
    font-size: .8rem;
    font-weight: 750;
    box-shadow: none;
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-question-navigation > button:hover:not(:disabled) { background: var(--rubiqo-exam-playful-blue-soft); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-question-navigation > button:active:not(:disabled) { background: #dcebff; transform: scale(.97); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-question-navigation > button:disabled { background: transparent; color: var(--rubiqo-exam-playful-muted); opacity: .42; box-shadow: none; }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-question-navigation__position span { background: var(--rubiqo-exam-playful-blue-soft); color: var(--rubiqo-exam-playful-ink); }
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__start,
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__section-welcome > button {
    border: 2px solid var(--rubiqo-exam-playful-blue-dark);
    border-radius: .85rem;
    background: var(--rubiqo-exam-playful-blue);
    box-shadow: 0 4px 0 var(--rubiqo-exam-playful-blue-dark);
}
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__start:active:not(:disabled),
.rubiqo-exam-preview__shell[data-visual-theme="playful"] .rubiqo-exam-preview__section-welcome > button:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--rubiqo-exam-playful-blue-dark); }
@media (max-width: 760px) {
    .rubiqo-exam-builder-tabs > button { flex: 1; justify-content: center; padding-inline: .5rem; }
    .rubiqo-exam-builder-tabs > button strong { font-size: .73rem; }
    .rubiqo-exam-snapshots__grid { grid-template-columns: 1fr; }
    .rubiqo-exam-snapshot__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rubiqo-exam-snapshot__metrics > div:nth-child(4) { border-left: 0; border-top: 1px solid #e2e8f0; }
    .rubiqo-exam-snapshot__metrics > div:nth-child(5) { border-top: 1px solid #e2e8f0; }
    .rubiqo-exam-preview__exam-header { align-items: flex-start; }
    .rubiqo-exam-preview__stage { padding: 1rem; }
    .rubiqo-exam-preview__sticky { top: 4rem; }
    .rubiqo-exam-progress { padding-inline: .75rem; }
    .rubiqo-exam-timing { padding-inline: .75rem; }
    .rubiqo-exam-timing__summary { flex-wrap: wrap; }
    .rubiqo-exam-timing__primary { min-width: 100%; }
    .rubiqo-exam-preview__slot { scroll-margin-top: 10rem; }
    .rubiqo-exam-preview__welcome { padding: 1rem; }
    .rubiqo-exam-preview__welcome-card { padding: 1.25rem; }
    .rubiqo-exam-device-check__item { grid-template-columns: auto minmax(0, 1fr); }
    .rubiqo-exam-device-check__item button { grid-column: 1 / -1; width: 100%; }
}

.rubiqo-exam-points-audit { display: grid; gap: .75rem; padding: .9rem 1rem; border: 1px solid #bbf7d0; border-radius: .85rem; background: #f0fdf4; }
.rubiqo-exam-points-audit > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.rubiqo-exam-points-audit > header div { display: flex; align-items: baseline; gap: .55rem; }
.rubiqo-exam-points-audit > header span, .rubiqo-exam-points-audit > header p { color: #64748b; font-size: .75rem; }
.rubiqo-exam-points-audit > header strong { color: #166534; font-size: 1.25rem; }
.rubiqo-exam-points-audit.has-warning { border-color: #fdba74; background: #fff7ed; }
.rubiqo-exam-points-audit.has-warning > header strong { color: #c2410c; }
.rubiqo-exam-points-audit.has-errors { border-color: #fca5a5; background: #fef2f2; }
.rubiqo-exam-points-audit.has-errors > header strong { color: #b91c1c; }
.rubiqo-exam-points-audit--compact { display: block; padding: .42rem .6rem; border-radius: .65rem; }
.rubiqo-exam-points-audit--compact > header { gap: .75rem; }
.rubiqo-exam-points-audit--compact > header div { gap: .35rem; }
.rubiqo-exam-points-audit--compact > header span,
.rubiqo-exam-points-audit--compact > header p { font-size: .65rem; white-space: nowrap; }
.rubiqo-exam-points-audit--compact > header strong { font-size: .95rem; line-height: 1; }
.rubiqo-exam-points-audit--issues-only { margin-bottom: 1rem; padding: .65rem; }
.rubiqo-exam-points-audit__issues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.rubiqo-exam-points-audit__issues > div { display: flex; max-height: 12rem; min-height: 0; flex-direction: column; padding: .7rem .8rem; border-radius: .65rem; background: rgb(255 255 255 / 75%); }
.rubiqo-exam-points-audit__issues > .is-warning { grid-column: 1; }
.rubiqo-exam-points-audit__issues > .is-error { grid-column: 2; }
.rubiqo-exam-points-audit__issues h3 { margin-bottom: .35rem; font-size: .75rem; font-weight: 800; }
.rubiqo-exam-points-audit__issues ul { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.rubiqo-exam-points-audit__issues li { margin-left: 1rem; list-style: disc; color: #475569; font-size: .72rem; }

.rubiqo-exam-builder {
    display: grid;
    grid-template-columns: minmax(15rem, 0.8fr) minmax(26rem, 2fr) minmax(15rem, 0.8fr);
    min-height: 38rem;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    background: #f8fafc;
}

.rubiqo-exam-builder > aside,
.rubiqo-exam-builder > main {
    min-width: 0;
    padding: 1rem;
}

.rubiqo-exam-builder > aside {
    background: #fff;
}

.rubiqo-exam-builder__library { border-right: 1px solid #e5e7eb; }
.rubiqo-exam-builder__inspector { border-left: 1px solid #e5e7eb; }
.rubiqo-exam-builder aside > header { display: grid; gap: .2rem; margin-bottom: 1rem; }
.rubiqo-exam-builder aside > header span { font-weight: 800; color: #111827; }
.rubiqo-exam-builder aside > header small { color: #64748b; }
.rubiqo-exam-builder input,
.rubiqo-exam-builder select {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: .65rem;
    padding: .65rem .75rem;
    background: #fff;
}
.rubiqo-exam-select { position: relative; }
.rubiqo-exam-select select { appearance: none; padding-right: 2.75rem; }
.rubiqo-exam-select > svg {
    position: absolute;
    top: 50%;
    right: .85rem;
    width: 1.15rem;
    height: 1.15rem;
    color: #475569;
    pointer-events: none;
    transform: translateY(-50%);
}

.rubiqo-exam-library-tabs { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .35rem; margin-bottom: .65rem; }
.rubiqo-exam-library-tabs > button { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .4rem; padding: .45rem .55rem; border: 1px solid #e2e8f0; border-radius: .55rem; background: #fff; color: #64748b; }
.rubiqo-exam-library-tabs > button:hover { border-color: #f59e0b; color: #92400e; }
.rubiqo-exam-library-tabs > button.is-active { border-color: #f59e0b; background: #fffbeb; color: #92400e; }
.rubiqo-exam-library-tabs > button span { min-width: 0; font-size: .7rem; font-weight: 700; white-space: nowrap; }
.rubiqo-exam-library-tabs > button strong { display: grid; flex: 0 0 auto; min-width: 1.35rem; height: 1.35rem; place-items: center; padding: 0 .3rem; border-radius: 999px; background: #f1f5f9; font-size: .62rem; }
.rubiqo-exam-library-tabs > button.is-active strong { background: #f59e0b; color: #fff; }
.rubiqo-exam-library-search { position: relative; display: block; }
.rubiqo-exam-library-search > svg { position: absolute; z-index: 1; top: 50%; left: .75rem; width: 1rem; height: 1rem; color: #94a3b8; pointer-events: none; transform: translateY(-50%); }
.rubiqo-exam-builder .rubiqo-exam-library-search > input { height: 2.55rem; padding: .6rem 2.25rem; border-color: #e2e8f0; border-radius: .7rem; color: #334155; font-size: .78rem; line-height: 1.2; box-shadow: 0 1px 2px rgb(15 23 42 / .03); }
.rubiqo-exam-builder .rubiqo-exam-library-search > input::placeholder { color: #94a3b8; opacity: 1; }
.rubiqo-exam-builder .rubiqo-exam-library-search > input:focus { border-color: #f59e0b; outline: 3px solid rgb(245 158 11 / .12); }
.rubiqo-exam-library-results { max-height: 32rem; margin-top: .65rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.rubiqo-exam-library-empty.fi-empty-state { min-height: 9rem; padding: 1.5rem .75rem; border: 0; background: transparent; box-shadow: none; }
.rubiqo-exam-library-empty .fi-empty-state-content { gap: .65rem; }
.rubiqo-exam-library-empty .fi-empty-state-icon-bg { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; margin: 0; padding: 0; place-items: center; overflow: hidden; border-radius: 999px; background: #f1f5f9; }
.rubiqo-exam-library-empty .fi-empty-state-icon-bg .fi-icon { display: block; width: .95rem; height: .95rem; color: #94a3b8; }
.rubiqo-exam-library-empty .fi-empty-state-heading { max-width: 11rem; color: #94a3b8; font-size: .72rem; font-weight: 500; line-height: 1.45; }
.rubiqo-exam-library-item {
    display: grid;
    grid-template-columns: 1fr auto;
    width: 100%;
    gap: .15rem .5rem;
    padding: .65rem;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
}
.rubiqo-exam-library-item span { grid-column: 1; font-size: .7rem; color: #64748b; }
.rubiqo-exam-library-item strong { grid-column: 1; overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.rubiqo-exam-library-item svg { grid-column: 2; grid-row: 1 / 3; width: 1rem; color: #d97706; align-self: center; }
.rubiqo-exam-library-item:disabled { cursor: not-allowed; opacity: .45; }
.rubiqo-exam-library-footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .65rem; padding-top: .55rem; border-top: 1px solid #e2e8f0; }
.rubiqo-exam-library-footer span { color: #64748b; font-size: .66rem; }
.rubiqo-exam-library-footer button { flex: 0 0 auto; padding: .35rem .55rem; border-radius: .45rem; background: #fff7ed; color: #9a3412; font-size: .68rem; font-weight: 700; }
.rubiqo-exam-library-footer button:hover { background: #ffedd5; }

.rubiqo-exam-builder__canvas > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.rubiqo-exam-builder__canvas-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.rubiqo-exam-builder__canvas h2 { font-size: 1.1rem; font-weight: 800; }
.rubiqo-exam-builder__canvas header p { font-size: .78rem; color: #64748b; }
.rubiqo-exam-section-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .35rem;
    margin-bottom: .55rem;
}
.rubiqo-exam-section-tabs > button {
    display: flex;
    min-width: 0;
    max-width: 13rem;
    align-items: center;
    gap: .38rem;
    padding: .38rem .55rem;
    border: 1px solid #e2e8f0;
    border-radius: .55rem;
    background: #fff;
    color: #64748b;
}
.rubiqo-exam-section-tabs > button:hover { border-color: #f59e0b; color: #92400e; }
.rubiqo-exam-section-tabs > button.is-active { border-color: #f59e0b; background: #fffbeb; color: #92400e; box-shadow: 0 0 0 1px rgb(245 158 11 / 12%); }
.rubiqo-exam-section-tabs__number {
    display: grid;
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.15rem;
    place-items: center;
    border-radius: 999px;
    background: #f1f5f9;
    font-size: .62rem;
    font-weight: 800;
}
.rubiqo-exam-section-tabs > button.is-active .rubiqo-exam-section-tabs__number { background: #f59e0b; color: #fff; }
.rubiqo-exam-section-tabs__handle {
    display: grid;
    flex: 0 0 auto;
    width: 1rem;
    height: 1.15rem;
    place-items: center;
    color: #94a3b8;
    cursor: grab;
    touch-action: none;
}
.rubiqo-exam-section-tabs__handle:active { cursor: grabbing; }
.rubiqo-exam-section-tabs__handle svg { width: .9rem; height: .9rem; }
.rubiqo-exam-section-tabs > button:hover .rubiqo-exam-section-tabs__handle,
.rubiqo-exam-section-tabs > button.is-active .rubiqo-exam-section-tabs__handle { color: #b45309; }
.rubiqo-exam-section-tabs > button strong { overflow: hidden; font-size: .72rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.rubiqo-exam-section-tabs__points-badge { display: inline-flex; flex: 0 0 auto; min-width: max-content; align-items: center; justify-content: center; margin-inline-start: .12rem; padding: .22rem .48rem; border: 1px solid #86efac; border-radius: 999px; background: #dcfce7; color: #166534; font-size: .62rem; font-weight: 800; line-height: 1; white-space: nowrap; word-break: keep-all; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .45); }
.rubiqo-exam-section-tabs > button.is-active .rubiqo-exam-section-tabs__points-badge { border-color: #15803d; background: #16a34a; color: #fff; }
.rubiqo-exam-section { margin-bottom: 1rem; overflow: hidden; border: 1px solid #e2e8f0; border-radius: .85rem; background: #fff; }
.rubiqo-exam-section.is-selected { border-color: #f59e0b; box-shadow: 0 0 0 2px rgb(245 158 11 / 10%); }
.rubiqo-exam-section > header { display: flex; align-items: center; justify-content: space-between; padding: .75rem 1rem; border-bottom: 1px solid #e2e8f0; cursor: pointer; }
.rubiqo-exam-section > header.rubiqo-exam-section__toolbar { min-height: 2.5rem; padding: .35rem .65rem; cursor: default; }
.rubiqo-exam-section > header span { font-size: .68rem; font-weight: 800; color: #d97706; text-transform: uppercase; }
.rubiqo-exam-section > header h3 { font-weight: 800; }
.rubiqo-exam-section__external-reference { display: flex; align-items: center; gap: .3rem; margin-top: .25rem; color: #64748b; }
.rubiqo-exam-section__external-reference svg { width: .8rem; }
.rubiqo-exam-section__points { display: block; margin-top: .2rem; color: #64748b; font-size: .68rem; }
.rubiqo-exam-section__slots { display: grid; gap: .5rem; padding: .75rem; }
.rubiqo-exam-section__slots article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; padding: .7rem; border: 1px solid #e5e7eb; border-radius: .65rem; cursor: pointer; }
.rubiqo-exam-section__slots article:hover,
.rubiqo-exam-section__slots article.is-selected { border-color: #f59e0b; background: #fffbeb; }
.rubiqo-exam-slot__handle { display: grid; place-items: center; cursor: grab; touch-action: none; }
.rubiqo-exam-slot__handle:active { cursor: grabbing; }
.rubiqo-exam-slot__handle svg { width: 1rem; color: #94a3b8; }
.rubiqo-exam-slot__content { display: grid; }
.rubiqo-exam-slot__content span,
.rubiqo-exam-slot__content small { font-size: .68rem; color: #64748b; }
.rubiqo-exam-slot__content strong { font-size: .85rem; }
.rubiqo-exam-slot__points { margin-top: .2rem; color: #15803d !important; font-weight: 700; }
.rubiqo-exam-slot__points.is-invalid { color: #dc2626 !important; }
.rubiqo-exam-builder__row-actions { display: flex; gap: .25rem; }
.rubiqo-exam-builder__row-actions button { padding: .3rem; border-radius: .4rem; color: #64748b; }
.rubiqo-exam-builder__row-actions button:hover { background: #f1f5f9; color: #111827; }
.rubiqo-exam-builder__row-actions button:disabled { opacity: .25; }
.rubiqo-exam-builder__row-actions svg { width: .95rem; }
.rubiqo-exam-section__empty { display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 4rem; border: 1px dashed #cbd5e1; border-radius: .65rem; color: #64748b; }
.rubiqo-exam-section__empty svg { width: 1rem; }
.rubiqo-exam-builder__empty,
.rubiqo-exam-inspector__empty { display: grid; place-items: center; gap: .5rem; padding: 3rem 1rem; text-align: center; color: #64748b; }
.rubiqo-exam-builder__empty svg,
.rubiqo-exam-inspector__empty svg { width: 2rem; }
.rubiqo-exam-builder__empty h3 { color: #111827; font-weight: 800; }
.rubiqo-exam-builder__inspector label { display: grid; gap: .35rem; margin-bottom: .85rem; }
.rubiqo-exam-builder__inspector :is(input, select) { padding: .48rem .6rem; border-radius: .5rem; font-size: .78rem; }
.rubiqo-exam-builder__inspector label span { font-size: .75rem; font-weight: 700; color: #475569; }
.rubiqo-exam-builder__inspector label small,
.rubiqo-exam-inspector__help { margin: 0; font-size: .68rem; color: #64748b; }
.rubiqo-exam-inspector__toggle { display: flex !important; grid-template-columns: auto 1fr; align-items: center; }
.rubiqo-exam-inspector__toggle input { width: 1rem; height: 1rem; accent-color: #d97706; }
.rubiqo-exam-inspector__help { margin: -.5rem 0 .85rem; }
.rubiqo-exam-builder__inspector .rubiqo-exam-inspector__error { color: #dc2626; }
.rubiqo-exam-course-picker__results { display: grid; gap: .4rem; margin-top: .5rem; max-height: 14rem; overflow-y: auto; }
.rubiqo-exam-course-picker__results button { align-items: center; border: 1px solid #e5e7eb; border-radius: .65rem; display: flex; gap: .55rem; padding: .65rem .75rem; text-align: left; }
.rubiqo-exam-course-picker__results button:hover, .rubiqo-exam-course-picker__results button.is-selected { border-color: #f59e0b; background: #fffbeb; }
.rubiqo-exam-course-picker__results svg { flex: 0 0 auto; height: 1.1rem; width: 1.1rem; }
.rubiqo-exam-course-picker__selected { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: .65rem; color: #166534; margin-top: .6rem; padding: .65rem .75rem; }
.rubiqo-exam-inspector__target { display: grid; margin-bottom: 1rem; padding: .75rem; border-radius: .65rem; background: #fffbeb; }
.rubiqo-exam-inspector__target span { font-size: .7rem; color: #b45309; }
.rubiqo-exam-inspector__target strong { font-size: .85rem; }
.rubiqo-exam-section-welcome-setting { display: flex; align-items: center; justify-content: space-between; gap: .65rem; margin-bottom: .85rem; padding: .65rem .7rem; border: 1px solid #e2e8f0; border-radius: .65rem; background: #f8fafc; }
.rubiqo-exam-section-welcome-setting > div { display: grid; gap: .1rem; min-width: 0; }
.rubiqo-exam-section-welcome-setting span { color: #334155; font-size: .72rem; font-weight: 700; }
.rubiqo-exam-section-welcome-setting small { color: #94a3b8; font-size: .65rem; }
.rubiqo-exam-section-welcome-editor .fi-fo-rich-editor-content { min-height: 8rem; }
.dark .rubiqo-exam-section-welcome-setting { border-color: #374151; background: #111827; }
.dark .rubiqo-exam-section-welcome-setting span { color: #e5e7eb; }
.rubiqo-exam-points-summary { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-bottom: .85rem; }
.rubiqo-exam-points-summary > div { display: grid; gap: .15rem; padding: .65rem .7rem; border: 1px solid #e2e8f0; border-radius: .65rem; background: #f8fafc; }
.rubiqo-exam-points-summary span { color: #64748b; font-size: .66rem; }
.rubiqo-exam-points-summary strong { color: #0f172a; font-size: .9rem; }
.rubiqo-exam-points-summary > div:last-child { border-color: #fed7aa; background: #fff7ed; }
.rubiqo-exam-points-summary > div:last-child strong { color: #9a3412; }
.rubiqo-exam-points-summary > div.is-missing { border-color: #fde68a; background: #fffbeb; }
.dark .rubiqo-exam-points-summary > div { border-color: #374151; background: #111827; }
.dark .rubiqo-exam-points-summary strong { color: #f9fafb; }

.dark .rubiqo-exam-builder { border-color: #374151; background: #111827; }
.dark .rubiqo-exam-builder > aside,
.dark .rubiqo-exam-section { border-color: #374151; background: #1f2937; }
.dark .rubiqo-exam-library-tabs > button { border-color: #374151; background: #1f2937; color: #cbd5e1; }
.dark .rubiqo-exam-library-tabs > button strong { background: #374151; }
.dark .rubiqo-exam-library-tabs > button.is-active { border-color: #f59e0b; background: rgb(120 53 15 / 35%); color: #fde68a; }
.dark .rubiqo-exam-library-tabs > button.is-active strong { background: #f59e0b; color: #fff; }
.dark .rubiqo-exam-builder .rubiqo-exam-library-search > input { border-color: #374151; background: #111827; color: #f1f5f9; }
.dark .rubiqo-exam-library-empty .fi-empty-state-icon-bg { background: #374151; }
.dark .rubiqo-exam-library-empty .fi-empty-state-heading { color: #94a3b8; }
.dark .rubiqo-exam-library-footer { border-color: #374151; }
.dark .rubiqo-exam-section-tabs > button { border-color: #374151; background: #1f2937; color: #cbd5e1; }
.dark .rubiqo-exam-section-tabs__number { background: #374151; }
.dark .rubiqo-exam-section-tabs > button.is-active { border-color: #f59e0b; background: rgb(120 53 15 / 35%); color: #fde68a; }
.dark .rubiqo-exam-section-tabs > button.is-active .rubiqo-exam-section-tabs__number { background: #f59e0b; color: #fff; }
.dark .rubiqo-exam-section-tabs__points-badge { border-color: #166534; background: rgb(20 83 45 / 45%); color: #bbf7d0; }
.dark .rubiqo-exam-builder aside > header span,
.dark .rubiqo-exam-builder__canvas h2,
.dark .rubiqo-exam-section > header h3 { color: #f9fafb; }
.dark .rubiqo-exam-section__slots article { border-color: #374151; }
.dark .rubiqo-exam-section__slots article.is-selected { background: rgb(120 53 15 / 35%); }
.dark .rubiqo-exam-builder-tabs { border-color: #374151; }
.dark .rubiqo-exam-builder-tabs > button span { background: #374151; }
.dark .rubiqo-exam-builder-tabs > button.is-active span { background: #f59e0b; }

@media (max-width: 75rem) {
    .rubiqo-exam-builder { grid-template-columns: minmax(14rem, .8fr) minmax(24rem, 2fr); }
    .rubiqo-exam-builder__inspector { grid-column: 1 / -1; border-top: 1px solid #e5e7eb; border-left: 0; }
}

@media (max-width: 48rem) {
    .rubiqo-exam-builder { grid-template-columns: 1fr; }
    .rubiqo-exam-builder__library { border-right: 0; border-bottom: 1px solid #e5e7eb; }
    .rubiqo-exam-builder__inspector { grid-column: auto; }
    .rubiqo-exam-points-audit__issues { grid-template-columns: 1fr; }
    .rubiqo-exam-points-audit__issues > .is-warning,
    .rubiqo-exam-points-audit__issues > .is-error { grid-column: 1; }
    .rubiqo-exam-builder__canvas > header { align-items: flex-start; }
    .rubiqo-exam-builder__canvas-actions { align-items: flex-end; flex-direction: column-reverse; }
}

.fi-sidebar-header {
    position: relative;
    height: 5rem;
    padding-bottom: 0;
}

.rubiqo-panel-context-label {
    color: #64748b;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1;
    text-align: center;
    pointer-events: none;
}

.rubiqo-panel-context-label.is-sidebar {
    position: absolute;
    right: 0;
    bottom: 0.55rem;
    left: 0;
}

.rubiqo-panel-context-label.is-topbar {
    display: inline-flex;
    align-items: center;
    min-height: 1.25rem;
    margin-inline-start: 0.6rem;
    padding: 0.18rem 0.45rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: rgb(255 255 255 / 82%);
}

.dark .rubiqo-panel-context-label.is-topbar {
    background: rgb(17 24 39 / 82%);
}

.rubiqo-panel-context-label.is-admin {
    color: #b91c1c;
}

.rubiqo-panel-context-label.is-panel {
    color: #c2410c;
}

.dark .rubiqo-panel-context-label.is-admin {
    color: #fca5a5;
}

.dark .rubiqo-panel-context-label.is-panel {
    color: #fdba74;
}

.rubiqo-auth-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

.rubiqo-participant-access-form {
    display: grid;
    gap: 1.5rem;
}

.rubiqo-participant-access-form > .fi-btn {
    justify-self: start;
}

.rubiqo-participant-access-result {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
    line-height: 1.6;
}

.rubiqo-participant-access-result__summary {
    display: grid;
    gap: .35rem;
    overflow-wrap: anywhere;
}

.rubiqo-participant-access-result input {
    font-family: ui-monospace, monospace;
    font-variant-numeric: tabular-nums;
    letter-spacing: .06em;
}

.rubiqo-participant-access-result__name {
    font-size: 1rem;
    font-weight: 600;
}

.rubiqo-participant-access-result__hint,
.rubiqo-participant-access-result__notice {
    color: #64748b;
    font-size: .875rem;
}

.rubiqo-participant-access-result__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}

.rubiqo-participant-access-result__notice {
    border-top: 1px solid #e5e7eb;
    padding-top: 1rem;
}

.rubiqo-auth-logo img {
    display: block;
    height: 8.5rem;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.rubiqo-sms-settings-form {
    display: grid;
    width: 100%;
    max-width: 48rem;
    min-width: 0;
    gap: 1.5rem;
}

.rubiqo-sms-settings-form > *,
.rubiqo-sms-settings-form .fi-sc-section,
.rubiqo-sms-settings-form .fi-section,
.rubiqo-sms-settings-form .fi-fo-field,
.rubiqo-sms-settings-form .fi-fo-field-content-col {
    max-width: 100%;
    min-width: 0;
}

.rubiqo-sms-settings-form .fi-sc-section-description,
.rubiqo-sms-settings-form .fi-section-header-description,
.rubiqo-sms-settings-form .fi-fo-field-wrp-helper-text {
    overflow-wrap: anywhere;
}

.rubiqo-default-tenant-logo {
    align-items: center;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    display: flex;
    height: 7rem;
    justify-content: center;
    width: 7rem;
}

.rubiqo-default-tenant-logo img {
    display: block;
    height: 4.5rem;
    width: 4.5rem;
}

.rubiqo-default-provider-logo {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 0.75rem;
    display: flex;
    height: 7rem;
    justify-content: center;
    width: 7rem;
}

.rubiqo-default-provider-logo img {
    display: block;
    height: 4.5rem;
    width: 4.5rem;
}

.rubiqo-sidebar-collapse {
    display: none;
}

.rubiqo-activity-timeline-section {
    margin-top: 1.5rem;
}

.rubiqo-activity-timeline {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rubiqo-activity-timeline__entry {
    position: relative;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.75rem;
    padding-bottom: 1.25rem;
}

.rubiqo-activity-timeline__entry:not(:last-child)::before {
    position: absolute;
    top: 2rem;
    bottom: 0;
    left: 0.95rem;
    width: 1px;
    background: #d1d5db;
    content: '';
}

.rubiqo-activity-timeline__entry:last-child {
    padding-bottom: 0;
}

.rubiqo-activity-timeline__marker {
    z-index: 1;
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 999px;
    background: #e5e7eb;
    color: #4b5563;
}

.rubiqo-activity-timeline__entry--created .rubiqo-activity-timeline__marker,
.rubiqo-activity-timeline__entry--restored .rubiqo-activity-timeline__marker {
    background: #dcfce7;
    color: #15803d;
}

.rubiqo-activity-timeline__entry--updated .rubiqo-activity-timeline__marker {
    background: #dbeafe;
    color: #1d4ed8;
}

.rubiqo-activity-timeline__entry--deleted .rubiqo-activity-timeline__marker {
    background: #fee2e2;
    color: #b91c1c;
}

.rubiqo-activity-timeline__icon {
    width: 1rem;
    height: 1rem;
}

.rubiqo-activity-timeline__content {
    min-width: 0;
    padding-top: 0.1rem;
}

.rubiqo-activity-timeline__summary {
    margin: 0;
    color: #111827;
    font-weight: 600;
}

.rubiqo-activity-timeline__meta,
.rubiqo-activity-timeline__changes,
.rubiqo-activity-timeline__empty {
    margin: 0.2rem 0 0;
    color: #6b7280;
    font-size: 0.8rem;
}

.rubiqo-activity-timeline__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.dark .rubiqo-activity-timeline__entry:not(:last-child)::before {
    background: #4b5563;
}

.dark .rubiqo-activity-timeline__marker {
    background: #374151;
    color: #d1d5db;
}

.dark .rubiqo-activity-timeline__entry--created .rubiqo-activity-timeline__marker,
.dark .rubiqo-activity-timeline__entry--restored .rubiqo-activity-timeline__marker {
    background: #14532d;
    color: #bbf7d0;
}

.dark .rubiqo-activity-timeline__entry--updated .rubiqo-activity-timeline__marker {
    background: #1e3a8a;
    color: #bfdbfe;
}

.dark .rubiqo-activity-timeline__entry--deleted .rubiqo-activity-timeline__marker {
    background: #7f1d1d;
    color: #fecaca;
}

.dark .rubiqo-activity-timeline__summary {
    color: #f3f4f6;
}

.dark .rubiqo-activity-timeline__meta,
.dark .rubiqo-activity-timeline__changes,
.dark .rubiqo-activity-timeline__empty {
    color: #9ca3af;
}

@media (min-width: 64rem) {
    .fi-panel-customer .fi-topbar-collapse-sidebar-btn-ctn {
        display: none;
    }

    .rubiqo-sidebar-collapse {
        display: flex;
        justify-content: flex-end;
        padding: 0.75rem 1rem;
        border-top: 1px solid #e5e7eb;
    }

    .dark .rubiqo-sidebar-collapse {
        border-top-color: #374151;
    }
}

.rubiqo-support-workspace {
    display: grid;
    gap: 1rem;
}

.rubiqo-support-layout {
    display: grid;
    grid-template-columns: minmax(17rem, 21rem) minmax(0, 1fr);
    min-height: 38rem;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    background: #fff;
}

.rubiqo-support-index {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 0.9rem;
    border-right: 1px solid #e5e7eb;
    background: #f9fafb;
}

.rubiqo-support-filters,
.rubiqo-support-ticket-list {
    display: grid;
    gap: 0.55rem;
}

.rubiqo-support-ticket-list {
    align-content: start;
    flex: 1;
}

.rubiqo-support-ticket-list > button {
    display: grid;
    gap: 0.35rem;
    width: 100%;
    padding: 0.8rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    background: #fff;
    text-align: left;
    transition: 0.15s;
}

.rubiqo-support-ticket-list > button:hover,
.rubiqo-support-ticket-list > button.is-active {
    border-color: #fb923c;
    box-shadow: 0 0 0 1px rgb(251 146 60 / 18%);
}

.rubiqo-support-ticket-list__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.rubiqo-support-ticket-list__top strong {
    color: #64748b;
    font-size: 0.74rem;
}

.rubiqo-support-ticket-list__subject {
    overflow: hidden;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rubiqo-support-ticket-list small {
    color: #64748b;
    font-size: 0.72rem;
}

.rubiqo-support-conversation {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.rubiqo-support-conversation > header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.rubiqo-support-conversation > header span,
.rubiqo-support-conversation > header p {
    color: #64748b;
    font-size: 0.75rem;
}

.rubiqo-support-conversation h2 {
    margin: 0.2rem 0;
    font-size: 1.08rem;
    font-weight: 700;
}

.rubiqo-support-conversation__status {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.rubiqo-support-messages {
    display: flex;
    overflow: auto;
    flex: 1;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1.25rem;
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.rubiqo-support-messages article {
    width: min(88%, 46rem);
    padding: 0.85rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 4%);
}

.rubiqo-support-messages article.is-support {
    border-bottom-left-radius: 0.3rem;
    border-left: 3px solid #f97316;
}

.rubiqo-support-messages article.is-customer {
    align-self: flex-end;
    border-color: #fed7aa;
    border-right: 3px solid #f97316;
    border-bottom-right-radius: 0.3rem;
    background: #fff7ed;
}

.rubiqo-support-message__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
    color: #64748b;
    font-size: 0.72rem;
}

.rubiqo-support-message__meta strong {
    color: #334155;
}

.rubiqo-support-message__meta > span {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
}

.rubiqo-support-messages article.is-internal {
    align-self: center;
    border-style: dashed;
    border-color: #94a3b8;
    background: #f8fafc;
}

.rubiqo-support-messages article > p {
    margin: 0;
    color: #1f2937;
    font-size: 0.9rem;
    line-height: 1.55;
}

.rubiqo-support-attachments {
    display: flex;
    gap: 0.45rem;
    margin-top: 0.7rem;
    flex-wrap: wrap;
}

.rubiqo-support-attachments a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.4rem 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.55rem;
    background: rgb(255 255 255 / 78%);
    color: #475569;
    font-size: 0.75rem;
}

.rubiqo-support-attachments svg {
    width: 1rem;
    height: 1rem;
    flex: none;
}

.rubiqo-support-attachments span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rubiqo-support-conversation > footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.1rem;
    border-top: 1px solid #e5e7eb;
}

.rubiqo-support-empty {
    display: grid;
    justify-items: center;
    gap: 0.45rem;
    padding: 2rem 1rem;
    color: #64748b;
    text-align: center;
}

.rubiqo-support-empty.is-large {
    margin: auto;
}

.rubiqo-support-empty svg {
    width: 2rem;
    height: 2rem;
}

.rubiqo-support-empty strong {
    color: #334155;
}

.rubiqo-support-empty p {
    margin: 0;
    font-size: 0.8rem;
}

.dark .rubiqo-support-layout,
.dark .rubiqo-support-ticket-list > button,
.dark .rubiqo-support-messages article {
    border-color: #374151;
    background: #1f2937;
}

.dark .rubiqo-support-index {
    border-color: #374151;
    background: #0f172a;
}

.dark .rubiqo-support-conversation > header,
.dark .rubiqo-support-conversation > footer {
    border-color: #374151;
}

.dark .rubiqo-support-messages {
    background: linear-gradient(180deg, #0f172a, #111827);
}

.dark .rubiqo-support-messages article.is-customer {
    border-color: #9a3412;
    border-right-color: #fb923c;
    background: rgb(67 20 7 / 55%);
}

.dark .rubiqo-support-messages article.is-support {
    border-left-color: #fb923c;
}

.dark .rubiqo-support-messages article.is-internal {
    border-color: #64748b;
    background: #111827;
}

.dark .rubiqo-support-message__meta strong,
.dark .rubiqo-support-messages article > p,
.dark .rubiqo-support-empty strong {
    color: #f3f4f6;
}

@media (max-width: 64rem) {
    .rubiqo-support-layout {
        grid-template-columns: 1fr;
    }

    .rubiqo-support-index {
        max-height: 24rem;
        border-right: 0;
        border-bottom: 1px solid #e5e7eb;
    }

    .rubiqo-support-conversation {
        min-height: 32rem;
    }
}

@media (max-width: 40rem) {
    .rubiqo-support-conversation > header {
        flex-direction: column;
    }

    .rubiqo-support-conversation__status {
        justify-content: flex-start;
    }

    .rubiqo-support-messages article {
        width: 96%;
    }
}

.rubiqo-exam-preview__shell:fullscreen {
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    background: #f8fafc;
}

.rubiqo-exam-preview__shell {
    position: relative;
    isolation: isolate;
}

.rubiqo-exam-integrity-watermark {
    position: absolute;
    inset: 0;
    z-index: 45;
    display: none;
    grid-template-columns: repeat(4, minmax(8rem, 1fr));
    grid-auto-rows: minmax(7rem, 1fr);
    align-items: center;
    justify-items: center;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    opacity: .13;
    animation: rubiqo-integrity-watermark-drift 18s ease-in-out infinite alternate;
}

.rubiqo-exam-preview__shell.is-integrity-active .rubiqo-exam-integrity-watermark {
    display: grid;
}

.rubiqo-exam-integrity-watermark span {
    color: #334155;
    font-size: clamp(.7rem, 1.35vw, 1rem);
    font-weight: 800;
    letter-spacing: .12em;
    white-space: nowrap;
    transform: rotate(-24deg);
}

.rubiqo-exam-integrity-code {
    display: grid;
    gap: .08rem;
    margin-left: auto;
    padding: .42rem .65rem;
    border: 1px solid #cbd5e1;
    border-radius: .7rem;
    background: rgb(255 255 255 / 88%);
    line-height: 1.15;
}

.rubiqo-exam-integrity-code span,
.rubiqo-exam-integrity-code small {
    color: #64748b;
    font-size: .65rem;
}

.rubiqo-exam-integrity-code strong {
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .78rem;
    letter-spacing: .08em;
}

.rubiqo-exam-integrity-guard {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: .8rem;
    padding: 2rem;
    background: #0f172a;
    color: #f8fafc;
    text-align: center;
}

.rubiqo-exam-integrity-guard svg {
    width: 3rem;
    height: 3rem;
    color: #f59e0b;
}

.rubiqo-exam-integrity-guard h3,
.rubiqo-exam-integrity-guard p {
    margin: 0;
}

.rubiqo-exam-integrity-guard p {
    max-width: 34rem;
    color: #cbd5e1;
}

.rubiqo-exam-integrity-guard button {
    padding: .7rem 1rem;
    border-radius: .75rem;
    background: #f59e0b;
    color: #451a03;
    font-weight: 800;
}

.rubiqo-exam-integrity-guard small {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    letter-spacing: .12em;
    opacity: .7;
}

.rubiqo-exam-preview__shell.is-integrity-concealed > :not(.rubiqo-exam-integrity-watermark, .rubiqo-exam-integrity-guard) {
    visibility: hidden;
}

@keyframes rubiqo-integrity-watermark-drift {
    from { transform: translate3d(-1.5rem, -1rem, 0); }
    to { transform: translate3d(1.5rem, 1rem, 0); }
}

@media (max-width: 48rem) {
    .rubiqo-exam-integrity-watermark {
        grid-template-columns: repeat(3, minmax(6rem, 1fr));
    }

    .rubiqo-exam-integrity-code {
        order: 3;
        width: 100%;
    }
}
