:root {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-synthesis: none;
    color: #172033;
    background: #f5f7fb;
    --ink: #172033;
    --muted: #667085;
    --line: #e4e8f0;
    --panel: #fff;
    --primary: #4656d9;
    --primary-dark: #3443bd;
    --soft: #eef1ff;
    --success: #19724c;
    --danger: #b42318;
    --d: #b42335;
    --i: #a66900;
    --s: #138365;
    --c: #2457b3;
}
* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: radial-gradient(ellipse at 0 0, #eef1ff 0, transparent 44%), #f5f7fb; color: var(--ink); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .52; cursor: not-allowed; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(1.85rem, 3.2vw, 2.65rem); line-height: 1.12; letter-spacing: -.045em; margin-bottom: 12px; font-weight: 760; }
h2 { font-size: 1.25rem; letter-spacing: -.025em; margin-bottom: 10px; }
h3 { font-size: 1.05rem; margin-bottom: 10px; }
p { line-height: 1.65; color: var(--muted); }
button, input, select, summary, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #8290ee; outline-offset: 4px; }
input:focus-visible, select:focus-visible { outline: 0; border-color: #7b87ea; box-shadow: 0 0 0 4px #4656d916; }
.app-frame, .participant-frame { min-height: 100vh; display: flex; flex-direction: column; }
.page-shell { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }
.workspace { flex: 1; padding: 42px 0 56px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 82px; padding: 14px max(32px, calc((100vw - 1280px) / 2)); border-bottom: 1px solid #e4e8f0; background: #ffffffed; backdrop-filter: blur(14px); }
.brand-link { flex-shrink: 0; }
.brand-lockup { display: inline-flex; gap: 12px; align-items: center; }
.brand-mark { width: 40px; height: 40px; padding: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; border-radius: 13px; background: linear-gradient(145deg, #6071ee, #3443bd); box-shadow: 0 6px 16px #4656d92c; }
.brand-mark span { border-radius: 2px; background: #ffffffda; }
.brand-mark span:nth-child(2) { opacity: .56; }
.brand-mark span:nth-child(3) { opacity: .75; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { font-size: 1.05rem; letter-spacing: -.02em; }
.brand-copy small { font-size: .69rem; color: var(--muted); margin-top: 2px; }
.app-nav { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.app-nav > a { color: #657084; font-size: .82rem; font-weight: 660; padding: 10px 12px; border-radius: 10px; transition: background .15s, color .15s; }
.app-nav > a:hover { background: #f1f3f8; color: var(--ink); }
.app-nav > a.active { background: var(--soft); color: var(--primary-dark); }
.app-nav form { margin: 0 0 0 7px; }
.nav-dropdown { position: relative; }
.nav-dropdown > summary { list-style: none; color: #657084; font-size: .82rem; font-weight: 660; padding: 10px 12px; border-radius: 10px; cursor: pointer; user-select: none; transition: background .15s, color .15s; }
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary:hover, .nav-dropdown[open] > summary { background: #f1f3f8; color: var(--ink); }
.nav-dropdown > summary span { display: inline-block; margin-left: 4px; font-size: .78rem; transition: transform .15s; }
.nav-dropdown[open] > summary span { transform: rotate(180deg); }
.nav-dropdown-menu { position: absolute; z-index: 50; right: 0; top: calc(100% + 8px); min-width: 220px; padding: 8px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 14px 38px #1720331c; }
.nav-dropdown-menu a { display: block; padding: 10px 12px; border-radius: 9px; color: #526079; font-size: .82rem; font-weight: 680; white-space: nowrap; }
.nav-dropdown-menu a:hover, .nav-dropdown-menu a.active { background: var(--soft); color: var(--primary-dark); }
.tool-admin-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.tool-admin-card { padding: 26px; display: flex; flex-direction: column; align-items: flex-start; min-height: 285px; }
.tool-admin-card p { flex: 1; font-size: .88rem; }
.tool-admin-status { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 0; margin: 3px 0 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .79rem; color: var(--muted); }
.tool-admin-status strong { color: var(--ink); }
.app-footer { display: flex; align-items: center; justify-content: center; gap: 15px; color: #808a9c; font-size: .75rem; padding: 24px; border-top: 1px solid var(--line); }
.app-footer > span:first-child { font-weight: 750; color: #646f82; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 12px; background: var(--ink); color: white; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .12em; color: #5967b8; font-size: .68rem; font-weight: 800; margin-bottom: 10px; }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 30px; }
.page-heading p { margin-bottom: 0; font-size: .96rem; max-width: 720px; }
.page-heading > .button { flex-shrink: 0; }
.card { border: 1px solid #e2e7f0; border-radius: 20px; background: white; box-shadow: 0 8px 30px #1b27490a; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.section-heading h2 { margin-bottom: 4px; }
.section-heading p { font-size: .82rem; margin-bottom: 0; }
.section-heading .eyebrow { margin-bottom: 7px; }
.button, button { border: 1px solid transparent; border-radius: 11px; padding: 11px 16px; font-weight: 700; font-size: .85rem; display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #435067; background: #eef2f7; line-height: 1.35; transition: background .15s, box-shadow .15s; }
.button:hover:not(:disabled), button:hover:not(:disabled) { background: #e6ebf3; }
.button.primary { background: var(--primary); color: white; box-shadow: 0 5px 14px #4656d924; }
.button.primary:hover:not(:disabled) { background: var(--primary-dark); }
.button.secondary { background: var(--soft); color: var(--primary-dark); }
.button.secondary:hover:not(:disabled) { background: #e2e7ff; }
.button.ghost { background: white; color: #526079; border-color: #dfe5ee; box-shadow: none; }
.button.ghost:hover:not(:disabled) { background: #f7f8fb; }
.button.full { width: 100%; }
.button.large { padding: 14px 28px; font-size: .95rem; }
.button.compact { padding: 8px 11px; font-size: .75rem; }
.button-row { display: flex; gap: 10px; flex-wrap: wrap; }
.danger-text { color: var(--danger) !important; }
.field { display: flex; flex-direction: column; gap: 8px; color: #4b566b; font-size: .79rem; font-weight: 700; margin: 0 0 20px; min-width: 0; }
input:not([type="radio"]):not([type="checkbox"]), select { display: block; width: 100%; min-width: 0; padding: 12px 13px; border: 1px solid #d8dfeb; border-radius: 11px; background: #fff; color: var(--ink); font-size: .9rem; font-weight: 450; line-height: 1.35; transition: border-color .15s, box-shadow .15s; }
input::placeholder { color: #919bab; }
input[readonly] { background: #f8f9fd; }
input.invalid { border-color: #de817a; }
select { min-height: 44px; }
.validation-errors { margin: 12px 0; padding: 12px 12px 12px 28px; border-radius: 10px; background: #fff2f1; color: var(--danger); font-size: .83rem; }
.alert { border: 1px solid; border-radius: 13px; padding: 14px 17px; font-size: .86rem; margin: 16px 0 22px; }
.alert.danger { background: #fff3f2; border-color: #f4d3cf; color: #a23930; }
.alert.info { background: #eef2ff; border-color: #dce2fd; color: #4f5bb4; }
.notice-box { background: #f0f3ff; border: 1px solid #e0e5fb; color: #505fa0; border-radius: 12px; padding: 15px 17px; line-height: 1.6; font-size: .86rem; margin: 22px 0; }
.form-card { padding: 30px; }
.form-card > p { font-size: .88rem; }
.form-card form { margin-top: 23px; }
.narrow-card { max-width: 680px; }
.form-row { display: grid; grid-template-columns: 1fr 110px; gap: 18px; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .79rem !important; }
.soft-pill, .count-pill { background: #f1f3f9; color: #69748a; border-radius: 999px; padding: 7px 11px; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.count-pill { min-width: 34px; text-align: center; }
.auth-grid { display: grid; grid-template-columns: 1fr 440px; gap: 90px; align-items: center; max-width: 1100px; margin: 35px auto; }
.auth-intro h1 { font-size: clamp(2.8rem, 4.6vw, 4.4rem); line-height: 1.05; margin-bottom: 20px; }
.auth-intro h1 span { color: var(--primary); }
.lead { font-size: 1.08rem; line-height: 1.75; max-width: 510px; }
.auth-card { padding: 36px; }
.auth-card h2 { font-size: 1.75rem; margin: 4px 0 12px; }
.auth-card > p { font-size: .9rem; }
.auth-card form { margin-top: 26px; }
.auth-card .auth-note { margin-top: 24px; margin-bottom: 0; font-size: .76rem; text-align: center; padding-top: 20px; border-top: 1px solid var(--line); }
.journey-card { padding: 23px 27px; background: #172033; border-radius: 20px; margin-top: 28px; box-shadow: 0 16px 34px #17203312; }
.journey-step { display: flex; gap: 15px; align-items: center; margin: 20px 0; }
.journey-step:first-child { margin-top: 0; }
.journey-step:last-child { margin-bottom: 0; }
.journey-step > span { flex-shrink: 0; width: 36px; height: 36px; display: grid; place-items: center; font-size: .73rem; font-weight: 800; border-radius: 11px; background: #ffffff12; color: #c4cbef; }
.journey-step strong, .journey-step small { display: block; }
.journey-step strong { font-size: .91rem; color: white; }
.journey-step small { color: #aeb9d0; font-size: .78rem; line-height: 1.5; margin-top: 3px; }
.invitation-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.85fr); gap: 24px; }
.invitation-guide { padding: 30px; background: linear-gradient(145deg,#fafbff,#eef1ff); }
.invitation-guide .journey-step { margin: 26px 0; }
.invitation-guide .journey-step > span { background: #e2e7ff; color: var(--primary-dark); }
.invitation-guide .journey-step strong { color: var(--ink); }
.invitation-guide .journey-step small { color: var(--muted); }
.guide-note { font-size: .82rem; color: #647194; line-height: 1.65; border-top: 1px solid #dde3fa; padding-top: 18px; }
.link-card { padding: 28px 30px; margin-top: 24px; border-color: #cce3d9; }
.copy-row { display: flex; gap: 12px; }
.copy-row .button { flex-shrink: 0; }
.success-text { color: var(--success); font-size: .83rem; margin: 10px 0 0; }
.filters-card { padding: 24px 26px; margin-bottom: 24px; }
.filters-card h2 { font-size: 1.05rem; }
.filters { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; }
.filters .field { flex: 1 1 135px; margin: 0; }
.filters .filter-participant { flex: 2 1 220px; }
.filters input, .filters select { font-size: .8rem; min-height: 43px; padding: 10px 11px; }
.filters > button { min-height: 43px; }
.results-card { overflow: hidden; }
.results-card > .section-heading { padding: 24px 26px 0; }
.table-scroll { overflow: auto; width: 100%; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th { font-size: .68rem; text-transform: uppercase; letter-spacing: .065em; color: #7a8598; background: #f8f9fc; font-weight: 750; padding: 15px 17px; border-block: 1px solid var(--line); white-space: nowrap; }
td { font-size: .79rem; padding: 18px 17px; color: #657086; border-bottom: 1px solid #edf0f5; vertical-align: middle; }
.results-table td:first-child, .results-table th:first-child { padding-left: 26px; }
.results-table tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fcfcff; }
.participant-name { font-size: .83rem; font-weight: 700; color: var(--ink); display: block; min-width: 140px; }
.status-pill { display: inline-block; white-space: nowrap; border-radius: 999px; padding: 6px 9px; font-size: .68rem; font-weight: 750; background: #fff7de; color: #856312; }
.status-pill.done { background: #e9f6ef; color: #247852; }
.status-pill.progress { background: #eef1ff; color: #5362bb; }
.status-pill.inactive { background: #f0f2f6; color: #758093; }
.score-cell { display: inline-block; border-radius: 7px; min-width: 40px; padding: 5px 7px; font-size: .77rem; font-weight: 750; text-align: center; }
.score-d { background: #fff2f1; color: #a73737; }.score-i { background: #fff8e5; color: #8c650a; }.score-s { background: #eef8f3; color: #2e7559; }.score-c { background: #edf4ff; color: #3468a9; }
.ranking-pill { color: #4e5971; font-size: .78rem; font-weight: 750; white-space: nowrap; }
.row-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; min-width: 110px; }
.actions-menu { border: 0; padding: 0; font-size: .73rem; }
.actions-menu summary { color: #68738a; padding: 8px 2px; cursor: pointer; }
.actions-menu > div { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 6px; }
.actions-menu button { padding: 7px 9px; font-size: .69rem; background: #f2f4f8; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 26px; border-top: 1px solid var(--line); }
.pagination > p { margin: 0; font-size: .78rem; }
.pagination p span { margin-inline: 7px; color: #b7c0cf; }
.empty-state { text-align: center; padding: 50px 24px; }
.empty-state p { font-size: .88rem; margin-bottom: 22px; }
.empty-symbol { width: 52px; height: 52px; background: var(--soft); color: var(--primary); border-radius: 16px; font-size: 2rem; display: grid; place-items: center; margin: 0 auto 18px; }
.confirmation { margin-bottom: 24px; border-color: #e1d3ae; padding: 25px 28px; background: #fffdf8; }
.confirmation p { font-size: .88rem; }.confirmation-name { color: var(--ink); font-weight: 700; }
.confirmation .field { max-width: 400px; }
.specialist-card { display: flex; gap: 18px; align-items: center; padding: 22px 26px; margin-top: 14px; }
.specialist-card > div:nth-child(2) { flex: 1; min-width: 0; }.specialist-card p { margin: 5px 0 0; font-size: .82rem; overflow-wrap: anywhere; }
.person-avatar { width: 42px; height: 42px; flex-shrink: 0; display: grid; place-items: center; background: var(--soft); color: var(--primary-dark); border-radius: 13px; font-weight: 800; text-transform: uppercase; }
.catalog-item { padding: 24px; margin-bottom: 14px; }.catalog-item .button { margin-right: 7px; margin-top: 14px; }
.result-summary { padding: 30px; background: linear-gradient(120deg,#fff,#f4f6ff); }
.result-summary h2 { font-size: 1.7rem; margin-bottom: 8px; }.result-summary p { font-size: .88rem; }
.result-summary h3 { text-transform: uppercase; letter-spacing: .09em; font-size: .67rem; color: #707d9c; margin-top: 25px; }
.result-summary .profile-ranking { font-size: 2.2rem; font-weight: 780; color: var(--primary-dark); letter-spacing: -.045em; margin-bottom: 8px; }
.result-disclaimer { font-size: .8rem; line-height: 1.7; max-width: 1060px; margin: 20px 0 24px; }
.score-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-bottom: 24px; }
.score-tile { border-radius: 17px; padding: 22px; border: 1px solid #00000005; }
.score-tile > div { display: flex; align-items: center; gap: 10px; }.factor-letter { font-weight: 850; font-size: 1rem; }.score-tile small { font-size: .76rem; font-weight: 650; }
.score-tile > strong { display: block; font-size: 2rem; letter-spacing: -.035em; margin-top: 16px; }.score-range { display: block; font-size: .66rem; margin-top: 5px; opacity: .8; }
.disc-d-bg { background: #fff2f1; color: #a73737; }.disc-i-bg { background: #fff8e5; color: #93650a; }.disc-s-bg { background: #eefaf4; color: #2e7559; }.disc-c-bg { background: #edf5ff; color: #3468a9; }
.charts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 20px; }
.chart-card { border: 1px solid var(--line); background: white; border-radius: 20px; padding: 24px; box-shadow: 0 8px 30px #1b274909; break-inside: avoid; min-width: 0; }
.chart-card h3 { font-size: 1rem; }.chart-card svg { width: 100%; height: auto; display: block; font-size: 14px; }.chart-heading { display: flex; align-items: start; justify-content: space-between; gap: 15px; }.chart-scale { font-size: .69rem; color: #5f6b7f; }
.grid-line, .radar-grid, .radar-axis, .guide-line { stroke: #e6e9f0; stroke-width: 1; fill: none; }.guide-line { stroke-dasharray: 4 6; }.profile-line { fill: none; stroke: #46516c; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }.profile-point { stroke: white; stroke-width: 3; }.disc-d { fill: var(--d); }.disc-i { fill: var(--i); }.disc-s { fill: var(--s); }.disc-c { fill: var(--c); }.axis-text { fill: #5f6b7f; font-size: 10px; }.dimension-label { font-size: 17px; font-weight: 900; }.value-label { fill: #4f596d; font-size: 11px; font-weight: 800; }.text-d { fill: var(--d); }.text-i { fill: var(--i); }.text-s { fill: var(--s); }.text-c { fill: var(--c); }.radar-value { fill: #4656d91c; stroke: #4a59d2; stroke-width: 3; stroke-linejoin: round; }.muted { color: var(--muted); font-size: .8rem; }
.numerical-card { padding: 0 24px 18px; margin-top: 24px; }.score-values caption { text-align: left; font-size: 1rem; font-weight: 700; padding: 22px 0 18px; }.score-values th { border-radius: 0; }
.adjectives-section { margin-top: 34px; }.adjectives-section > p { font-size: .83rem; }.adjectives-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }.adjective-card { padding: 25px; }.adjective-card h3 { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 18px; }.descriptor-score { font-size: .82rem; color: var(--primary-dark); background: var(--soft); border-radius: 7px; padding: 4px 8px; }
details { border-bottom: 1px solid #eef1f6; padding: 11px 0; }summary { font-size: .85rem; font-weight: 560; color: #4e5b73; cursor: pointer; }details > p { font-size: .82rem; margin: 10px 0 3px; line-height: 1.7; }
.participant-frame { background: radial-gradient(ellipse at 50% 0,#e9edff 0,transparent 42%),#f5f7fb; }
.participant-main { flex: 1; width: min(980px,calc(100% - 48px)); margin-inline: auto; padding: 32px 0 30px; min-width: 0; }
.participant-brand { display: flex; justify-content: center; padding: 0 0 30px; }.participant-brand .brand-copy small { font-size: .65rem; }.participant-brand .brand-mark { width: 36px; height: 36px; border-radius: 11px; padding: 9px; }
.participant-footer { text-align: center; font-size: .72rem; color: #8893a6; padding: 22px 16px 30px; }
.participant-welcome { padding: 46px; max-width: 740px; margin: 10px auto 0; }.participant-welcome h1 { font-size: clamp(2rem,3.5vw,2.8rem); margin: 7px 0 18px; }.participant-welcome .lead { max-width: 560px; font-size: 1.13rem; margin-bottom: 28px; }.participant-welcome > p { font-size: .91rem; }.participant-welcome .privacy-note { font-size: .79rem; margin-bottom: 26px; }
.privacy-note a { color: var(--primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.participant-facts { display: grid; grid-template-columns: 1fr 1fr 1.4fr; border-block: 1px solid var(--line); padding: 22px 0; margin-bottom: 26px; gap: 15px; }.participant-facts strong { display: block; font-size: 1.3rem; color: #4355b3; letter-spacing: -.025em; }.participant-facts span { display: block; font-size: .74rem; color: #7b869b; margin-top: 5px; }
.participant-heading { margin-bottom: 26px; }.participant-heading h1 { font-size: 2rem; }.participant-heading p { font-size: .92rem; margin-bottom: 0; max-width: 720px; }
.progress-panel { position: sticky; top: 12px; z-index: 10; border: 1px solid #dce2f1; border-radius: 16px; padding: 19px 22px; background: #fffffff5; backdrop-filter: blur(12px); box-shadow: 0 6px 20px #1720330b; display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 28px; }
.progress-copy strong { font-size: .93rem; }.progress-copy span { display: block; font-size: .76rem; margin-top: 5px; color: #7b879d; }.progress-meter { display: flex; align-items: center; gap: 12px; width: 220px; max-width: 100%; }.progress-meter > span { font-size: .8rem; color: var(--primary-dark); font-weight: 750; }
progress { appearance: none; -webkit-appearance: none; height: 7px; width: 100%; border: 0; border-radius: 99px; overflow: hidden; background: #e9edf7; }progress::-webkit-progress-bar { background: #e9edf7; border-radius: 99px; }progress::-webkit-progress-value { background: var(--primary); border-radius: 99px; }progress::-moz-progress-bar { background: var(--primary); border-radius: 99px; }
.question-list { display: grid; gap: 23px; }
.question { position: relative; min-width: 0; margin: 0; padding: 17px 24px 24px; border: 1px solid #e0e6f0; border-radius: 18px; transition: border-color .15s; scroll-margin-top: 140px; }
.question.answered { border-color: #cbd5f3; }
.question legend { max-width: 100%; padding: 0 8px; color: #29364d; font-size: .97rem; font-weight: 670; line-height: 1.6; }
.question-number { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #edf0fa; color: #6575ab; border-radius: 8px; font-size: .74rem; font-weight: 800; margin-right: 10px; vertical-align: middle; }
.response-options { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-top: 5px; }
.answer { display: flex; flex-direction: column; align-items: center; justify-content: start; gap: 11px; margin: 0; padding: 17px 9px; background: #fafbfe; border: 1px solid #e4e8f1; border-radius: 12px; min-width: 0; cursor: pointer; transition: background .15s,border-color .15s; }
.answer > span { font-size: .76rem; line-height: 1.5; text-align: center; color: #64718a; }
.answer:hover { border-color: #b8c2ea; background: #f5f7ff; }.answer.selected { border-color: #7b8bea; background: #eef2ff; box-shadow: 0 0 0 1px #7b8bea22; }.answer.selected > span { color: #4354b9; font-weight: 700; }
.answer input { accent-color: var(--primary); width: 19px; height: 19px; margin: 0; flex-shrink: 0; }.answer:focus-within { outline: 3px solid #8796eaa6; outline-offset: 2px; }
.question:disabled .answer { cursor: wait; }.question:disabled input { opacity: .6; }
.submit-bar { position: sticky; bottom: 14px; z-index: 10; margin-top: 26px; padding: 18px 22px; background: #172033f5; backdrop-filter: blur(12px); border-radius: 17px; box-shadow: 0 14px 36px #17203329; display: flex; justify-content: space-between; align-items: center; gap: 20px; }.submit-bar strong { display: block; color: white; font-size: .92rem; }.submit-bar span { display: block; color: #acb9d0; font-size: .77rem; margin-top: 4px; }.submit-bar > button { flex-shrink: 0; }
.participant-confirmation { margin-top: 26px; margin-bottom: 0; }
.completion-card { max-width: 680px; margin: 35px auto; padding: 52px 40px; text-align: center; }.completion-icon { width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; font-size: 1.7rem; font-weight: 800; background: #e9f7ef; color: #23764f; margin: 0 auto 23px; }.completion-card h1 { font-size: 2.1rem; margin-top: 6px; }.completion-card .completion-note { font-size: .84rem; max-width: 440px; margin: 20px auto 0; }
.participant-state { max-width: 650px; margin: 32px auto; padding: 50px 30px; text-align: center; }.participant-state h1 { font-size: 1.6rem; }.participant-state p { font-size: .9rem; }.loading-ring { width: 30px; height: 30px; border: 3px solid #e2e7fa; border-top-color: var(--primary); border-radius: 50%; animation: spin .9s linear infinite; margin: 0 auto 24px; }@keyframes spin { to { transform: rotate(360deg); } }
.participant-main > h1 { margin-top: 14px; }.participant-main > .card:not(fieldset) > p:last-child { margin-bottom: 0; }
.participant-main > .card:not(.participant-welcome):not(.completion-card):not(.participant-state):not(.participant-confirmation) { padding: 30px; }
@media(max-width:1100px) { .topbar { flex-direction: column; align-items: start; gap: 12px; }.app-nav { width: 100%; }.auth-grid { gap: 40px; grid-template-columns: minmax(0,1fr) 400px; }.results-table { min-width: 1020px; } }
@media(max-width:800px) { .auth-grid { grid-template-columns: 1fr; max-width: 550px; margin-top: 10px; gap: 28px; }.auth-intro h1 { font-size: 2.8rem; }.journey-card { display: none; }.invitation-grid { grid-template-columns: 1fr; }.charts-grid { grid-template-columns: 1fr; }.page-heading { align-items: start; }.response-options { gap: 7px; }.answer { padding: 15px 5px; }.answer > span { font-size: .71rem; }.score-tile { padding: 18px; }.score-tile small { font-size: .68rem; } }
@media(max-width:600px) { .page-shell { width: calc(100% - 28px); }.workspace { padding-top: 28px; }.topbar { padding: 16px 14px; }.app-nav { gap: 3px; }.app-nav > a { padding: 9px 9px; font-size: .75rem; }.app-nav form { margin-left: 0; }.app-footer { flex-direction: column; gap: 6px; }.page-heading { flex-direction: column; gap: 17px; margin-bottom: 25px; }.auth-card { padding: 27px; }.auth-intro h1 { font-size: 2.6rem; }.auth-intro .eyebrow { line-height: 1.6; }.form-card, .invitation-guide, .link-card { padding: 23px; }.form-row { grid-template-columns: minmax(0,1fr) 85px; gap: 12px; }.section-heading { gap: 10px; flex-wrap: wrap; }.filters-card { padding: 20px; }.filters .field { flex: 1 1 calc(50% - 14px); }.filters .filter-participant { flex-basis: 100%; }.filters > button { width: 100%; }.copy-row { flex-direction: column; }.pagination { padding: 17px 20px; flex-wrap: wrap; gap: 12px; }.specialist-card { flex-wrap: wrap; padding: 20px; gap: 13px; }.specialist-card .status-pill { margin-left: 55px; }.specialist-card > button { margin-left: auto; }.result-summary { padding: 25px; }.score-strip { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.score-tile small { font-size: .74rem; }.chart-card { padding: 18px; }.adjectives-grid { grid-template-columns: 1fr; }.participant-main { width: calc(100% - 24px); padding-top: 23px; }.participant-brand { padding-bottom: 22px; }.participant-welcome { padding: 28px 23px; margin-top: 0; }.participant-welcome .lead { font-size: 1rem; }.participant-facts { gap: 10px; }.participant-facts strong { font-size: 1.03rem; }.participant-facts span { font-size: .65rem; }.participant-heading h1 { font-size: 1.7rem; }.progress-panel { flex-direction: column; align-items: stretch; gap: 12px; padding: 15px 17px; top: 8px; }.progress-meter { width: 100%; }.question { padding: 12px 14px 16px; }.question legend { font-size: .9rem; padding: 0 4px; }.question-number { width: 26px; height: 26px; margin-right: 7px; }.response-options { grid-template-columns: 1fr; gap: 7px; margin-top: 4px; }.answer { flex-direction: row; justify-content: start; padding: 13px 14px; gap: 12px; }.answer > span { text-align: left; font-size: .82rem; }.submit-bar { padding: 16px 18px; flex-direction: column; align-items: stretch; bottom: 8px; gap: 13px; }.submit-bar button { width: 100%; }.completion-card { padding: 38px 24px; margin-top: 12px; }.completion-card h1 { font-size: 1.7rem; }.participant-confirmation { padding: 24px; }.participant-confirmation .button-row { flex-direction: column; }.numerical-card { padding-inline: 12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }*, *::before, *::after { animation: none !important; transition: none !important; } }
@media print { body { background: white; color: black; }.topbar, .app-footer, .participant-footer, .skip-link, .no-print, .page-heading > a { display: none !important; }.workspace, .page-shell { width: 100%; padding: 0; max-width: none; }.card, .chart-card { box-shadow: none; break-inside: avoid; }.result-summary { background: white; padding: 20px; }.score-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }.charts-grid { grid-template-columns: 1fr 1fr; }.adjectives-grid { grid-template-columns: 1fr 1fr; }.score-strip, svg { -webkit-print-color-adjust: exact; print-color-adjust: exact; }.chart-card { padding: 12px; }.adjective-card { break-inside: auto; }details { break-inside: avoid; }details p { display: block; }a { color: black; text-decoration: none; }.result-disclaimer { font-size: .75rem; } }

.question-count-row { display: flex; align-items: flex-end; gap: 14px; margin-bottom: 20px; }
.question-count-row .field { flex: 1; margin-bottom: 0; max-width: 280px; }
.questionnaire-category { margin-bottom: 8px; color: var(--primary-dark); background: var(--soft); }
.invitation-length { font-weight: 700; color: var(--primary-dark); }


/* v1.5.0 — ReportVisualHierarchyRedesign */
.report-page-heading { margin-bottom: 24px; }
.report-hero { padding: 30px; overflow: hidden; }
.report-hero-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 24px; }
.report-identity { min-width: 0; }
.report-identity .eyebrow { margin-bottom: 8px; }
.report-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.report-title-row h2 { margin: 0; font-size: clamp(1.65rem,2.6vw,2.15rem); letter-spacing: -.04em; }
.report-identity > p { margin: 7px 0 0; font-size: .82rem; }
.report-facts { display: grid; grid-template-columns: 1.05fr 1.2fr .9fr 1.05fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.report-fact { min-width: 0; padding: 19px 20px 19px 0; }
.report-fact + .report-fact { border-left: 1px solid var(--line); padding-left: 20px; }
.report-fact > span, .report-fact > strong, .report-fact > small { display: block; }
.report-fact > span { color: #7b8597; text-transform: uppercase; letter-spacing: .075em; font-size: .61rem; font-weight: 800; margin-bottom: 7px; }
.report-fact > strong { color: #2b3548; font-size: .9rem; line-height: 1.35; overflow-wrap: anywhere; }
.report-fact > small { color: #8b95a6; font-size: .68rem; line-height: 1.4; margin-top: 4px; overflow-wrap: anywhere; }
.report-fact-primary > strong { color: var(--primary-dark); font-size: 1.05rem; }
.report-factor-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; padding-top: 23px; }
.report-factor { min-width: 0; }
.report-factor-heading { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: baseline; gap: 8px; color: #5e687b; }
.report-factor-heading .factor-letter { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; font-size: .74rem; }
.report-factor-heading > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; font-weight: 670; }
.report-factor-heading > strong { color: #2f394d; font-size: .92rem; font-variant-numeric: tabular-nums; }
.report-factor-meter { height: 5px; margin-top: 10px; background: #edf0f5; border-radius: 999px; overflow: hidden; }
.report-factor-meter > span { display: block; height: 100%; border-radius: inherit; }
.report-factor-d .factor-letter { color: #a73737; background: #fff1f0; }.report-factor-d .report-factor-meter > span { background: var(--d); }
.report-factor-i .factor-letter { color: #8c650a; background: #fff7df; }.report-factor-i .report-factor-meter > span { background: var(--i); }
.report-factor-s .factor-letter { color: #2e7559; background: #edf8f2; }.report-factor-s .report-factor-meter > span { background: var(--s); }
.report-factor-c .factor-letter { color: #3468a9; background: #edf4ff; }.report-factor-c .report-factor-meter > span { background: var(--c); }
.result-disclaimer { max-width: none; margin: 16px 4px 26px; padding-left: 12px; border-left: 2px solid #ccd3e2; font-size: .75rem; line-height: 1.65; }
.report-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(320px,.75fr); gap: 22px; align-items: start; }
.report-primary, .report-sidebar { display: grid; gap: 20px; min-width: 0; }
.report-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 2px 2px -2px; }
.report-section-heading .eyebrow { margin-bottom: 6px; }
.report-section-heading h2 { margin-bottom: 5px; font-size: 1.2rem; }
.report-section-heading p { margin: 0; font-size: .8rem; }
.report-primary > .chart-card { margin: 0; padding: 27px; }
.report-primary > .chart-card h3 { font-size: 1.08rem; }
.report-sidebar > .chart-card { margin: 0; padding: 22px; }
.report-sidebar > .chart-card h3 { font-size: .95rem; }
.report-summary-card { padding: 25px; box-shadow: none; }
.report-summary-card .eyebrow { margin-bottom: 7px; }
.report-summary-card h2 { margin-bottom: 17px; font-size: .93rem; color: #525e72; font-weight: 690; }
.report-profile-code { color: var(--primary-dark); font-size: clamp(2rem,4vw,2.75rem); font-weight: 820; letter-spacing: -.055em; line-height: 1; }
.report-profile-labels { margin: 9px 0 22px; color: #69758a; font-size: .78rem; line-height: 1.55; }
.report-summary-list { margin: 0; border-top: 1px solid var(--line); }
.report-summary-list > div { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.report-summary-list dt { color: #7b8598; font-size: .68rem; }
.report-summary-list dd { margin: 0; color: #344056; font-size: .72rem; font-weight: 720; text-align: right; overflow-wrap: anywhere; }
.report-summary-note { margin: 17px 0 0; font-size: .72rem; line-height: 1.6; }
.report-numerical-card { margin-top: 0; box-shadow: none; }
.report-numerical-card .score-values td { font-variant-numeric: tabular-nums; }
.report-descriptors-heading { margin-top: 36px; margin-bottom: -13px; }
.report-descriptors-heading + .adjectives-section { margin-top: 30px; }

@media(max-width:1000px) {
    .report-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .report-fact:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
    .report-fact:nth-child(4) { border-top: 1px solid var(--line); }
    .report-layout { grid-template-columns: minmax(0,1.35fr) minmax(280px,.8fr); }
}
@media(max-width:800px) {
    .report-layout { grid-template-columns: 1fr; }
    .report-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
    .report-factor-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
    .report-hero { padding: 22px; }
    .report-hero-top { flex-direction: column; gap: 16px; padding-bottom: 20px; }
    .report-hero-top .button { width: 100%; }
    .report-facts { grid-template-columns: 1fr; }
    .report-fact { padding: 15px 0; }
    .report-fact + .report-fact, .report-fact:nth-child(3), .report-fact:nth-child(4) { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
    .report-factor-strip { gap: 15px 12px; }
    .report-factor-heading { grid-template-columns: auto 1fr; }
    .report-factor-heading > strong { grid-column: 2; font-size: .84rem; }
    .report-sidebar { grid-template-columns: 1fr; }
    .report-section-heading { align-items: start; }
    .report-primary > .chart-card, .report-sidebar > .chart-card { padding: 18px; }
    .report-summary-card { padding: 21px; }
    .report-descriptors-heading { margin-top: 30px; }
}
@media print {
    .report-page-heading { display: none; }
    .report-hero { padding: 16px 18px; border-radius: 10px; }
    .report-hero-top { padding-bottom: 14px; }
    .report-facts { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .report-fact { padding: 12px 10px 12px 0; }
    .report-fact + .report-fact { border-left: 1px solid #d9dde5; border-top: 0; padding-left: 10px; }
    .report-factor-strip { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding-top: 14px; }
    .report-layout { grid-template-columns: minmax(0,1.6fr) minmax(250px,.75fr); gap: 14px; }
    .report-primary, .report-sidebar { gap: 12px; }
    .report-primary > .chart-card, .report-sidebar > .chart-card { padding: 10px; }
    .report-summary-card { padding: 15px; }
    .report-summary-note { font-size: .65rem; }
    .report-descriptors-heading { margin-top: 20px; }
    .report-factor-strip, .report-factor-meter, .status-pill { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v1.6.0 — EightTendencyRadar */
.report-tendencies { margin-top: 36px; }
.report-tendency-heading { margin-bottom: 16px; }
.report-tendency-heading p { max-width: 820px; }
.tendency-radar-card { padding: 28px; overflow: hidden; }
.tendency-radar-heading { gap: 24px; }
.tendency-radar-heading p { max-width: 760px; margin: 5px 0 0; font-size: .78rem; line-height: 1.6; }
.tendency-radar-key { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin: 17px 0 3px; color: #727d91; font-size: .7rem; font-weight: 680; }
.tendency-radar-key span { display: inline-flex; align-items: center; gap: 7px; }
.tendency-radar-key i { width: 9px; height: 9px; border-radius: 999px; display: inline-block; }
.tendency-key-base { background: #8a96aa; }
.tendency-key-composite { background: var(--primary); }
.tendency-radar { width: min(100%, 900px); height: auto; display: block; margin: 0 auto; overflow: visible; }
.tendency-radar-grid { fill: none; stroke: #e4e8ef; stroke-width: 1; }
.tendency-radar-grid:nth-of-type(3) { stroke: #d5dbe7; }
.tendency-radar-axis { stroke: #e5e9f0; stroke-width: 1; }
.tendency-radar-value { fill: #4656d917; stroke: #4656d9; stroke-width: 3; stroke-linejoin: round; }
.tendency-radar-point { stroke: white; stroke-width: 3; }
.tendency-radar-point-composite { fill: var(--primary); }
.tendency-axis-label text { fill: #4b566b; font-size: 12px; }
.tendency-axis-key { fill: #2f394d; font-size: 13px; font-weight: 850; }
.tendency-axis-copy { fill: #5f6b7f; font-size: 11px; font-weight: 620; }
.tendency-radar-note { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; max-width: 930px; margin: 2px auto 22px; padding: 13px 15px; border: 1px solid #e5e9f3; border-radius: 12px; background: #fafbfe; color: #667185; font-size: .73rem; line-height: 1.55; }
.tendency-radar-note strong { color: #414c61; white-space: nowrap; }
.tendency-radar-note code { font-size: .72rem; color: #4856b7; background: #eef1ff; border-radius: 5px; padding: 1px 5px; }
.tendency-combination-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 6px; }
.tendency-combination { min-width: 0; border: 1px solid #e3e7ef; border-radius: 14px; padding: 15px 16px; background: #fff; }
.tendency-combination-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.tendency-combination-top span { color: var(--primary-dark); font-size: .75rem; font-weight: 850; }
.tendency-combination-top strong { color: #293449; font-size: 1.08rem; font-variant-numeric: tabular-nums; }
.tendency-combination p { color: #48546a; font-size: .74rem; font-weight: 700; line-height: 1.4; margin: 8px 0 7px; }
.tendency-combination small { color: #8993a5; font-size: .66rem; }

@media(max-width:800px) {
    .report-tendencies { margin-top: 30px; }
    .tendency-radar-card { padding: 22px; }
    .tendency-combination-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
    .tendency-radar-card { padding: 18px 14px; }
    .tendency-radar-heading { display: block; }
    .tendency-radar-heading .chart-scale { display: inline-block; margin-top: 6px; }
    .tendency-radar-key { gap: 12px; margin-top: 15px; }
    .tendency-radar { margin-top: 4px; }
    .tendency-radar-note { grid-template-columns: 1fr; gap: 3px; margin: 0 2px 18px; }
    .tendency-combination-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .tendency-combination { padding: 13px; }
    .tendency-combination p { min-height: 2.1em; }
}
@media(max-width:420px) {
    .tendency-combination-grid { grid-template-columns: 1fr; }
    .tendency-combination p { min-height: 0; }
}
@media print {
    .report-tendencies { margin-top: 20px; break-inside: avoid; }
    .tendency-radar-card { padding: 12px; box-shadow: none; break-inside: avoid; }
    .tendency-radar { width: 82%; max-height: 430px; }
    .tendency-radar-note { margin-bottom: 10px; padding: 8px 10px; }
    .tendency-combination-grid { gap: 7px; }
    .tendency-combination { padding: 8px 10px; border-radius: 8px; }
    .tendency-radar-value, .tendency-radar-point, .tendency-key-base, .tendency-key-composite { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v1.7.0 — HighLowFactorContinuums */
.report-poles { margin-top: 40px; }
.report-poles-heading { margin-bottom: 17px; }
.report-poles-heading p { max-width: 850px; }
.factor-poles-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.factor-pole-card { --pole-accent: var(--primary); padding: 24px; box-shadow: none; min-width: 0; }
.factor-pole-d { --pole-accent: var(--d); }
.factor-pole-i { --pole-accent: var(--i); }
.factor-pole-s { --pole-accent: var(--s); }
.factor-pole-c { --pole-accent: var(--c); }
.factor-pole-header { display: flex; justify-content: space-between; align-items: start; gap: 18px; margin-bottom: 22px; }
.factor-pole-header .eyebrow { margin-bottom: 7px; }
.factor-pole-header h3 { margin: 0; color: #2e394d; font-size: 1.05rem; letter-spacing: -.02em; }
.factor-pole-zone { flex: none; padding: 5px 9px; border: 1px solid #e2e6ee; border-radius: 999px; background: #fafbfc; color: #69758a; font-size: .63rem; font-weight: 780; white-space: nowrap; }
.factor-pole-continuum { margin-bottom: 22px; }
.factor-pole-values { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 10px; color: #778296; font-size: .67rem; }
.factor-pole-values > span:last-child { text-align: right; }
.factor-pole-values strong { color: #364157; font-size: .82rem; font-variant-numeric: tabular-nums; }
.factor-pole-center { color: #a0a8b5; font-size: .61rem; text-align: center; }
.factor-pole-track { position: relative; height: 12px; margin-top: 8px; border: 1px solid #dfe4ec; border-radius: 999px; background: #f3f5f8; }
.factor-pole-half { position: absolute; top: 0; bottom: 0; width: 50%; opacity: .22; }
.factor-pole-half-low { left: 0; border-radius: 999px 0 0 999px; background: #98a1b1; }
.factor-pole-half-high { right: 0; border-radius: 0 999px 999px 0; background: var(--pole-accent); }
.factor-pole-midpoint { position: absolute; left: 50%; top: -4px; width: 1px; height: 20px; background: #98a1af; transform: translateX(-50%); }
.factor-pole-marker { position: absolute; top: 50%; width: 17px; height: 17px; border: 3px solid white; border-radius: 999px; background: var(--pole-accent); box-shadow: 0 0 0 1px #cbd2de, 0 2px 5px #25304826; transform: translate(-50%,-50%); }
.factor-pole-intensity { display: flex; justify-content: space-between; gap: 12px; margin-top: 9px; color: #7b8699; font-size: .67rem; }
.factor-pole-intensity strong { color: #465268; font-variant-numeric: tabular-nums; }
.factor-pole-reading { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(180px,.8fr); gap: 14px; }
.factor-pole-salient, .factor-pole-counterpart, .factor-pole-balanced { min-width: 0; }
.factor-pole-caption { display: block; color: #8993a5; text-transform: uppercase; letter-spacing: .07em; font-size: .58rem; font-weight: 800; margin-bottom: 6px; }
.factor-pole-salient h4, .factor-pole-counterpart h4, .factor-pole-balanced h4 { margin: 0 0 8px; color: #354056; font-size: .87rem; line-height: 1.35; }
.factor-pole-salient > p, .factor-pole-counterpart > p, .factor-pole-balanced p { margin: 9px 0 0; color: #647084; font-size: .72rem; line-height: 1.6; }
.factor-pole-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.factor-pole-tags span { padding: 4px 7px; border-radius: 7px; background: #f4f6fa; color: #59657a; font-size: .62rem; font-weight: 700; }
.factor-pole-details { margin: 15px 0 0; border-top: 1px solid #e7eaf0; }
.factor-pole-details > div { padding: 10px 0; border-bottom: 1px solid #e7eaf0; }
.factor-pole-details dt { color: #7c8799; font-size: .61rem; font-weight: 800; }
.factor-pole-details dd { margin: 4px 0 0; color: #515d72; font-size: .68rem; line-height: 1.52; }
.factor-pole-counterpart { align-self: start; padding: 14px; border: 1px solid #e5e8ef; border-radius: 12px; background: #fafbfc; }
.factor-pole-counterpart small { display: block; margin-top: 10px; color: #8a94a5; font-size: .62rem; line-height: 1.5; }
.factor-pole-question { margin-top: 15px; padding: 11px 13px; border-left: 2px solid var(--pole-accent); background: #fafbfe; }
.factor-pole-question span { color: #7d889b; text-transform: uppercase; letter-spacing: .06em; font-size: .57rem; font-weight: 800; }
.factor-pole-question p { margin: 4px 0 0; color: #4f5b70; font-size: .7rem; line-height: 1.52; }
.factor-pole-balanced > p { margin-top: 0; }
.factor-pole-balanced-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.factor-pole-balanced-columns > section { padding: 14px; border: 1px solid #e6e9ef; border-radius: 12px; background: #fafbfc; }
.factor-poles-method-note { margin: 14px 3px 0; padding-left: 11px; border-left: 2px solid #d4dae5; color: #7a8598; font-size: .68rem; line-height: 1.6; }

@media(max-width:900px) {
    .factor-poles-grid { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
    .report-poles { margin-top: 30px; }
    .factor-pole-card { padding: 20px 17px; }
    .factor-pole-header { flex-direction: column; gap: 8px; margin-bottom: 18px; }
    .factor-pole-reading { grid-template-columns: 1fr; }
    .factor-pole-balanced-columns { grid-template-columns: 1fr; }
    .factor-pole-values { grid-template-columns: 1fr auto 1fr; font-size: .61rem; }
}
@media(max-width:420px) {
    .factor-pole-values strong { display: block; }
    .factor-pole-values > span:last-child strong { text-align: right; }
}
@media print {
    .report-poles { break-before: page; margin-top: 0; }
    .factor-poles-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .factor-pole-card { padding: 12px; break-inside: avoid; }
    .factor-pole-header { margin-bottom: 13px; }
    .factor-pole-reading { grid-template-columns: minmax(0,1.35fr) minmax(150px,.75fr); gap: 9px; }
    .factor-pole-counterpart, .factor-pole-balanced-columns > section { padding: 9px; }
    .factor-pole-question { padding: 7px 9px; margin-top: 9px; }
    .factor-pole-track, .factor-pole-marker, .factor-pole-half, .factor-pole-question { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v1.8.0 — SpecialistBehavioralInsights */
.report-interview-insights { margin-top: 40px; }
.interview-insights-heading { margin-bottom: 17px; }
.interview-insights-heading p { max-width: 900px; }
.interview-evidence-card { padding: 22px 24px; box-shadow: none; background: linear-gradient(135deg,#fbfcff,#f3f5ff); }
.interview-evidence-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.interview-evidence-top > div { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.interview-evidence-label { color: #7c8799; text-transform: uppercase; letter-spacing: .075em; font-size: .59rem; font-weight: 820; }
.interview-evidence-top strong { color: var(--primary-dark); font-size: .9rem; }
.interview-version { color: #7f899b; font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: .61rem; }
.interview-evidence-card > p { margin: 12px 0 0; max-width: 1000px; color: #616d82; font-size: .74rem; line-height: 1.62; }
.interview-composition { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin-top: 15px; padding-top: 13px; border-top: 1px solid #dfe4f1; font-size: .69rem; line-height: 1.55; }
.interview-composition strong { color: #4a5569; white-space: nowrap; }
.interview-composition span { color: #737e91; }
.interview-context-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 16px; }
.interview-context-card { min-width: 0; padding: 22px; box-shadow: none; }
.interview-context-card h3 { margin: 0 0 13px; color: #303b50; font-size: .95rem; letter-spacing: -.015em; }
.interview-context-card ul, .interview-contribution-card ul, .interview-watchout-card ul, .interview-questions-card ol { margin: 0; padding-left: 19px; }
.interview-context-card li, .interview-contribution-card li, .interview-watchout-card li, .interview-questions-card li { color: #5b667b; font-size: .73rem; line-height: 1.62; }
.interview-context-card li + li, .interview-contribution-card li + li, .interview-watchout-card li + li, .interview-questions-card li + li { margin-top: 9px; }
.interview-context-card::before { content: ""; display: block; width: 34px; height: 3px; margin-bottom: 13px; border-radius: 999px; background: #8a94a6; }
.interview-context-decision::before { background: var(--d); }
.interview-context-communication::before { background: var(--i); }
.interview-context-pace-change::before { background: var(--s); }
.interview-context-rules-details::before { background: var(--c); }
.interview-evaluation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.interview-contribution-card, .interview-watchout-card { padding: 23px; box-shadow: none; }
.interview-contribution-card { border-color: #d9e9e1; background: #fbfefc; }
.interview-watchout-card { border-color: #eee3d7; background: #fffdfa; }
.interview-contribution-card .eyebrow { color: #33795d; }
.interview-watchout-card .eyebrow { color: #8a672b; }
.interview-contribution-card h3, .interview-watchout-card h3 { margin: 0 0 14px; color: #354056; font-size: .96rem; }
.interview-contribution-card > p, .interview-watchout-card > p { margin: 0; font-size: .73rem; line-height: 1.6; }
.interview-questions-card { margin-top: 16px; padding: 24px; box-shadow: none; }
.interview-questions-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.interview-questions-heading .eyebrow { margin-bottom: 6px; }
.interview-questions-heading h3 { margin: 0; color: #303b50; font-size: 1rem; }
.interview-questions-heading > span { flex: none; padding: 5px 9px; border-radius: 999px; background: var(--soft); color: var(--primary-dark); font-size: .63rem; font-weight: 800; }
.interview-questions-card ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px 26px; counter-reset: interview-question; list-style: none; padding: 0; }
.interview-questions-card li { position: relative; min-width: 0; padding: 11px 12px 11px 39px; border: 1px solid #e5e9f0; border-radius: 11px; background: #fafbfc; }
.interview-questions-card li::before { counter-increment: interview-question; content: counter(interview-question); position: absolute; left: 11px; top: 11px; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; background: #edf0ff; color: var(--primary-dark); font-size: .61rem; font-weight: 850; }
.interview-method-note { margin: 13px 3px 0; padding-left: 11px; border-left: 2px solid #d4dae5; color: #7a8598; font-size: .68rem; line-height: 1.6; }

@media(max-width:800px) {
    .interview-context-grid, .interview-evaluation-grid { grid-template-columns: 1fr; }
    .interview-questions-card ol { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
    .report-interview-insights { margin-top: 30px; }
    .interview-evidence-card, .interview-context-card, .interview-contribution-card, .interview-watchout-card, .interview-questions-card { padding: 18px 16px; }
    .interview-evidence-top, .interview-questions-heading { flex-direction: column; gap: 8px; }
    .interview-composition { grid-template-columns: 1fr; gap: 4px; }
}
@media print {
    .report-interview-insights { margin-top: 20px; }
    .interview-evidence-card, .interview-context-card, .interview-contribution-card, .interview-watchout-card, .interview-questions-card { padding: 11px 12px; break-inside: avoid; box-shadow: none; }
    .interview-context-grid, .interview-evaluation-grid { gap: 9px; }
    .interview-context-card li, .interview-contribution-card li, .interview-watchout-card li, .interview-questions-card li { font-size: .64rem; line-height: 1.45; }
    .interview-questions-card ol { gap: 7px 12px; }
    .interview-questions-card li { padding: 7px 8px 7px 31px; }
    .interview-questions-card li::before { left: 7px; top: 7px; }
    .interview-evidence-card, .interview-contribution-card, .interview-watchout-card, .interview-context-card::before, .interview-questions-card li::before { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v1.9.0 — ReportPresentationAndRegressionCertification */
:root {
    /* Unified factor palette: matches ChartPalette and improves contrast on white. */
    --d: #b42335;
    --i: #a66900;
    --s: #138365;
    --c: #2457b3;
}

/* Report typography and section hierarchy */
.report-page-heading h1,
.report-identity h2,
.report-section-heading h2,
.report-methodology h2,
.chart-card h3 { text-wrap: balance; }
.report-page-heading p,
.report-section-heading p,
.report-methodology p { text-wrap: pretty; }
.report-section-heading[data-section] {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    align-items: start;
    justify-content: initial;
    gap: 14px;
    margin-top: 0;
}
.report-section-heading[data-section]::before {
    content: attr(data-section);
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid #d9deea;
    border-radius: 11px;
    background: #f7f8fc;
    color: #4656a8;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .04em;
    line-height: 1;
}
.report-section-heading[data-section] > div { min-width: 0; }
.report-descriptors-section { margin-top: 40px; }
.report-descriptors-heading { margin: 0 2px 17px; }
.report-descriptors-heading + .adjectives-grid { margin-top: 0; }

/* Report-specific contrast floor for small supporting copy. */
.report-fact > span,
.report-fact > small,
.report-summary-list dt,
.report-summary-note,
.tendency-radar-key,
.tendency-combination small,
.factor-pole-values,
.factor-pole-center,
.factor-pole-intensity,
.factor-pole-caption,
.factor-pole-counterpart small,
.factor-pole-question span,
.factor-poles-method-note,
.interview-evidence-label,
.interview-version,
.interview-composition span,
.interview-method-note { color: #5f6b7f; }
.report-factor-heading { color: #536075; }
.factor-pole-zone { color: #536075; }

/* Graphics keep readable physical size on narrow screens without causing page overflow. */
.disc-chart,
.disc-quadrant-chart { width: 100%; height: auto; display: block; }
.tendency-radar-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.tendency-radar-scroll:focus-visible { outline: 3px solid #8290ee; outline-offset: 3px; border-radius: 10px; }

/* Final methodology appendix */
.report-methodology {
    margin-top: 40px;
    padding: 28px;
    border: 1px solid #dfe4ee;
    border-radius: 18px;
    background: #fbfcfe;
}
.report-methodology-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid #e3e7ef; }
.report-methodology-heading .eyebrow { margin-bottom: 7px; }
.report-methodology-heading h2 { margin: 0; max-width: 760px; font-size: 1.1rem; line-height: 1.35; }
.report-methodology-badge { flex: none; padding: 6px 9px; border: 1px solid #dbe1eb; border-radius: 999px; background: #fff; color: #526078; font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: .62rem; font-weight: 700; }
.report-methodology-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; }
.report-methodology-grid > section { min-width: 0; padding: 20px 0; border-bottom: 1px solid #e6e9ef; }
.report-methodology-grid h3 { margin: 0 0 8px; color: #303b50; font-size: .86rem; }
.report-methodology-grid p { margin: 0; color: #5b677b; font-size: .72rem; line-height: 1.58; }
.report-methodology-grid p + p { margin-top: 8px; }
.report-formula code { display: inline-block; padding: 4px 7px; border-radius: 6px; background: #eef1ff; color: #3443a2; font-size: .7rem; font-weight: 700; }
.report-methodology-meta { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 20px 0 0; border: 1px solid #e1e5ed; border-radius: 12px; background: #fff; overflow: hidden; }
.report-methodology-meta > div { min-width: 0; padding: 12px 13px; }
.report-methodology-meta > div + div { border-left: 1px solid #e1e5ed; }
.report-methodology-meta dt { color: #5f6b7f; font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.report-methodology-meta dd { margin: 5px 0 0; color: #344056; font-size: .67rem; font-weight: 700; overflow-wrap: anywhere; }

@media(min-width:1360px) {
    .report-layout { grid-template-columns: minmax(0,1.75fr) minmax(330px,.72fr); gap: 26px; }
    .report-hero { padding: 34px; }
    .report-primary > .chart-card { padding: 30px; }
    .tendency-radar-card { padding-inline: 32px; }
}

@media(max-width:600px) {
    .report-section-heading[data-section] { grid-template-columns: 32px minmax(0,1fr); gap: 10px; }
    .report-section-heading[data-section]::before { width: 29px; height: 29px; border-radius: 9px; font-size: .62rem; }
    .report-descriptors-section { margin-top: 30px; }
    .tendency-radar-scroll { margin-inline: -4px; padding-inline: 4px; }
    .tendency-radar { width: 620px; min-width: 620px; max-width: none; }
    .report-methodology { margin-top: 30px; padding: 20px 17px; }
    .report-methodology-heading { flex-direction: column; gap: 10px; }
    .report-methodology-grid { grid-template-columns: 1fr; }
    .report-methodology-meta { grid-template-columns: 1fr 1fr; }
    .report-methodology-meta > div + div { border-left: 0; }
    .report-methodology-meta > div:nth-child(even) { border-left: 1px solid #e1e5ed; }
    .report-methodology-meta > div:nth-child(n+3) { border-top: 1px solid #e1e5ed; }
}

@media(max-width:420px) {
    .report-methodology-meta { grid-template-columns: 1fr; }
    .report-methodology-meta > div:nth-child(even) { border-left: 0; }
    .report-methodology-meta > div + div { border-top: 1px solid #e1e5ed; }
}

@page { size: A4; margin: 13mm 11mm 15mm; }
@media print {
    html, body { background: #fff !important; }
    body { font-size: 9.5pt; }
    .workspace { padding: 0 !important; }
    .page-shell { width: 100% !important; max-width: none !important; margin: 0 !important; }
    .report-hero { border-color: #cfd5df; }
    .report-hero-top { align-items: center; }
    .report-title-row h2 { font-size: 17pt; }
    .report-identity > p { font-size: 7.5pt; }
    .report-fact > span, .report-fact > small { color: #4f596b !important; }
    .report-fact > strong { font-size: 7.7pt; }
    .report-factor-heading > span:nth-child(2) { font-size: 6.5pt; }
    .report-factor-heading > strong { font-size: 7.5pt; }
    .result-disclaimer { margin: 8px 2px 14px; font-size: 6.8pt; line-height: 1.45; }
    .report-section-heading { break-after: avoid; page-break-after: avoid; }
    .report-section-heading[data-section] { grid-template-columns: 27px minmax(0,1fr); gap: 8px; margin-bottom: 7px; }
    .report-section-heading[data-section]::before { width: 24px; height: 24px; border-radius: 6px; font-size: 6.5pt; }
    .report-section-heading h2 { font-size: 10pt; }
    .report-section-heading p { font-size: 6.7pt; line-height: 1.4; }
    .chart-card, .report-summary-card, .report-numerical-card, .interview-evidence-card, .interview-context-card, .interview-contribution-card, .interview-watchout-card, .interview-questions-card, .factor-pole-card { break-inside: avoid; page-break-inside: avoid; }
    svg { max-width: 100% !important; height: auto !important; break-inside: avoid; page-break-inside: avoid; }
    .tendency-radar-scroll { overflow: visible; }
    .tendency-radar { width: 78% !important; min-width: 0 !important; max-width: 78% !important; margin-inline: auto; }
    .report-tendencies { break-inside: auto; }
    .report-descriptors-section { margin-top: 18px; }
    .adjectives-section h2 { font-size: 10pt; }
    .adjectives-section > p { font-size: 6.7pt; }
    details { break-inside: avoid; page-break-inside: avoid; }
    details summary { font-size: 6.5pt; }
    details p { font-size: 6.3pt; line-height: 1.35; }
    .report-poles { break-before: page; page-break-before: always; }
    .report-methodology { break-before: page; page-break-before: always; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; }
    .report-methodology-heading { padding-bottom: 10px; }
    .report-methodology-heading h2 { font-size: 12pt; }
    .report-methodology-grid { gap: 0 18px; }
    .report-methodology-grid > section { padding: 12px 0; }
    .report-methodology-grid h3 { font-size: 8pt; }
    .report-methodology-grid p { font-size: 6.7pt; line-height: 1.45; }
    .report-methodology-meta { margin-top: 12px; }
    .report-methodology-meta dt { font-size: 5.7pt; }
    .report-methodology-meta dd { font-size: 6.2pt; }
    .report-methodology-badge,
    .report-factor-meter > span,
    .report-section-heading[data-section]::before,
    .report-formula code { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v1.9.1 — Razor compilation hotfix; no visual changes. */

/* v2.0.0 — portal domain foundation; no broad visual redesign. */

/* v2.1.0 — UnifiedPeopleAndCompaniesManagement */
.portal-editor-card { padding: 28px 30px; margin-bottom: 24px; }
.portal-editor-card form { margin-top: 12px; }
.portal-form-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 16px; }
.portal-form-grid .field { margin-bottom: 18px; }
.portal-form-grid .span-2 { grid-column: span 2; }
.portal-fieldset { margin: 6px 0 22px; padding: 20px 20px 2px; border: 1px solid #e1e6ef; border-radius: 14px; background: #fafbfe; }
.portal-fieldset legend { padding: 0 7px; color: #536078; font-size: .75rem; font-weight: 800; letter-spacing: .03em; }
.portal-fieldset > p { margin: -2px 0 16px; font-size: .8rem; }
.credential-fieldset { background: #f7f8ff; border-color: #dde2fb; }
.people-filters .filter-participant, .company-filters .filter-participant { min-width: 220px; }
.check-field { display: flex; align-items: center; gap: 9px; min-height: 43px; margin: 0; color: #4b566b; font-size: .79rem; font-weight: 700; }
.check-field input[type="checkbox"] { width: 17px; height: 17px; margin: 0; accent-color: var(--primary); }
.table-subline { display: block; margin-top: 4px; color: #7a8598; font-size: .7rem; font-weight: 500; }
.people-table td, .companies-table td { vertical-align: middle; }
.people-table td:first-child { min-width: 190px; }
.people-table td:nth-child(3) { min-width: 145px; }
.people-table td:nth-child(5) { min-width: 145px; }
.companies-table td:first-child { min-width: 210px; }
.people-table .row-actions, .companies-table .row-actions { min-width: max-content; }

@media(max-width:900px) {
    .portal-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .portal-form-grid .span-2 { grid-column: span 2; }
}
@media(max-width:600px) {
    .portal-editor-card { padding: 21px 17px; }
    .portal-form-grid { grid-template-columns: 1fr; gap: 0; }
    .portal-form-grid .span-2 { grid-column: span 1; }
    .portal-fieldset { padding: 17px 14px 0; }
}

/* v2.2.0 — PersonOwnershipSharingAndLifecycle */
.lifecycle-card { margin-bottom: 24px; padding: 28px 30px; border-color: #d9e1f0; }
.lifecycle-card .section-heading > div > p { max-width: 820px; margin: 7px 0 0; }
.lifecycle-summary-grid { display: grid; grid-template-columns: 2fr repeat(4,minmax(90px,1fr)); gap: 10px; margin: 18px 0 22px; }
.lifecycle-summary-grid > div { padding: 14px 15px; border: 1px solid #e4e8f0; border-radius: 12px; background: #fafbfe; }
.lifecycle-summary-grid span { display: block; color: #7b8596; font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lifecycle-summary-grid strong { display: block; margin-top: 5px; color: var(--ink); font-size: .85rem; line-height: 1.35; }
.lifecycle-management-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; }
.lifecycle-action-panel, .lifecycle-grants-panel { padding: 20px; border: 1px solid #e1e6ef; border-radius: 14px; background: #fafbfe; }
.lifecycle-action-panel .field { margin: 10px 0 14px; }
.lifecycle-action-panel > small { display: block; margin-top: 11px; color: #717c90; line-height: 1.45; }
.grant-list { display: grid; gap: 9px; margin-top: 11px; }
.grant-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 12px; border: 1px solid #e2e7f0; border-radius: 10px; background: #fff; }
.grant-row strong { display: block; font-size: .82rem; }
.grant-row small { display: block; margin-top: 3px; color: #7a8496; font-size: .68rem; }
.muted-note { margin: 12px 0 0; color: #7a8496; font-size: .8rem; }
.lifecycle-danger-zone, .lifecycle-archive-note { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 18px; padding: 17px 18px; border: 1px solid #efcfca; border-radius: 13px; background: #fff9f8; }
.lifecycle-archive-note { border-color: #d9e1f0; background: #f7f9fd; }
.lifecycle-danger-zone strong, .lifecycle-archive-note strong { display: block; color: var(--ink); font-size: .84rem; }
.lifecycle-danger-zone p, .lifecycle-archive-note p { margin: 5px 0 0; max-width: 720px; font-size: .76rem; line-height: 1.5; }
.lifecycle-confirmation { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: 18px; padding: 17px 18px; border: 1px solid #e5d6ae; border-radius: 13px; background: #fffdf7; }
.lifecycle-confirmation strong { display: block; margin-top: 3px; color: var(--ink); }
.lifecycle-confirmation p { margin: 5px 0 0; max-width: 760px; font-size: .76rem; line-height: 1.5; }
.access-badge { display: inline-block; margin-top: 7px; padding: 3px 7px; border-radius: 999px; background: #eef1ff; color: #4658ba; font-size: .62rem; font-weight: 800; letter-spacing: .02em; }
.archived-row { opacity: .72; background: #fafafa; }
.archived-row strong { color: #606878; }

@media(max-width:1000px) {
    .lifecycle-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .lifecycle-summary-grid > div:first-child { grid-column: span 2; }
}
@media(max-width:760px) {
    .lifecycle-card { padding: 22px 18px; }
    .lifecycle-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lifecycle-summary-grid > div:first-child { grid-column: span 2; }
    .lifecycle-management-grid { grid-template-columns: 1fr; }
    .lifecycle-danger-zone, .lifecycle-archive-note, .lifecycle-confirmation { align-items: stretch; flex-direction: column; }
    .lifecycle-danger-zone .button, .lifecycle-archive-note .button, .lifecycle-confirmation .button-row { width: 100%; }
}
@media(max-width:460px) {
    .lifecycle-summary-grid { grid-template-columns: 1fr; }
    .lifecycle-summary-grid > div:first-child { grid-column: span 1; }
    .grant-row { align-items: stretch; flex-direction: column; }
}

/* v2.3.0 — AssessmentCreationAndImmutableContext */
.assessment-create-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: 22px; align-items: stretch; margin-bottom: 24px; }
.assessment-create-grid > .card { margin: 0; }
.assessment-context-review { padding: 28px 30px; }
.assessment-context-review .section-heading { margin-bottom: 18px; }
.assessment-person-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 15px 16px; border: 1px solid #e2e7f0; border-radius: 13px; background: #fafbfe; }
.assessment-person-heading strong { display: block; color: var(--ink); font-size: 1rem; }
.assessment-person-heading small { display: block; margin-top: 5px; color: #6c778b; font-size: .74rem; }
.assessment-review-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 17px 0 0; border: 1px solid #e3e8f0; border-radius: 13px; overflow: hidden; background: #fff; }
.assessment-review-list > div { min-width: 0; padding: 13px 15px; border-bottom: 1px solid #e7eaf0; }
.assessment-review-list > div:nth-child(even) { border-left: 1px solid #e7eaf0; }
.assessment-review-list > div:nth-last-child(-n+2) { border-bottom: 0; }
.assessment-review-list > .span-2 { grid-column: span 2; border-left: 0 !important; border-bottom: 0; }
.assessment-review-list dt { color: #7a8496; font-size: .62rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.assessment-review-list dd { margin: 5px 0 0; color: #344056; font-size: .77rem; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.snapshot-notice { margin-top: 16px; padding: 14px 15px; border: 1px solid #dce3fb; border-radius: 12px; background: #f6f8ff; }
.snapshot-notice strong { display: block; color: #394aa8; font-size: .77rem; }
.snapshot-notice p { margin: 5px 0 0; color: #626f86; font-size: .72rem; line-height: 1.5; }
.assessment-share-option { display: flex; align-items: flex-start; gap: 11px; margin: 3px 0 20px; padding: 14px 15px; border: 1px solid #e2e7f0; border-radius: 12px; background: #fafbfe; cursor: pointer; }
.assessment-share-option input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--primary); }
.assessment-share-option strong { display: block; color: var(--ink); font-size: .78rem; line-height: 1.4; }
.assessment-share-option small { display: block; margin-top: 4px; color: #727e92; font-size: .69rem; line-height: 1.45; }

@media(max-width:900px) {
    .assessment-create-grid { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
    .assessment-context-review { padding: 21px 17px; }
    .assessment-review-list { grid-template-columns: 1fr; }
    .assessment-review-list > div, .assessment-review-list > div:nth-child(even), .assessment-review-list > .span-2 { grid-column: span 1; border-left: 0; border-bottom: 1px solid #e7eaf0; }
    .assessment-review-list > div:last-child { border-bottom: 0; }
    .assessment-person-heading { flex-direction: column; }
}

/* v2.4.0 — ParticipantCentricResultsAndCompanyViews */
.results-context-note { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; padding: 0; overflow: hidden; background: #e5e9f1; }
.results-context-note > div { padding: 17px 20px; background: #fff; }
.results-context-note strong { color: var(--ink); font-size: .78rem; }
.results-context-note p { margin: 5px 0 0; color: #6f7a8f; font-size: .72rem; line-height: 1.48; }
.results-longitudinal-filters { align-items: end; }
.longitudinal-results-table { min-width: 1540px; }
.longitudinal-results-table td:first-child { min-width: 190px; }
.longitudinal-results-table td:nth-child(4), .longitudinal-results-table td:nth-child(5), .longitudinal-results-table td:nth-child(6) { min-width: 145px; }
.table-entity-link { color: var(--ink); text-decoration: none; }
.table-entity-link:hover { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.history-context-value { font-weight: 700; color: #46536a; }
.participant-profile-grid, .company-overview-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; margin-bottom: 24px; align-items: stretch; }
.participant-profile-grid > .card, .company-overview-grid > .card { margin: 0; }
.participant-identity-card, .participant-history-summary, .company-identity-card, .company-history-summary { padding: 25px 27px; }
.participant-identity-card h2, .company-identity-card h2 { margin: 7px 0 16px; font-size: 1.1rem; }
.portal-data-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 0; border: 1px solid #e4e8f0; border-radius: 12px; overflow: hidden; }
.portal-data-list > div { min-width: 0; padding: 12px 14px; border-bottom: 1px solid #e7eaf0; }
.portal-data-list > div:nth-child(even) { border-left: 1px solid #e7eaf0; }
.portal-data-list > div:nth-last-child(-n+2) { border-bottom: 0; }
.portal-data-list dt { color: #7a8496; font-size: .61rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.portal-data-list dd { margin: 4px 0 0; color: #3e4a60; font-size: .75rem; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.portal-stat-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 11px; }
.portal-stat-grid > div { padding: 15px 16px; border: 1px solid #e3e8f0; border-radius: 12px; background: #fafbfe; }
.portal-stat-grid strong { display: block; color: var(--ink); font-size: 1.05rem; line-height: 1.2; }
.portal-stat-grid span { display: block; margin-top: 5px; color: #7a8496; font-size: .65rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.participant-history-table { min-width: 1230px; }
.company-current-people-table { min-width: 920px; }
.company-history-table { min-width: 1320px; }
.participant-history-table td, .company-current-people-table td, .company-history-table td { vertical-align: middle; }
.participant-history-table td:nth-child(3), .participant-history-table td:nth-child(4), .company-history-table td:first-child { min-width: 155px; }
.company-current-people-card, .company-history-filters { margin-bottom: 24px; }
.compact-empty { padding-block: 28px; }
.participant-heading .button-row, .company-detail-heading .button-row { flex-wrap: wrap; }

@media(max-width:900px) {
    .participant-profile-grid, .company-overview-grid { grid-template-columns: 1fr; }
    .results-context-note { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
    .participant-identity-card, .participant-history-summary, .company-identity-card, .company-history-summary { padding: 20px 17px; }
    .portal-data-list { grid-template-columns: 1fr; }
    .portal-data-list > div, .portal-data-list > div:nth-child(even) { border-left: 0; border-bottom: 1px solid #e7eaf0; }
    .portal-data-list > div:last-child { border-bottom: 0; }
    .portal-stat-grid { grid-template-columns: 1fr; }
}

/* v2.5.0 — RecoverableAssessmentLinks */
.assessment-link-control { min-width: 168px; }
.assessment-link-summary { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.link-status { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border-radius: 999px; font-size: .68rem; font-weight: 760; white-space: nowrap; }
.link-status.active { background: #eef8f2; color: #286243; }
.link-status.warning { background: #fff5e8; color: #8c5518; }
.link-status.neutral { background: #f1f4f8; color: #657083; }
.assessment-link-panel { width: min(430px, 78vw); margin-top: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: #fff; box-shadow: 0 14px 32px rgba(35, 48, 73, .12); }
.assessment-link-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.assessment-link-meta div { padding: 9px 10px; border-radius: 10px; background: #f7f9fc; }
.assessment-link-meta dt { margin-bottom: 3px; color: var(--muted); font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.assessment-link-meta dd { margin: 0; color: var(--text); font-size: .78rem; font-weight: 680; }
.assessment-link-field { margin-bottom: 10px; }
.assessment-link-field input { font-size: .73rem; }
.assessment-link-buttons { flex-wrap: wrap; gap: 7px; }
.assessment-link-confirmation { margin-top: 12px; padding: 12px; border-radius: 12px; background: #f8f9fc; border: 1px solid var(--border); }
.assessment-link-confirmation strong { display: block; margin-bottom: 4px; font-size: .8rem; }
.assessment-link-confirmation p { margin: 0 0 10px; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.compact-alert { margin: 0 0 10px; padding: 9px 11px; font-size: .75rem; }
.compact-status { margin: 0 0 10px; font-size: .75rem; }
.compact-notice { margin: 0 0 10px; padding: 10px 11px; font-size: .73rem; }
@media(max-width:600px) {
  .assessment-link-control { min-width: 145px; }
  .assessment-link-panel { width: min(340px, 82vw); }
  .assessment-link-meta { grid-template-columns: 1fr; }
  .assessment-link-buttons .button { flex: 1 1 calc(50% - 7px); }
}

/* v2.6.0 — ParticipantReportSharing */
.participant-report-control { min-width: 190px; }
.participant-report-summary { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.participant-report-panel { width: min(440px, 80vw); margin-top: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: #fff; box-shadow: 0 14px 32px rgba(35,48,73,.12); }
.participant-report-heading { margin-top: 18px; }
.participant-report-hero { margin-bottom: 16px; }
.participant-report-disclaimer { margin-bottom: 28px; }
.participant-report-section { margin-bottom: 30px; }
.participant-report-profile-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.75fr); gap: 20px; align-items: stretch; }
.participant-report-profile-grid > .chart-card { margin: 0; height: 100%; }
.participant-report-poles { margin-top: 28px; }
@media(max-width:800px) {
  .participant-report-profile-grid { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
  .participant-report-control { min-width: 160px; }
  .participant-report-panel { width: min(345px, 84vw); }
  .participant-report-panel .assessment-link-buttons .button { flex: 1 1 calc(50% - 7px); }
}

/* v2.6.1 — SingleQuestionAssessmentFlow */
.single-question-shell { width: 100%; margin: 0 auto; }
.single-question-card { width: 100%; box-sizing: border-box; min-height: 330px; padding: 26px 30px 28px; display: flex; flex-direction: column; justify-content: center; }
.single-question-accessible-legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.single-question-prompt { display: flex; align-items: flex-start; width: 100%; margin: 0 0 8px; color: #29364d; font-size: 1.12rem; line-height: 1.65; font-weight: 720; }
.single-question-prompt > span:last-child { min-width: 0; }
.single-question-prompt:focus { outline: 3px solid #8796eaa6; outline-offset: 6px; border-radius: 8px; }
.single-question-instruction { margin: 2px 0 20px; color: #7a8597; font-size: .78rem; text-align: center; }
.single-question-saved { margin: 16px 0 0; color: var(--success); font-size: .75rem; text-align: center; }
.single-question-saved.saving { color: #647194; }
.question-navigation { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; margin-top: 18px; }
.question-navigation > .button:first-child { justify-self: start; }
.question-navigation > .button:last-child { justify-self: end; }
.question-navigation-position { color: #7b8699; font-size: .75rem; font-weight: 750; white-space: nowrap; }
.single-question-confirmation { width: min(100%, 720px); margin: 20px auto 0; text-align: center; }
.single-question-confirmation .button-row { justify-content: center; }

@media(max-width:800px) {
    .single-question-card { min-height: 300px; padding: 22px 22px 24px; }
    .single-question-prompt { font-size: 1rem; }
}
@media(max-width:600px) {
    .single-question-card { min-height: 0; padding: 18px 15px 20px; }
    .single-question-prompt { font-size: .95rem; line-height: 1.55; }
    .single-question-instruction { margin-bottom: 15px; }
    .question-navigation { grid-template-columns: 1fr 1fr; gap: 10px; }
    .question-navigation-position { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
    .question-navigation > .button:first-child { grid-column: 1; grid-row: 2; width: 100%; }
    .question-navigation > .button:last-child { grid-column: 2; grid-row: 2; width: 100%; }
}

/* v2.6.2 — AssessmentTimingAndInteractionTelemetry */
.assessment-elapsed { min-width: 112px; padding-left: 18px; border-left: 1px solid #e3e7f1; text-align: right; }
.assessment-elapsed span { display: block; color: #7b879d; font-size: .68rem; font-weight: 650; }
.assessment-elapsed strong { display: block; margin-top: 3px; color: #31406c; font-size: .96rem; font-variant-numeric: tabular-nums; letter-spacing: .025em; }
@media(max-width:600px) {
  .assessment-elapsed { min-width: 0; padding: 10px 0 0; border-left: 0; border-top: 1px solid #e8ebf3; text-align: center; }
  .assessment-elapsed span, .assessment-elapsed strong { display: inline; }
  .assessment-elapsed strong { margin-left: 7px; }
}

/* v2.6.3 — ResponseQualityIndicators */
.response-quality-panel { margin: 30px 0; padding: 28px 30px; border-color: #dfe4ee; }
.response-quality-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.response-quality-heading h2 { margin: 5px 0 8px; }
.response-quality-heading p { margin: 0; max-width: 830px; color: var(--muted); font-size: .79rem; line-height: 1.55; }
.response-quality-status { display: inline-flex; align-items: center; justify-content: center; min-height: 31px; padding: 6px 11px; border-radius: 999px; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.response-quality-status.clear { background: #edf8f2; color: #256245; }
.response-quality-status.review { background: #fff5e7; color: #8a5516; }
.response-quality-status.strong-review { background: #fff0ee; color: #9a3e35; }
.response-quality-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.response-quality-metrics > div { min-width: 0; padding: 14px 15px; border: 1px solid #e4e8ef; border-radius: 12px; background: #fafbfe; }
.response-quality-metrics span { display: block; color: #7b8598; font-size: .62rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.response-quality-metrics strong { display: block; margin-top: 5px; color: var(--ink); font-size: .91rem; line-height: 1.35; overflow-wrap: anywhere; }
.response-quality-metrics small { display: block; margin-top: 4px; color: #7a8598; font-size: .67rem; line-height: 1.35; }
.response-distribution { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-top: 17px; }
.response-distribution-row { min-width: 0; padding: 10px 11px; border: 1px solid #e5e9f0; border-radius: 11px; background: #fff; }
.response-distribution-label { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 6px; align-items: center; }
.response-distribution-label strong { font-size: .72rem; }
.response-distribution-label span { overflow: hidden; color: #647086; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.response-distribution-label small { color: #55627a; font-size: .64rem; font-weight: 800; }
.response-distribution-meter { height: 5px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: #edf0f5; }
.response-distribution-meter > span { display: block; height: 100%; min-width: 0; border-radius: inherit; background: #7583cb; }
.response-quality-note, .response-quality-method { margin: 16px 0 0; padding: 12px 14px; border: 1px solid #e2e6ef; border-radius: 11px; background: #f8f9fc; color: #68748a; font-size: .72rem; line-height: 1.55; }
.response-quality-empty { margin-top: 18px; padding: 15px 16px; border: 1px solid #dcebe3; border-radius: 12px; background: #f7fbf9; }
.response-quality-empty strong { color: #2e6248; font-size: .78rem; }
.response-quality-empty p { margin: 5px 0 0; color: #66766e; font-size: .72rem; line-height: 1.5; }
.response-quality-signals { margin-top: 20px; }
.response-quality-signals > h3 { margin: 0 0 11px; font-size: .86rem; }
.response-quality-signal { margin-top: 10px; padding: 16px 17px; border: 1px solid #e4e8ef; border-left-width: 4px; border-radius: 12px; background: #fff; }
.response-quality-signal.review { border-left-color: #d69637; }
.response-quality-signal.strong-review { border-left-color: #bf5a50; background: #fffafa; }
.response-quality-signal.observation { border-left-color: #7182c5; }
.response-quality-signal-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.response-quality-signal-title strong { color: var(--ink); font-size: .83rem; }
.response-quality-signal-title span { flex: none; color: #737e92; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.response-quality-signal dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 12px 0 0; }
.response-quality-signal dl > div { padding: 10px 11px; border-radius: 9px; background: #f7f8fb; }
.response-quality-signal dt { color: #7b8598; font-size: .59rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.response-quality-signal dd { margin: 4px 0 0; color: #48546b; font-size: .71rem; line-height: 1.45; }
.response-quality-signal > p { margin: 11px 0 0; color: #606c81; font-size: .73rem; line-height: 1.55; }
.response-quality-question { margin-top: 11px; padding: 11px 12px; border-radius: 10px; background: #f5f7fd; }
.response-quality-question span { color: #6978b2; font-size: .61rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.response-quality-question p { margin: 4px 0 0; color: #45516d; font-size: .73rem; line-height: 1.5; }
.response-quality-method code { font-size: .68rem; }

@media(max-width:1000px) {
  .response-quality-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .response-distribution { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:650px) {
  .response-quality-panel { padding: 21px 17px; }
  .response-quality-heading { flex-direction: column; }
  .response-quality-metrics { grid-template-columns: 1fr; }
  .response-distribution { grid-template-columns: 1fr; }
  .response-quality-signal dl { grid-template-columns: 1fr; }
  .response-quality-signal-title { align-items: flex-start; flex-direction: column; gap: 5px; }
}
@media print {
  .response-quality-panel, .response-quality-signal { break-inside: avoid; page-break-inside: avoid; }
  .response-quality-status, .response-distribution-meter > span, .response-quality-signal { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v2.7.0 — PortalReportUXAndIntegrationCertification */
.report-overview { margin-top: 0; }
.report-overview-heading { margin-bottom: 16px; }
.report-profile-summary-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.78fr); gap: 22px; align-items: stretch; }
.report-profile-summary-grid > .chart-card,
.report-profile-summary-grid > .report-summary-card { height: 100%; margin: 0; }
.report-profile-summary-grid > .chart-card { display: flex; flex-direction: column; padding: 27px; }
.report-profile-summary-grid > .chart-card .disc-chart { flex: 1 1 auto; min-height: 270px; }
.report-profile-summary-grid > .report-summary-card { display: flex; flex-direction: column; }
.report-profile-summary-grid .report-summary-note { margin-top: auto; padding-top: 17px; }
.report-map-stage { margin-top: 22px; }
.report-map-stage > .chart-card { margin: 0; padding: 28px 32px 24px; overflow: hidden; }
.report-map-stage .disc-quadrant-chart { width: min(100%, 980px); margin: 2px auto 0; }
.disc-quadrant-card .quadrant-heading { align-items: flex-end; }
.disc-quadrant-card .quadrant-heading .eyebrow { margin-bottom: 6px; }
.disc-quadrant-card .quadrant-heading h3 { margin: 0; }
.quadrant-zone-d { fill: #fff1f2; }
.quadrant-zone-i { fill: #fff8db; }
.quadrant-zone-c { fill: #eff6ff; }
.quadrant-zone-s { fill: #ecfdf5; }
.quadrant-axis { stroke: #7b8798; stroke-width: 1.25; }
.quadrant-axis-label text { fill: #566378; font-size: 14px; font-weight: 650; }
.quadrant-factor-label text { font-size: 16px; font-weight: 820; letter-spacing: -.01em; }
.quadrant-factor-d text { fill: #9e3444; }
.quadrant-factor-i text { fill: #8a6200; }
.quadrant-factor-c text { fill: #2f5f9f; }
.quadrant-factor-s text { fill: #247158; }
.quadrant-point-halo { fill: #4656d926; }
.quadrant-point { fill: #172554; stroke: #fff; stroke-width: 3; }
.quadrant-note { max-width: 840px; margin: 3px auto 0; text-align: center; font-size: .72rem; line-height: 1.55; }
.participant-report-profile-grid { grid-template-columns: 1fr; }
.participant-report-profile-grid > .chart-card { width: 100%; }
.participant-report-map-stage { margin-top: 20px; }

@media(max-width:1000px) {
    .report-profile-summary-grid { grid-template-columns: minmax(0,1.25fr) minmax(280px,.85fr); gap: 18px; }
    .report-map-stage > .chart-card { padding-inline: 24px; }
}
@media(max-width:820px) {
    .report-profile-summary-grid { grid-template-columns: 1fr; }
    .report-profile-summary-grid > .chart-card .disc-chart { min-height: 0; }
    .report-map-stage { margin-top: 18px; }
}
@media(max-width:600px) {
    .report-overview-heading { margin-bottom: 13px; }
    .report-profile-summary-grid { gap: 14px; }
    .report-profile-summary-grid > .chart-card,
    .report-map-stage > .chart-card { padding: 18px 15px; }
    .report-profile-summary-grid > .report-summary-card { padding: 21px 18px; }
    .disc-quadrant-card .quadrant-heading { align-items: flex-start; }
    .quadrant-axis-label text { font-size: 13px; }
    .quadrant-factor-label text { font-size: 15px; }
    .quadrant-note { font-size: .69rem; }
}
@media print {
    .report-profile-summary-grid { grid-template-columns: minmax(0,1.45fr) minmax(230px,.78fr); gap: 12px; align-items: stretch; }
    .report-profile-summary-grid > .chart-card { padding: 10px; }
    .report-profile-summary-grid > .report-summary-card { padding: 14px; }
    .report-profile-summary-grid > .chart-card,
    .report-profile-summary-grid > .report-summary-card,
    .report-map-stage { break-inside: avoid; page-break-inside: avoid; }
    .report-profile-summary-grid > .chart-card .disc-chart { min-height: 0; }
    .report-map-stage { margin-top: 12px; }
    .report-map-stage > .chart-card { padding: 9px 12px 8px; }
    .report-map-stage .disc-quadrant-chart { width: 76% !important; max-width: 76% !important; margin-inline: auto; }
    .quadrant-axis-label text { font-size: 12px; }
    .quadrant-factor-label text { font-size: 14px; }
    .quadrant-note { margin-top: 0; font-size: 6.4pt; }
    .quadrant-zone,
    .quadrant-point-halo,
    .quadrant-point { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v2.8.0 — BrazilianIdentityAndProfessionFoundation */
.cpf-correction-confirmation {
    border: 1px solid #d4a72c;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff9e8;
}
.cpf-correction-confirmation .check-row { margin-top: 6px; }
.profession-editor-grid { align-items: end; }
.profession-editor-action { display: flex; align-items: end; min-height: 100%; padding-bottom: 1px; }
.profession-directory-controls { display: grid; grid-template-columns: minmax(240px,1fr) auto auto; gap: 14px; align-items: end; padding: 0 26px 24px; }
.profession-directory-controls .field { margin: 0; }
.profession-directory-controls .check-field,
.profession-directory-controls .button { min-height: 44px; }
.profession-directory-controls .check-field { padding-inline: 2px; white-space: nowrap; }
.profession-directory-empty { margin: 0 26px 26px; padding: 17px 18px; border: 1px dashed #dfe4ee; border-radius: 12px; background: #fafbfe; }
.profession-directory-empty .muted-note { margin: 0; }
.button.danger { border-color: #b42318; color: #b42318; background: transparent; }
.button.danger:hover { background: #fff1f0; }
@media(max-width:760px) {
    .profession-editor-action { align-items: stretch; }
    .profession-editor-action .button { width: 100%; }
    .profession-directory-controls { grid-template-columns: 1fr; align-items: stretch; }
    .profession-directory-controls .check-field { min-height: 36px; padding-inline: 0; }
    .profession-directory-controls .button { width: 100%; }
    .cpf-correction-confirmation { grid-column: 1 / -1; }
}

/* v2.9.0 — CpfIdentityResolutionAndPrivateCadastralSharing */
.cpf-resolution-card {
    grid-column: 1 / -1;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: #f8f9fc;
}
.cpf-resolution-card strong { display: block; font-size: .82rem; color: var(--ink); }
.cpf-resolution-card p { margin: 5px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.cpf-resolution-card.checking { border-style: dashed; }
.cpf-resolution-card.available { border-color: #cfe6d8; background: #f6fbf8; }
.cpf-resolution-card.existing { border-color: #d9def1; background: #f7f8fd; }
.cpf-resolution-card.warning { border-color: #ead7aa; background: #fffaf0; }
.cpf-resolution-card .button-row { margin-top: 11px; align-items: center; }
.cpf-resolution-card .muted-note { max-width: 620px; }
.result-access-card { margin-bottom: 18px; border-color: #dfe4ef; }
.result-access-grid { display: grid; grid-template-columns: minmax(220px,.75fr) minmax(320px,1.25fr); gap: 18px; align-items: end; margin: 16px 0; }
.result-access-grid > div { min-width: 0; }
.result-access-grid strong { display: block; margin-top: 5px; }
@media(max-width:760px) {
    .result-access-grid { grid-template-columns: 1fr; }
    .cpf-resolution-card .button-row { align-items: stretch; flex-direction: column; }
    .cpf-resolution-card .button { width: 100%; }
}

/* v2.10.0 — CompanyCnpjContactAndAddress */
.company-directory-table { min-width: 980px; }
.company-directory-table td:nth-child(2) { white-space: nowrap; }
.mono-id { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.company-contact-card h2, .company-address-card h2 { margin: 7px 0 16px; font-size: 1.1rem; }
.compact-alert { margin: 14px 0 10px; padding: 10px 12px; font-size: .78rem; }
@media (max-width: 760px) {
    .company-directory-table { min-width: 840px; }
}

/* v2.11.0 — ParticipantMobileResponsiveExperience */
.participant-frame {
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: clip;
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}
.participant-main {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.participant-footer {
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
}
.participant-frame .button,
.participant-frame button,
.participant-frame .answer {
    min-height: 48px;
}
.participant-frame .answer {
    touch-action: manipulation;
}
.single-question-shell {
    scroll-margin-top: 112px;
}

@media (max-width:760px), (max-height:500px) and (max-width:900px) {
    .participant-frame .response-options { grid-template-columns: 1fr; gap: 7px; }
    .participant-frame .answer { flex-direction: row; align-items: center; justify-content: flex-start; padding: 11px 13px; gap: 12px; }
    .participant-frame .answer > span { text-align: left; font-size: .82rem; line-height: 1.4; }
}

@media (hover: none) and (pointer: coarse) {
    .participant-frame .answer:hover {
        border-color: #e4e8f1;
        background: #fafbfe;
    }
    .participant-frame .answer.selected:hover {
        border-color: #7b8bea;
        background: #eef2ff;
    }
}

@media(max-width:600px) {
    .participant-main {
        width: min(calc(100% - 24px), 980px);
        padding-top: max(14px, env(safe-area-inset-top));
        padding-bottom: 22px;
    }
    .participant-brand {
        padding-bottom: 18px;
    }
    .participant-brand-compact {
        justify-content: flex-start;
        padding: 0 2px 10px;
    }
    .participant-brand-compact .brand-mark {
        width: 30px;
        height: 30px;
        border-radius: 9px;
        padding: 8px;
    }
    .participant-brand-compact .brand-copy strong {
        font-size: .92rem;
    }
    .participant-brand-compact .brand-copy small {
        display: none;
    }
    .participant-heading {
        margin: 0 2px 12px;
    }
    .participant-heading .eyebrow {
        display: none;
    }
    .participant-heading h1 {
        margin-bottom: 5px;
        font-size: clamp(1.35rem, 7vw, 1.65rem);
        letter-spacing: -.035em;
    }
    .participant-heading p {
        font-size: .79rem;
        line-height: 1.45;
    }
    .progress-panel {
        top: max(6px, env(safe-area-inset-top));
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        gap: 8px 12px;
        margin-bottom: 14px;
        padding: 11px 13px;
        border-radius: 13px;
    }
    .progress-copy {
        min-width: 0;
    }
    .progress-copy strong {
        display: block;
        overflow: hidden;
        font-size: .82rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .progress-copy span {
        margin-top: 2px;
        overflow: hidden;
        font-size: .67rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .progress-meter {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        gap: 9px;
    }
    .progress-meter > span {
        min-width: 34px;
        text-align: right;
        font-size: .72rem;
    }
    .assessment-elapsed {
        grid-column: 2;
        grid-row: 1;
        min-width: 76px;
        padding: 0;
        border: 0;
        text-align: right;
    }
    .assessment-elapsed span {
        position: static;
        display: block;
        width: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        clip: auto;
        color: #69758a;
        font-size: .56rem;
        line-height: 1.15;
        white-space: nowrap;
    }
    .assessment-elapsed strong {
        display: block;
        margin: 2px 0 0;
        font-size: .86rem;
    }
    .single-question-shell {
        width: 100%;
        scroll-margin-top: 92px;
    }
    .single-question-card {
        min-height: 0;
        padding: 16px 13px 17px;
        justify-content: flex-start;
        border-radius: 16px;
    }
    .single-question-prompt {
        width: 100%;
        margin-bottom: 6px;
        font-size: .94rem;
        line-height: 1.48;
    }
    .question-number {
        width: 28px;
        height: 28px;
        margin-right: 7px;
    }
    .single-question-instruction {
        margin: 5px 0 12px;
        font-size: .71rem;
        line-height: 1.45;
        text-align: left;
    }
    .response-options {
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .answer {
        min-height: 48px;
        padding: 10px 12px;
        gap: 11px;
        border-radius: 11px;
    }
    .answer input {
        width: 21px;
        height: 21px;
    }
    .answer > span {
        font-size: .82rem;
        line-height: 1.35;
    }
    .single-question-saved {
        margin-top: 11px;
        font-size: .7rem;
    }
    .question-navigation {
        gap: 8px;
        margin-top: 11px;
        padding-bottom: calc(2px + env(safe-area-inset-bottom));
    }
    .question-navigation-position {
        font-size: .7rem;
    }
    .question-navigation > .button {
        min-width: 0;
        min-height: 48px;
        padding-inline: 10px;
        white-space: normal;
    }
    .participant-welcome {
        padding: 25px 19px;
    }
    .participant-welcome h1 {
        font-size: clamp(1.75rem, 9vw, 2.2rem);
    }
    .participant-facts {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 6px;
        padding: 16px 0;
    }
    .participant-facts strong {
        font-size: .98rem;
    }
    .participant-facts span {
        font-size: .61rem;
        line-height: 1.3;
    }
    .notice-box {
        margin: 17px 0;
        padding: 13px 14px;
        font-size: .8rem;
    }
    .participant-confirmation {
        padding: 22px 17px;
    }
    .completion-card {
        padding: 34px 19px;
        margin-top: 6px;
    }
    .completion-card .button {
        width: 100%;
    }
    .participant-state {
        margin: 10px auto;
        padding: 36px 20px;
    }

    .participant-report-heading {
        margin-top: 4px;
    }
    .participant-report-heading .button {
        width: 100%;
    }
    .participant-report-hero {
        padding: 19px 16px;
        border-radius: 16px;
    }
    .participant-report-disclaimer {
        margin: 15px 1px 23px;
        font-size: .73rem;
        line-height: 1.55;
    }
    .participant-report-section,
    .report-tendencies,
    .participant-report-poles {
        margin-bottom: 24px;
    }
    .participant-report-profile-grid,
    .report-profile-summary-grid {
        min-width: 0;
    }
    .participant-main .chart-card,
    .participant-main .tendency-radar-card,
    .participant-main .factor-pole-card,
    .participant-main .report-methodology {
        max-width: 100%;
    }
}

@media(max-width:360px) {
    .participant-main {
        width: calc(100% - 16px);
    }
    .participant-heading p {
        font-size: .75rem;
    }
    .progress-panel {
        padding-inline: 10px;
    }
    .single-question-card {
        padding-inline: 10px;
    }
    .question-navigation {
        grid-template-columns: 1fr;
    }
    .question-navigation-position {
        grid-column: 1;
        grid-row: 1;
    }
    .question-navigation > .button:first-child {
        grid-column: 1;
        grid-row: 2;
    }
    .question-navigation > .button:last-child {
        grid-column: 1;
        grid-row: 3;
    }
    .participant-facts {
        grid-template-columns: 1fr;
    }
    .participant-facts > div {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 12px;
    }
    .participant-facts span {
        text-align: right;
    }
    .report-factor-strip {
        grid-template-columns: 1fr;
    }
}

@media(max-height:520px) and (orientation:landscape) {
    .participant-main {
        width: min(calc(100% - 28px), 980px);
        padding-top: max(8px, env(safe-area-inset-top));
    }
    .participant-brand-compact {
        padding-bottom: 5px;
    }
    .participant-brand-compact .brand-mark {
        width: 26px;
        height: 26px;
        padding: 7px;
    }
    .participant-brand-compact .brand-copy small,
    .participant-heading .eyebrow,
    .participant-heading p,
    .single-question-instruction {
        display: none;
    }
    .participant-heading {
        margin-bottom: 6px;
    }
    .participant-heading h1 {
        margin: 0;
        font-size: 1.25rem;
    }
    .progress-panel {
        position: sticky;
        top: max(4px, env(safe-area-inset-top));
        margin-bottom: 8px;
        padding: 8px 12px;
    }
    .single-question-card {
        min-height: 0;
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .response-options {
        grid-template-columns: 1fr;
        gap: 6px;
    }
    .answer {
        min-height: 48px;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        padding: 8px 10px;
    }
    .answer > span {
        font-size: .72rem;
        text-align: left;
    }
    .question-navigation {
        margin-top: 8px;
        padding-bottom: calc(2px + env(safe-area-inset-bottom));
    }
}


/* v2.15 seller commercial accounts */
.seller-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.seller-summary-card { padding:22px; min-width:0; }
.seller-summary-card span { display:block; color:var(--muted); font-size:.75rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.seller-summary-card strong { display:block; margin:8px 0 4px; font-size:2rem; line-height:1; color:var(--ink); }
.seller-summary-card small { color:var(--muted); }
.seller-foundation-note { padding:26px; }
.seller-foundation-note h2 { margin:.4rem 0 .5rem; }
.seller-specialists-table td { vertical-align:middle; }
.seller-specialists-table td:first-child { min-width:220px; }
.seller-specialists-table .row-actions { min-width:max-content; }
.compact-select { min-width:210px; min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }
@media (max-width: 900px) { .seller-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .seller-summary-grid { grid-template-columns:1fr; } }

/* v2.16.0 — credit ledger and pricing */
.commercial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.commercial-grid > .card { min-width:0; }
@media (max-width: 900px) { .commercial-grid { grid-template-columns:1fr; } }


/* v2.17.0 — credit-backed assessment creation */
.assessment-credit-summary { margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft, #f8fafc); }
.compact-heading { margin-bottom:12px; }
.credit-metric-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.credit-metric-grid > div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.credit-metric-grid span { display:block; color:var(--muted); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.credit-metric-grid strong { display:block; margin-top:5px; color:var(--ink); }
.credit-overview-grid { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:20px; margin-bottom:24px; }
.credit-balance-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.credit-balance-value { margin:.35rem 0 0; font-size:3rem; line-height:1; color:var(--ink); }
@media (max-width:760px) { .credit-metric-grid, .credit-overview-grid { grid-template-columns:1fr; } }

/* v2.18.0 — seller credit sales and client operations */
.seller-filter-card { padding:22px 26px; margin-bottom:24px; }
.seller-filter-grid { display:grid; grid-template-columns:minmax(260px,1.5fr) minmax(180px,.7fr) auto; gap:16px; align-items:end; }
.seller-sales-filter-grid { display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(160px,.7fr) repeat(2,minmax(150px,.6fr)) auto; gap:16px; align-items:end; }
.seller-filter-grid .field, .seller-sales-filter-grid .field { margin:0; }
.seller-filter-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding-bottom:1px; }
.seller-row-actions { display:flex; flex-wrap:nowrap; gap:7px; }
.seller-specialists-table th, .seller-specialists-table td { white-space:nowrap; }
.seller-specialists-table td:first-child { white-space:normal; }
.seller-sale-notes td { border-top:0; padding-top:0; color:var(--muted); }
.seller-statement-sales { margin-top:24px; }
.seller-price-value { font-size:2.15rem; }
.seller-status-value { font-size:1.25rem !important; line-height:1.15 !important; }
@media (max-width: 1100px) {
    .seller-sales-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .seller-sales-filter-grid .seller-filter-actions { grid-column:1 / -1; }
}
@media (max-width: 760px) {
    .seller-filter-grid, .seller-sales-filter-grid { grid-template-columns:1fr; }
    .seller-sales-filter-grid .seller-filter-actions { grid-column:auto; }
    .seller-filter-actions { width:100%; }
    .seller-filter-actions .button { flex:1 1 auto; }
}

/* v2.19.0 — seller commercial dashboard and administration */
.commercial-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.commercial-kpi-grid .seller-summary-card { min-height:126px; }
.commercial-money { font-size:1.55rem !important; line-height:1.08 !important; }
.seller-dashboard-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(150px,.6fr)) auto; gap:16px; align-items:end; }
.admin-commercial-filter-grid { grid-template-columns:repeat(2,minmax(160px,.6fr)) auto; }
.commercial-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.commercial-dashboard-card { min-width:0; margin:0; }
.compact-empty { padding:22px 12px; min-height:0; }
.commercial-series { display:grid; gap:8px; margin-top:12px; }
.commercial-series-row { display:grid; grid-template-columns:52px minmax(0,1fr) 72px; gap:10px; align-items:center; min-width:0; }
.commercial-series-date,.commercial-series-value { color:var(--muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.commercial-series-value { text-align:right; }
.commercial-series-bars { display:grid; gap:4px; }
.commercial-bar-track { height:8px; border-radius:999px; background:#eef1f5; overflow:hidden; min-width:90px; }
.commercial-bar { display:block; height:100%; border-radius:999px; min-width:0; }
.commercial-bar.sold { background:#315f8c; }
.commercial-bar.consumed { background:#8a5a2b; }
.commercial-legend { display:flex; flex-wrap:wrap; gap:16px; margin-top:14px; color:var(--muted); font-size:.75rem; }
.commercial-legend span { display:flex; gap:6px; align-items:center; }
.commercial-legend i { display:inline-block; width:12px; height:6px; border-radius:999px; }
.legend-sold { background:#315f8c; }
.legend-consumed { background:#8a5a2b; }
.commercial-ranking { display:grid; gap:13px; margin-top:10px; }
.commercial-ranking-row { display:grid; grid-template-columns:minmax(120px,.65fr) minmax(120px,1fr); gap:12px; align-items:center; }
.commercial-ranking-row strong,.commercial-ranking-row small { display:block; }
.commercial-ranking-row small { margin-top:2px; color:var(--muted); }
.admin-commercial-table { max-height:500px; }
.admin-commercial-workbench { align-items:start; }
.positive-number { color:#23683c; font-weight:800; }
.negative-number { color:#9b3b2d; font-weight:800; }
@media (max-width:1050px) {
  .commercial-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seller-dashboard-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seller-dashboard-filter-grid .seller-filter-actions { grid-column:1 / -1; }
}
@media (max-width:820px) {
  .commercial-dashboard-grid { grid-template-columns:1fr; }
  .seller-dashboard-filter-grid,.admin-commercial-filter-grid { grid-template-columns:1fr; }
  .seller-dashboard-filter-grid .seller-filter-actions { grid-column:auto; }
}
@media (max-width:560px) {
  .commercial-kpi-grid { grid-template-columns:1fr; }
  .commercial-series-row { grid-template-columns:46px minmax(0,1fr) 62px; gap:7px; }
  .commercial-ranking-row { grid-template-columns:1fr; gap:5px; }
}

/* v2.19.6 — AdministratorQuestionBankManagement */
.alert.success { background: #edf8f2; border-color: #cce8d8; color: #247852; }
.question-editor-card { padding: 28px 30px; margin-bottom: 24px; }
.question-editor-card .section-heading p, .question-catalog-summary .section-heading p { margin: 6px 0 0; max-width: 820px; }
.question-editor-grid { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 0 18px; margin-top: 18px; }
.question-editor-grid .field { margin-bottom: 18px; }
.question-text-field { grid-column: 2; grid-row: span 2; }
.question-text-field textarea { min-height: 118px; resize: vertical; }
.question-text-field small { display: block; margin-top: 6px; text-align: right; color: #7a8598; font-size: .68rem; }
.question-option-grid { display: grid; gap: 8px; align-content: start; }
.question-source-note { margin: 0 0 18px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfe; }
.question-source-note p { margin: 9px 0 0; }
.question-factor-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.question-factor-card { appearance: none; border: 1px solid #e1e6ef; border-radius: 14px; background: #fafbfe; padding: 15px; text-align: left; cursor: pointer; transition: border-color .15s ease, transform .15s ease, background .15s ease; }
.question-factor-card:hover, .question-factor-card.selected { border-color: #aeb9ec; background: #f5f6ff; transform: translateY(-1px); }
.question-factor-card strong { display: block; color: var(--primary-dark); font-size: 1.15rem; }
.question-factor-card span { display: block; margin-top: 3px; color: var(--ink); font-size: .78rem; font-weight: 750; }
.question-factor-card small { display: block; margin-top: 8px; color: #758096; font-size: .66rem; line-height: 1.45; }
.question-bank-filters .question-deleted-filter { align-self: center; margin-top: 18px; }
.question-factor-section { margin: 30px 0; }
.question-factor-heading { margin: 0 2px 13px; }
.question-factor-heading h2 { margin: 3px 0 0; }
.question-admin-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.question-admin-main { flex: 1; min-width: 0; }
.question-admin-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.question-admin-text { margin: 12px 0 0; color: var(--ink); font-size: .88rem; line-height: 1.55; }
.question-admin-actions { flex: 0 0 360px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.question-admin-actions .button { margin: 0; }
.question-admin-deleted { opacity: .72; background: #fafafa; }
.question-admin-deleted .question-admin-text { text-decoration: line-through; text-decoration-thickness: 1px; }
.danger-text { color: #a93636; }
.question-empty-state { padding: 30px; text-align: center; }
.question-empty-state p { margin: 7px 0 0; }
@media(max-width:900px) {
    .question-editor-grid { grid-template-columns: 1fr; gap: 0; }
    .question-text-field { grid-column: 1; grid-row: auto; }
    .question-factor-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .question-admin-item { flex-direction: column; }
    .question-admin-actions { flex: 0 0 auto; width: 100%; justify-content: flex-start; }
}
@media(max-width:600px) {
    .question-editor-card { padding: 21px 17px; }
    .question-factor-summary { grid-template-columns: 1fr; }
    .question-admin-actions { flex-direction: column; }
    .question-admin-actions .button { width: 100%; }
}

@media(max-width:900px){.tool-admin-grid{grid-template-columns:1fr}.nav-dropdown-menu{left:0;right:auto}.app-nav{align-items:flex-start}}

/* v2.25: account security uses the portal typography, cards and touch targets. */
.security-card { padding: clamp(1.2rem, 3vw, 2rem); margin-bottom: 1.3rem; }
.security-setup-grid, .security-actions-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2rem; }
.security-setup-grid > div { min-width: 0; }
.security-qr { width: min(100%, 256px); height: auto; display: block; background: white; border: 1px solid var(--line); border-radius: 12px; }
.security-key { display: block; overflow-wrap: anywhere; padding: 1rem; background: var(--soft); border-radius: 12px; letter-spacing: .05em; margin: 1rem 0; }
.security-uri { margin: 1rem 0; }
.security-uri summary { cursor: pointer; }
.security-uri code { display: block; overflow-wrap: anywhere; padding: .8rem 0; font-size: .8rem; }
.recovery-code-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; padding: 0; gap: .6rem; }
.recovery-code-list li { padding: .8rem; background: var(--soft); border-radius: 10px; text-align: center; }
@media (max-width: 760px) { .security-setup-grid, .security-actions-grid { grid-template-columns: 1fr; gap: 1rem; } }

.security-card .button { max-width: 100%; white-space: normal; text-align: center; }

/* v2.27.0 — security sessions and administrator governance */
.remember-session{display:flex;align-items:flex-start;gap:.55rem;margin:.15rem 0 1rem;color:var(--muted);font-size:.82rem}.remember-session input{margin-top:.15rem}.security-narrow{max-width:620px}.security-governance-gate{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:22px}.security-governance-gate.warning{border-color:#e8c777;background:#fffaf0}.security-governance-gate.ready{border-color:#b9dccb;background:#f6fbf8}.security-governance-gate h2{margin:.2rem 0 .35rem}.security-governance-gate p{margin:0}.security-admin-section{margin-bottom:22px}.security-row-actions{display:flex;gap:7px;flex-wrap:wrap}.security-row-actions .button{margin:0}@media(max-width:760px){.security-governance-gate{align-items:flex-start;flex-direction:column}.security-row-actions{min-width:180px}}

/* v2.28.0 — encrypted backup and restore */
.backup-section{margin-bottom:22px}.backup-warning{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;margin:1rem 0 1.2rem;border:1px solid #e8c777;border-radius:12px;background:#fffaf0}.backup-generated{margin-top:1.25rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.backup-generated h3{margin-top:0}.backup-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;margin:1rem 0}.backup-summary div{min-width:0}.backup-summary dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.backup-summary dd{margin:.2rem 0 0;overflow-wrap:anywhere}.backup-recovery-key{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.backup-restore-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.backup-restore-grid input[type=file]{display:block;margin-top:.45rem;max-width:100%}@media(max-width:760px){.backup-summary,.backup-restore-grid{grid-template-columns:1fr}}

.lead-routing{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.5rem 0}.lead-routing .field{flex:1;min-width:200px}.portal-editor-card{scroll-margin-top:5rem}


/* v2.37.5 — conservative visual standardization. No functional behavior is changed. */
:root {
    --primary: #4656d9;
    --primary-dark: #3443bd;
    --soft: #f0f2ff;
    --line: #e1e6ee;
}
body { background: #f6f7fa; }
.topbar {
    min-height: 74px;
    padding-block: 12px;
    background: #fff;
    backdrop-filter: none;
    box-shadow: 0 1px 0 #e7eaf0;
}
.brand-mark { border-radius: 10px; box-shadow: none; }
.app-nav { gap: 6px; }
.nav-dropdown > summary,
.app-nav > a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: .82rem;
}
.nav-dropdown > summary:hover,
.nav-dropdown[open] > summary,
.app-nav > a:hover { background: #f3f5f8; }
.nav-dropdown-menu {
    min-width: 230px;
    border-radius: 10px;
    padding: 7px;
    box-shadow: 0 10px 26px #17203314;
}
.nav-dropdown-menu a,
.nav-menu-button {
    width: 100%;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 9px 11px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #526079;
    font-size: .82rem;
    font-weight: 680;
    white-space: normal;
    text-align: left;
    box-shadow: none;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.active,
.nav-menu-button:hover { background: var(--soft); color: var(--primary-dark); }
.nav-dropdown-menu form { margin: 3px 0 0; padding-top: 3px; border-top: 1px solid var(--line); }
.account-menu .nav-dropdown-menu { right: 0; left: auto; }

.card,
.chart-card {
    border-radius: 14px;
    border-color: var(--line);
    box-shadow: 0 3px 14px #17203308;
}
.button, button {
    min-height: 40px;
    border-radius: 8px;
    padding: 10px 15px;
    box-shadow: none;
}
.button.primary { box-shadow: none; }
.button.large { min-height: 46px; padding: 12px 22px; }
.button.compact { min-height: 34px; padding: 7px 10px; }
input:not([type="radio"]):not([type="checkbox"]), select {
    min-height: 42px;
    border-radius: 8px;
    padding: 10px 12px;
}
input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    accent-color: var(--primary);
}
.form-card,
.auth-card { border-radius: 14px; }
.page-heading { margin-bottom: 24px; }
.workspace { padding-top: 34px; }
.section-heading { margin-bottom: 16px; }
.results-card > .section-heading { padding: 20px 22px 0; }
.pagination { padding: 15px 22px; }

.admin-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}
.admin-menu-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 18px 20px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    transition: border-color .15s, background .15s;
}
.admin-menu-item:hover { border-color: #b9c1df; background: #fafbff; }
.admin-menu-item strong { color: var(--ink); font-size: .92rem; }
.admin-menu-item span { color: var(--muted); font-size: .79rem; line-height: 1.5; }
.admin-audit-card { margin-top: 0; }

@media(max-width:1100px) {
    .topbar { align-items: stretch; }
    .app-nav { align-items: center; }
}
@media(max-width:760px) {
    .admin-menu-grid { grid-template-columns: 1fr; }
    .nav-dropdown { position: static; }
    .nav-dropdown-menu {
        position: absolute;
        left: 14px !important;
        right: 14px !important;
        width: auto;
        min-width: 0;
    }
}
@media(max-width:600px) {
    .app-nav { gap: 4px; }
    .nav-dropdown > summary,
    .app-nav > a { padding: 8px 9px; font-size: .77rem; }
}
