:root {
    --navy-950: #0b1b36;
    --navy-900: #132a52;
    --navy-800: #1d3b6b;
    --blue-700: #0d55c8;
    --blue-600: #1266e5;
    --blue-500: #2d7ff0;
    --blue-100: #dceaff;
    --blue-50: #f3f8ff;
    --green-700: #16754a;
    --green-600: #1d8f5a;
    --green-100: #daf5e7;
    --amber-700: #955a06;
    --amber-100: #fff1cd;
    --purple-700: #6d3fc0;
    --purple-100: #eee4ff;
    --red-700: #af2e35;
    --red-100: #ffe0e2;
    --ink: #17233a;
    --muted: #5f6f86;
    --soft: #8995a7;
    --line: #dfe6ef;
    --line-strong: #cbd6e4;
    --surface: #ffffff;
    --surface-soft: #f7f9fc;
    --surface-blue: #eff6ff;
    --shadow-sm: 0 4px 14px rgba(20, 42, 82, .07);
    --shadow-md: 0 16px 40px rgba(20, 42, 82, .12);
    --shadow-lg: 0 28px 70px rgba(20, 42, 82, .16);
    --radius-sm: 10px;
    --radius: 16px;
    --radius-lg: 24px;
    --max: 1280px;
    --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--surface);
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
body.dialog-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--blue-700); text-decoration: none; }
a:hover { color: var(--blue-600); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .65; }
:focus-visible { outline: 3px solid rgba(18, 102, 229, .35); outline-offset: 3px; }

h1, h2, h3, h4 { color: var(--navy-950); line-height: 1.12; margin: 0 0 .75rem; letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 3.2vw, 3.25rem); }
h2 { font-size: clamp(1.45rem, 2.35vw, 2.2rem); }
h3 { font-size: clamp(1.05rem, 1.5vw, 1.35rem); }
p { margin: 0 0 1rem; }
small { color: var(--muted); }

.container { width: min(calc(100% - 32px), var(--max)); margin-inline: auto; }
.section { padding: 88px 0; }
.section-sm { padding: 56px 0; }
.section-soft { background: var(--surface-soft); }
.section-blue { background: linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%); }
.section-dark { color: #eaf1fb; background: linear-gradient(145deg, var(--navy-950), var(--navy-800)); }
.section-dark h2, .section-dark h3 { color: #fff; }
.section-dark p { color: #c6d2e3; }
.section-header { max-width: 760px; margin-bottom: 38px; }
.section-header.center { text-align: center; margin-inline: auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; color: var(--blue-700); font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lead { color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.text-muted { color: var(--muted); }
.text-soft { color: var(--soft); }
.text-center { text-align: center; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.stack { display: grid; gap: 18px; }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: 8px; left: 8px; transform: translateY(-150%); background: var(--navy-950); color: #fff; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }
.icon { flex: 0 0 auto; vertical-align: middle; }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 11px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-weight: 750;
    line-height: 1;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff; background: var(--blue-600); box-shadow: 0 9px 22px rgba(18, 102, 229, .2); }
.button-primary:hover { color: #fff; background: var(--blue-700); }
.button-secondary { color: var(--navy-950); background: #fff; border-color: var(--line-strong); }
.button-secondary:hover { background: var(--blue-50); border-color: var(--blue-500); }
.button-outline { color: var(--blue-700); background: #fff; border-color: #a9c7ee; }
.button-outline:hover { color: var(--blue-700); background: var(--blue-50); border-color: var(--blue-600); }
.button-ghost { color: var(--navy-900); background: transparent; }
.button-ghost:hover { color: var(--blue-700); background: var(--blue-50); }
.button-danger { color: var(--red-700); background: #fff; border-color: #efb6ba; }
.button-success { color: #fff; background: var(--green-600); }
.button-small { min-height: 38px; padding: 9px 13px; border-radius: 10px; font-size: .9rem; }
.button-wide { width: 100%; }
.icon-button { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.inline-form { display: inline-flex; margin: 0; }

.badge { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 5px 10px; border-radius: 999px; font-size: .76rem; font-weight: 800; white-space: nowrap; }
.badge-primary { color: var(--blue-700); background: var(--blue-100); }
.badge-success { color: var(--green-700); background: var(--green-100); }
.badge-warning { color: var(--amber-700); background: var(--amber-100); }
.badge-purple { color: var(--purple-700); background: var(--purple-100); }
.badge-danger { color: var(--red-700); background: var(--red-100); }
.badge-muted { color: #536176; background: #e9edf3; }
.beta-pill { display: inline-flex; padding: 6px 10px; border: 1px solid #c8d9ef; border-radius: 999px; color: var(--blue-700); background: var(--blue-50); font-size: .75rem; font-weight: 800; }

.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.card-pad { padding: 24px; }
.card-lg { padding: 32px; border-radius: var(--radius-lg); }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.card-header h2, .card-header h3 { margin-bottom: 4px; }
.card-subtle { background: var(--surface-soft); box-shadow: none; }
.card-blue { background: var(--surface-blue); border-color: #cee2fb; box-shadow: none; }

.site-header { position: sticky; z-index: 100; top: 0; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(218,226,237,.9); backdrop-filter: blur(12px); }
.header-inner { display: flex; align-items: center; min-height: 76px; gap: 28px; }
.brand { display: inline-flex; flex: 0 0 auto; }
.brand img { width: 206px; }
.site-nav { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.site-nav a { position: relative; color: #42516a; font-size: .92rem; font-weight: 700; }
.site-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; content: ""; background: var(--blue-600); transform: scaleX(0); transition: transform .15s ease; }
.site-nav a:hover, .site-nav a.is-active { color: var(--navy-950); }
.site-nav a.is-active::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.nav-toggle { display: none; margin-left: auto; color: var(--navy-900); background: transparent; border: 0; }

.flash { border-bottom: 1px solid var(--line); }
.flash-success { color: var(--green-700); background: #eaf9f1; }
.flash-warning { color: var(--amber-700); background: #fff7df; }
.flash-error { color: var(--red-700); background: #fff0f1; }
.flash-info { color: var(--blue-700); background: var(--blue-50); }
.flash-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 46px; font-weight: 700; }
.flash-inner button { display: grid; place-items: center; padding: 6px; color: inherit; background: transparent; border: 0; }

.hero { position: relative; overflow: hidden; padding: 84px 0 72px; background: radial-gradient(circle at 82% 12%, rgba(69,144,245,.18), transparent 33%), linear-gradient(180deg, #fff, #f5f9ff); }
.hero::before { position: absolute; top: 120px; right: -130px; width: 420px; height: 420px; content: ""; border: 1px solid rgba(18,102,229,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(18,102,229,.035), 0 0 0 110px rgba(18,102,229,.025); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 54px; }
.hero-copy h1 span { color: var(--blue-600); }
.hero-copy .lead { max-width: 650px; margin-bottom: 24px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.hero-note { display: flex; align-items: flex-start; gap: 10px; max-width: 630px; padding: 13px 15px; color: #4b5c74; background: rgba(255,255,255,.75); border: 1px solid #d9e6f6; border-radius: 12px; font-size: .92rem; }
.hero-note strong { color: var(--navy-900); }
.hero-visual { position: relative; min-height: 520px; }
.hero-profile-card { position: absolute; top: 24px; left: 0; width: min(420px, 90%); padding: 25px; background: #fff; border: 1px solid #d7e2f0; border-radius: 22px; box-shadow: var(--shadow-lg); }
.hero-access-card { position: absolute; right: 0; bottom: 20px; width: min(335px, 78%); padding: 22px; background: #fff; border: 1px solid #d7e2f0; border-radius: 20px; box-shadow: var(--shadow-md); }
.hero-lock-chip { position: absolute; top: 0; right: 14px; display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: var(--green-700); background: #edfbf4; border: 1px solid #bfe8d0; border-radius: 999px; font-size: .78rem; font-weight: 800; box-shadow: var(--shadow-sm); }
.profile-anonymous { display: flex; align-items: center; gap: 14px; }
.avatar { display: grid; flex: 0 0 auto; place-items: center; width: 58px; height: 58px; color: var(--blue-700); background: linear-gradient(135deg, #d9e9ff, #eef5ff); border: 1px solid #c8ddfa; border-radius: 18px; font-weight: 850; }
.avatar.round { border-radius: 50%; }
.avatar-lg { width: 80px; height: 80px; border-radius: 24px; font-size: 1.35rem; }
.profile-anonymous h3 { margin: 0 0 4px; font-size: 1.06rem; }
.meta-row { display: flex; flex-wrap: wrap; gap: 8px 14px; color: var(--muted); font-size: .86rem; }
.meta-item { display: inline-flex; align-items: center; gap: 5px; }
.proof-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 22px 0; }
.proof-stat { padding: 12px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; text-align: center; }
.proof-stat strong { display: block; color: var(--navy-900); font-size: 1.25rem; }
.proof-stat span { color: var(--muted); font-size: .72rem; }
.skill-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.skill-pill { display: inline-flex; align-items: center; padding: 6px 10px; color: #405169; background: #f1f4f8; border: 1px solid #e1e7ef; border-radius: 999px; font-size: .77rem; font-weight: 700; }
.access-company { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.company-mark { display: grid; flex: 0 0 auto; place-items: center; width: 44px; height: 44px; color: #fff; background: var(--navy-900); border-radius: 12px; font-size: .77rem; font-weight: 850; }
.request-list { display: grid; gap: 7px; margin: 14px 0 18px; color: var(--muted); font-size: .84rem; }
.request-list span { display: flex; align-items: center; gap: 7px; }

.manifesto-strip { color: #fff; background: var(--navy-950); }
.manifesto-inner { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; min-height: 104px; }
.manifesto-icon { display: grid; place-items: center; width: 52px; height: 52px; color: #9fc5ff; background: rgba(255,255,255,.08); border-radius: 16px; }
.manifesto-inner strong { display: block; color: #fff; font-size: 1.08rem; }
.manifesto-inner span { color: #bdcbe0; }

.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.step-card { position: relative; min-height: 265px; padding: 28px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 20px; }
.step-number { position: absolute; top: 18px; right: 22px; color: #dce9fb; font-size: 4.2rem; font-weight: 900; line-height: 1; }
.step-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 24px; color: var(--blue-700); background: var(--blue-100); border-radius: 15px; }
.step-card h3 { font-size: 1.5rem; }
.step-card p { color: var(--muted); }

.architecture-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.arch-card { padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.arch-card .arch-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 18px; color: var(--blue-700); background: var(--blue-50); border-radius: 13px; }
.arch-card ul { display: grid; gap: 8px; padding: 0; margin: 18px 0 0; list-style: none; color: var(--muted); font-size: .9rem; }
.arch-card li { display: flex; align-items: flex-start; gap: 8px; }
.arch-card li .icon { margin-top: 2px; color: var(--green-600); }
.product-line { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; padding: 12px 16px; color: var(--navy-900); background: #fff; border: 1px solid #cfe0f5; border-radius: 999px; font-weight: 800; }

.levels { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 28px 0 8px; }
.levels::before { position: absolute; top: 56px; right: 10%; left: 10%; height: 4px; content: ""; background: #dbe5f1; }
.level { position: relative; z-index: 1; text-align: center; }
.level-dot { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 15px; color: var(--muted); background: #fff; border: 4px solid #dbe5f1; border-radius: 50%; font-weight: 900; }
.level.is-complete .level-dot { color: #fff; background: var(--green-600); border-color: #c8edda; }
.level.is-current .level-dot { color: #fff; background: var(--blue-600); border-color: #c9ddfb; box-shadow: 0 0 0 8px rgba(18,102,229,.08); }
.level strong { display: block; color: var(--navy-900); }
.level span { display: block; max-width: 180px; margin: 4px auto 0; color: var(--muted); font-size: .78rem; }

.company-mode-card { position: relative; padding: 30px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-sm); }
.company-mode-card::after { position: absolute; right: -50px; bottom: -50px; width: 170px; height: 170px; content: ""; background: radial-gradient(circle, rgba(18,102,229,.1), transparent 68%); }
.mode-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 22px; color: var(--blue-700); background: var(--blue-100); border-radius: 16px; }
.feature-list { display: grid; gap: 10px; padding: 0; margin: 18px 0 24px; list-style: none; color: var(--muted); }
.feature-list li { display: flex; align-items: flex-start; gap: 9px; }
.feature-list .icon { margin-top: 3px; color: var(--green-600); }

.profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.candidate-card { display: flex; flex-direction: column; min-height: 100%; padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); transition: transform .16s ease, box-shadow .16s ease; }
.candidate-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.candidate-card-header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px; }
.candidate-card h3 { margin: 0 0 4px; font-size: 1.04rem; }
.candidate-card .summary { min-height: 75px; color: var(--muted); font-size: .88rem; }
.candidate-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 18px; margin-top: auto; border-top: 1px solid var(--line); }
.anonymous-code { color: var(--soft); font-size: .72rem; font-weight: 800; letter-spacing: .06em; }

.comparison-table { width: 100%; overflow: hidden; border-spacing: 0; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.comparison-table th, .comparison-table td { padding: 17px 18px; border-bottom: 1px solid var(--line); text-align: left; }
.comparison-table th { color: var(--navy-900); background: #f5f8fc; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.comparison-table td:first-child { color: var(--muted); }
.comparison-table tr:last-child td { border-bottom: 0; }

.site-footer { padding: 58px 0 22px; color: #b7c4d8; background: var(--navy-950); }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 42px; }
.footer-brand img { filter: brightness(0) invert(1); opacity: .95; }
.footer-brand p { max-width: 330px; margin: 14px 0; color: #c8d2e2; }
.site-footer h2 { margin-bottom: 16px; color: #fff; font-size: .87rem; text-transform: uppercase; letter-spacing: .08em; }
.site-footer a, .footer-link-button { display: block; margin: 9px 0; color: #b7c4d8; font-size: .9rem; }
.site-footer a:hover, .footer-link-button:hover { color: #fff; }
.footer-link-button { display: flex; align-items: center; gap: 7px; padding: 0; background: transparent; border: 0; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; margin-top: 42px; border-top: 1px solid rgba(255,255,255,.1); font-size: .8rem; }

.consent-banner { position: fixed; z-index: 500; right: 22px; bottom: 22px; left: 22px; display: flex; align-items: center; justify-content: space-between; gap: 22px; max-width: 980px; padding: 18px 20px; margin: auto; background: #fff; border: 1px solid #cfdbea; border-radius: 16px; box-shadow: var(--shadow-lg); }
.consent-banner[hidden], .consent-dialog[hidden], .dialog-backdrop[hidden] { display: none !important; }
.consent-copy { display: grid; gap: 3px; }
.consent-copy span { color: var(--muted); font-size: .86rem; }
.consent-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.dialog-backdrop { position: fixed; z-index: 600; inset: 0; background: rgba(5, 17, 37, .58); backdrop-filter: blur(3px); }
.consent-dialog { position: fixed; z-index: 601; top: 50%; left: 50%; width: min(calc(100% - 28px), 660px); max-height: calc(100vh - 32px); padding: 26px; overflow: auto; background: #fff; border-radius: 22px; box-shadow: var(--shadow-lg); transform: translate(-50%, -50%); }
.dialog-header { display: flex; justify-content: space-between; gap: 20px; }
.dialog-header h2 { font-size: 1.8rem; }
.consent-category { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; border-top: 1px solid var(--line); }
.consent-category > div { display: grid; gap: 3px; }
.consent-category span { color: var(--muted); font-size: .84rem; }
.consent-category.is-disabled { opacity: .72; }
.switch { padding: 6px 9px; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.switch-on { color: var(--green-700); background: var(--green-100); }
.switch-control { display: flex; align-items: center; gap: 8px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 20px; border-top: 1px solid var(--line); }

.page-hero { padding: 58px 0; background: linear-gradient(180deg, #f7fbff, #fff); border-bottom: 1px solid var(--line); }
.page-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 40px; }
.page-hero h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
.page-hero-panel { padding: 26px; background: #fff; border: 1px solid #d5e3f4; border-radius: 20px; box-shadow: var(--shadow-md); }

.filters { display: grid; grid-template-columns: 2fr repeat(3, 1fr) auto; gap: 10px; padding: 16px; margin-bottom: 26px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-sm); }
.input-group { display: grid; gap: 7px; }
.input-group label { color: var(--navy-900); font-size: .8rem; font-weight: 800; }
.input, select.input, textarea.input { width: 100%; min-height: 46px; padding: 11px 13px; color: var(--ink); background: #fff; border: 1px solid var(--line-strong); border-radius: 11px; }
textarea.input { min-height: 120px; resize: vertical; }
.input-with-icon { position: relative; }
.input-with-icon .icon { position: absolute; top: 50%; left: 13px; color: var(--soft); transform: translateY(-50%); }
.input-with-icon .input { padding-left: 42px; }
.form-card { max-width: 760px; padding: 30px; margin-inline: auto; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-md); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.form-grid .full { grid-column: 1 / -1; }
.checkbox-row { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: .9rem; }
.checkbox-row input { width: 18px; height: 18px; margin-top: 3px; }
.form-help { color: var(--muted); font-size: .78rem; }
.error-list { padding: 14px 16px 14px 36px; color: var(--red-700); background: var(--red-100); border: 1px solid #f0b9bd; border-radius: 12px; }

.profile-page { padding: 48px 0 80px; background: var(--surface-soft); }
.profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: 24px; }
.profile-hero-card { padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-sm); }
.profile-head { display: flex; align-items: flex-start; gap: 20px; }
.profile-head-content { flex: 1; }
.profile-head h1 { font-size: clamp(2rem, 4vw, 3rem); }
.profile-demo-notice { display: flex; align-items: center; gap: 9px; padding: 11px 14px; margin-bottom: 18px; color: var(--blue-700); background: var(--blue-50); border: 1px solid #cce0fa; border-radius: 12px; font-size: .85rem; }
.profile-section { padding: 26px; margin-top: 20px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.project-list { display: grid; gap: 16px; }
.project-card { padding: 21px; border: 1px solid var(--line); border-radius: 15px; }
.project-card-top { display: flex; justify-content: space-between; gap: 16px; }
.project-card h3 { margin-bottom: 5px; }
.project-meta-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 17px 0; }
.project-meta { padding: 13px; background: var(--surface-soft); border-radius: 11px; }
.project-meta strong { display: block; margin-bottom: 3px; color: var(--navy-900); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.project-meta span { color: var(--muted); font-size: .87rem; }
.profile-side { display: grid; gap: 18px; position: sticky; top: 96px; }
.locked-asset { padding: 22px; text-align: center; background: linear-gradient(180deg, #f4f8ff, #fff); border: 1px solid #cfe0f4; border-radius: 18px; }
.locked-asset .lock-orb { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 14px; color: var(--blue-700); background: var(--blue-100); border-radius: 18px; }
.permission-list { display: grid; gap: 11px; padding: 0; margin: 16px 0; list-style: none; }
.permission-list li { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 10px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .86rem; }
.permission-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.permission-list strong { color: var(--navy-900); text-align: right; }

.app-body { background: #f4f7fb; }
.app-shell { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 100vh; }
.app-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 22px 16px; background: #fff; border-right: 1px solid var(--line); }
.app-brand { display: flex; align-items: center; gap: 10px; padding: 0 10px 22px; color: var(--navy-950); font-weight: 850; }
.app-sidebar nav { display: grid; gap: 5px; }
.app-nav-link { display: flex; align-items: center; gap: 11px; padding: 11px 12px; color: #4f6079; border-radius: 11px; font-size: .9rem; font-weight: 700; }
.app-nav-link:hover { color: var(--blue-700); background: var(--blue-50); }
.app-nav-link.is-active { color: var(--blue-700); background: var(--blue-100); }
.sidebar-trust-card { display: grid; gap: 8px; padding: 16px; margin: auto 0 18px; color: #c9d8eb; background: var(--navy-950); border-radius: 15px; }
.sidebar-trust-card .icon { color: #86b5fb; }
.sidebar-trust-card strong { color: #fff; }
.sidebar-trust-card span { font-size: .78rem; }
.sidebar-trust-card a { display: flex; align-items: center; gap: 5px; color: #9bc2fa; font-size: .78rem; font-weight: 800; }
.app-main { min-width: 0; }
.app-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 0 30px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); }
.app-topbar h1, .app-topbar-title { margin: 0; color: var(--fc-navy); font-size: 1.35rem; font-weight: 850; line-height: 1.2; }
.app-topbar-actions { display: flex; align-items: center; gap: 9px; }
.app-content { width: min(calc(100% - 44px), 1380px); padding: 30px 0 70px; margin-inline: auto; }
.app-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 22px; }
.app-card { padding: 23px; background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: 0 3px 10px rgba(20,42,82,.045); }
.app-card + .app-card { margin-top: 18px; }
.app-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.app-stat { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 15px; }
.app-stat .stat-label { color: var(--muted); font-size: .77rem; font-weight: 750; }
.app-stat strong { display: block; margin: 5px 0 2px; color: var(--navy-950); font-size: 1.7rem; }
.app-stat small { font-size: .75rem; }
.level-progress { padding: 24px; background: linear-gradient(135deg, var(--navy-950), #1c4d8d); border-radius: 18px; color: #d5e2f3; }
.level-progress h2 { color: #fff; font-size: 1.45rem; }
.level-progress .levels { padding-top: 16px; }
.level-progress .levels::before { top: 44px; background: rgba(255,255,255,.15); }
.level-progress .level-dot { width: 44px; height: 44px; color: #adc1dc; background: #17365f; border-color: rgba(255,255,255,.14); }
.level-progress .level.is-complete .level-dot { background: var(--green-600); }
.level-progress .level.is-current .level-dot { background: var(--blue-500); }
.level-progress .level strong { color: #fff; font-size: .8rem; }
.level-progress .level span { color: #adc1dc; font-size: .67rem; }
.next-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px; margin-top: 18px; color: var(--navy-950); background: #fff; border-radius: 13px; }
.next-action p { margin: 3px 0 0; color: var(--muted); font-size: .84rem; }
.table-wrap { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.data-table th { color: var(--soft); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
.data-table td { font-size: .87rem; }
.data-table tr:last-child td { border-bottom: 0; }
.request-card { padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.request-card + .request-card { margin-top: 14px; }
.request-head { display: flex; justify-content: space-between; gap: 16px; }
.request-company { display: flex; align-items: center; gap: 12px; }
.request-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.permission-checks { display: grid; gap: 9px; margin: 15px 0; }
.permission-check { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: .86rem; }
.permission-check input { width: 18px; height: 18px; }
.privacy-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.privacy-toggle-row:last-child { border-bottom: 0; }
.privacy-toggle-copy { display: grid; gap: 3px; }
.privacy-toggle-copy span { color: var(--muted); font-size: .82rem; }
.toggle { position: relative; display: inline-flex; width: 48px; height: 28px; }
.toggle input { position: absolute; opacity: 0; }
.toggle span { width: 100%; background: #cfd7e2; border-radius: 999px; transition: background .15s ease; }
.toggle span::after { position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; content: ""; background: #fff; border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.16); transition: transform .15s ease; }
.toggle input:checked + span { background: var(--blue-600); }
.toggle input:checked + span::after { transform: translateX(20px); }

.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.trust-card { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 17px; }
.trust-card .icon-wrap { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 16px; color: var(--blue-700); background: var(--blue-100); border-radius: 14px; }
.policy-copy { max-width: 850px; }
.policy-copy h2 { margin-top: 38px; font-size: 1.7rem; }
.policy-copy h3 { margin-top: 24px; font-size: 1.2rem; }
.policy-copy ul, .policy-copy ol { color: var(--muted); }
.policy-callout { padding: 18px 20px; margin: 24px 0; color: var(--navy-900); background: var(--blue-50); border: 1px solid #cbe0fb; border-left: 5px solid var(--blue-600); border-radius: 12px; }

@media (max-width: 1080px) {
    .site-nav { position: fixed; top: 76px; right: 16px; left: 16px; display: none; align-items: stretch; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-lg); }
    .site-nav.is-open { display: grid; }
    .site-nav a { padding: 10px; }
    .site-nav a::after { display: none; }
    .nav-toggle { display: inline-grid; place-items: center; }
    .header-actions { margin-left: auto; }
    .hero-grid, .page-hero-grid { grid-template-columns: 1fr; }
    .hero-copy { max-width: 800px; }
    .hero-visual { width: min(100%, 620px); margin-inline: auto; }
    .profile-grid { grid-template-columns: repeat(2, 1fr); }
    .filters { grid-template-columns: repeat(2, 1fr); }
    .filters .input-group:first-child { grid-column: 1 / -1; }
    .app-shell { grid-template-columns: 84px minmax(0, 1fr); }
    .app-sidebar { padding-inline: 10px; }
    .app-brand span, .app-nav-link span, .sidebar-trust-card { display: none; }
    .app-brand, .app-nav-link { justify-content: center; }
    .app-grid { grid-template-columns: 1fr; }
    .profile-layout { grid-template-columns: 1fr; }
    .profile-side { position: static; grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    .section { padding: 66px 0; }
    .header-inner { min-height: 68px; }
    .brand img { width: 174px; }
    .site-nav { top: 68px; }
    .header-actions .button-ghost { display: none; }
    .hero { padding-top: 58px; }
    .hero-visual { min-height: 600px; }
    .hero-profile-card { width: 94%; }
    .hero-access-card { width: 88%; }
    .steps-grid, .architecture-grid, .grid-3, .grid-4, .trust-grid { grid-template-columns: 1fr; }
    .grid-2 { grid-template-columns: 1fr; }
    .levels { grid-template-columns: 1fr; gap: 18px; padding: 8px 0; }
    .levels::before { display: none; }
    .level { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 12px; text-align: left; }
    .level-dot { width: 46px; height: 46px; margin: 0; }
    .level span { max-width: none; margin: 2px 0 0; }
    .profile-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; }
    .consent-banner { align-items: stretch; flex-direction: column; }
    .consent-actions { justify-content: flex-end; }
    .filters { grid-template-columns: 1fr; }
    .filters .input-group:first-child { grid-column: auto; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .project-meta-grid { grid-template-columns: 1fr; }
    .profile-head { flex-direction: column; }
    .profile-side { grid-template-columns: 1fr; }
    .app-shell { display: block; }
    .app-sidebar { position: static; display: flex; flex-direction: row; height: auto; padding: 8px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .app-sidebar nav { display: flex; gap: 4px; }
    .app-brand, .app-sidebar > .app-nav-link { display: none; }
    .app-nav-link { min-width: 48px; padding: 10px; }
    .app-topbar { padding: 0 16px; }
    .app-content { width: min(calc(100% - 24px), 1380px); padding-top: 18px; }
    .app-stats { grid-template-columns: repeat(2, 1fr); }
    .level-progress .levels { display: grid; grid-template-columns: repeat(4, 1fr); }
    .level-progress .level { display: block; text-align: center; }
    .level-progress .level-dot { margin-inline: auto; }
    .level-progress .level span { display: none; }
    .next-action { align-items: stretch; flex-direction: column; }
}

@media (max-width: 500px) {
    .container { width: min(calc(100% - 22px), var(--max)); }
    h1 { font-size: 2.45rem; }
    .header-actions .button-primary { display: none; }
    .hero-actions .button { width: 100%; }
    .hero-visual { min-height: 650px; }
    .hero-profile-card { left: 0; width: 100%; }
    .hero-access-card { right: 0; width: 94%; }
    .proof-stats { grid-template-columns: 1fr; }
    .manifesto-inner { grid-template-columns: 1fr; padding: 20px 0; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .consent-actions, .dialog-actions { flex-direction: column; }
    .consent-actions .button, .dialog-actions .button { width: 100%; }
    .app-stats { grid-template-columns: 1fr; }
    .app-topbar h1, .app-topbar-title { font-size: 1.05rem; }
    .app-topbar-actions .button span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Utility spacing and page-specific helpers */
.h3-space { margin-top: 12px; }
.block-space { margin-top: 20px; }
.block-space-lg { margin-top: 30px; }
.block-space-small { margin-top: 10px; }
.field-space { margin-top: 14px; }
.profile-summary { margin-top: 16px; }
.project-description { margin-top: 14px; }
.profile-grid-spaced { margin-top: 24px; }
.results-line { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.eyebrow-light { color: #9cc4ff; }
.auth-grid { align-items: start; max-width: 1050px; }
.auth-card { max-width: none; width: 100%; }
.auth-title { font-size: clamp(2rem, 4vw, 3.2rem); }
.demo-login-card { min-height: 100%; }
.compact-grid { align-items: end; }
.compact-grid .request-actions { margin-top: 0; }
.app-sidebar-logout { margin: 0; }
.app-nav-button { width: 100%; border: 0; background: transparent; text-align: left; }
.app-flash-inner { width: min(calc(100% - 44px), 1380px); margin-inline: auto; }
.app-card h2 { font-size: 1.35rem; letter-spacing: -.015em; }
.app-card h3 { font-size: 1.05rem; }
.profile-side h2, .locked-asset h2 { font-size: 1.25rem; }
.app-main .company-mode-card h2 { font-size: 1.45rem; }
.voice-shell { max-width: 940px; min-height: 680px; padding: clamp(28px, 6vw, 66px); margin-inline: auto; text-align: center; background: radial-gradient(circle at 50% 10%, rgba(18,102,229,.12), transparent 38%), #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow-md); }
.voice-screen { display: none; max-width: 760px; margin-inline: auto; }
.voice-screen.is-active { display: block; }
.voice-screen[hidden] { display: none !important; }
.voice-screen h1 { font-size: clamp(2.3rem, 5vw, 4rem); }
.voice-screen h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
.voice-hero-icon { position: relative; display: grid; place-items: center; width: 88px; height: 88px; margin: 0 auto 24px; color: var(--blue-700); background: var(--blue-100); border-radius: 27px; }
.voice-hero-icon > span { position: absolute; right: -8px; bottom: -8px; display: grid; place-items: center; width: 38px; height: 38px; color: var(--green-700); background: var(--green-100); border: 4px solid #fff; border-radius: 13px; }
.voice-hero-icon.is-success { color: var(--green-700); background: var(--green-100); }
.voice-rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin: 30px 0; text-align: left; }
.voice-rules > div { display: flex; align-items: center; gap: 12px; padding: 16px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 14px; }
.voice-rules .icon { color: var(--blue-700); }
.voice-rules span { display: grid; }
.voice-rules small { font-size: .75rem; }
.voice-callout { text-align: left; }
.voice-actions { justify-content: center; margin-top: 24px; }
.voice-status { padding: 14px 16px; margin: 22px 0; color: var(--navy-900); background: var(--blue-50); border: 1px solid #cbe0fb; border-radius: 12px; font-weight: 750; }
.voice-status.is-success { color: var(--green-700); background: var(--green-100); border-color: #b8e7cf; }
.voice-status.is-error { color: var(--red-700); background: var(--red-100); border-color: #efb8bc; }
.voice-question { max-width: 790px; margin: 30px auto; font-size: clamp(1.8rem, 4vw, 3.15rem) !important; }
.voice-question-small { max-width: 680px; margin: 0 auto 18px; color: var(--muted); }
.voice-timer { display: grid; place-items: center; width: 150px; height: 150px; margin: 28px auto; color: var(--blue-700); background: #fff; border: 10px solid var(--blue-100); border-radius: 50%; box-shadow: var(--shadow-sm); }
.voice-timer span { font-size: 3.1rem; font-weight: 900; line-height: 1; }
.voice-timer small { max-width: 90px; color: var(--muted); font-size: .72rem; line-height: 1.2; }
.voice-timer.is-recording { color: #c73743; border-color: #ffd8db; }
.recording-pill { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; color: #a82934; background: #ffe9eb; border-radius: 999px; font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.recording-pill > span { width: 9px; height: 9px; background: #d43b48; border-radius: 50%; box-shadow: 0 0 0 5px rgba(212,59,72,.12); }
.voice-wave { width: min(100%, 720px); height: 120px; margin: 14px auto; background: #f8fbff; border: 1px solid #dbe7f6; border-radius: 18px; }
.voice-player { width: min(100%, 620px); margin: 26px auto 10px; }
.voice-text-form { display: grid; gap: 18px; margin-top: 28px; text-align: left; }
@media (max-width: 680px) { .voice-shell { min-height: 0; padding: 28px 18px; border-radius: 20px; } .voice-rules { grid-template-columns: 1fr; } .voice-actions .button { width: 100%; } }

/* Installer preflight */
.requirement-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; margin: 20px 0 26px; }
.requirement-item { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
/* FattoChiaro v0.2 — product interface */
:root {
    --fc-blue: #075df4;
    --fc-blue-2: #2677ff;
    --fc-navy: #061e52;
    --fc-ink: #10254c;
    --fc-bg: #f6f8fc;
    --fc-line: #dfe6f1;
    --fc-soft-blue: #eef5ff;
    --fc-green: #16895a;
    --fc-green-soft: #e8f8ef;
    --fc-admin: #09162d;
}
body { color: #1a2c4e; }
.site-header { position: sticky; top: 0; background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(9,35,80,.08); }
.header-inner { min-height: 72px; }
.brand img { width: 210px; }
.site-nav { gap: 30px; }
.site-nav a { color: #17315e; font-size: .87rem; }
.header-company-link { color: var(--fc-navy); font-size: .85rem; font-weight: 800; white-space: nowrap; }
.header-actions { gap: 11px; }

/* Home */
.new-homepage { background: #fff; }
.home-hero { padding: 54px 0 42px; border-bottom: 1px solid #e5ebf4; background: radial-gradient(circle at 75% 12%, rgba(33,113,255,.08), transparent 35%), #fff; overflow: hidden; }
.home-hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 54px; align-items: center; }
.home-kicker { display: inline-flex; margin-bottom: 13px; color: var(--fc-blue); font-size: .72rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.home-hero-copy h1 { max-width: 620px; font-size: clamp(3rem, 5.35vw, 5.2rem); letter-spacing: -.052em; line-height: .98; }
.home-hero-copy h1 span { color: var(--fc-blue); }
.home-hero-lead { max-width: 650px; margin: 22px 0 28px; color: #5c6c85; font-size: 1.16rem; line-height: 1.55; }
.home-role-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; max-width: 720px; }
.home-role-actions > div { display: grid; gap: 8px; padding-right: 20px; border-right: 1px solid var(--fc-line); }
.home-role-actions > div:last-child { padding-right: 0; border-right: 0; }
.home-role-actions > div > strong { color: var(--fc-navy); font-size: .82rem; }
.home-role-actions small { font-size: .72rem; }
.home-ai-line { display: flex; align-items: center; gap: 8px; margin: 21px 0 0; color: #4d5e78; font-size: .88rem; }
.home-product-preview { position: relative; min-height: 455px; }
.preview-privacy-card, .preview-proof-card, .preview-request-card { position: absolute; background: #fff; border: 1px solid #dce5f1; border-radius: 18px; box-shadow: 0 18px 45px rgba(17,45,93,.12); }
.preview-privacy-card { top: 38px; left: 0; width: 255px; padding: 20px; }
.preview-privacy-card > span, .preview-request-card > span { color: var(--fc-navy); font-size: .82rem; font-weight: 900; }
.preview-privacy-card > p { color: #718097; font-size: .75rem; }
.preview-privacy-card > div { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid #edf1f6; }
.preview-privacy-card small { color: #8490a3; }
.preview-privacy-card strong { display: flex; align-items: center; gap: 7px; color: #19325d; font-size: .77rem; }
.preview-proof-card { z-index: 2; top: 12px; left: 210px; width: 330px; padding: 22px; }
.preview-card-title { display: flex; justify-content: space-between; align-items: center; }
.preview-card-title > span { font-size: .84rem; font-weight: 900; color: var(--fc-navy); }
.preview-card-title em { display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; color: #14784d; background: #e7f8ee; border-radius: 999px; font-size: .68rem; font-style: normal; font-weight: 800; }
.preview-proof-card h3 { margin-top: 17px; font-size: 1rem; }
.preview-proof-card > small { display: block; color: #6d7b90; font-size: .72rem; }
.preview-proof-card > p { margin: 13px 0; color: #50617b; font-size: .78rem; }
.preview-proof-card footer { display: flex; gap: 14px; padding-top: 13px; margin-top: 13px; border-top: 1px solid #edf1f6; color: #435673; font-size: .7rem; }
.preview-proof-card footer span { display: flex; align-items: center; gap: 5px; }
.preview-request-card { z-index: 1; top: 50px; right: 0; width: 245px; padding: 20px; }
.preview-request-card .access-company { margin: 13px 0; }
.preview-request-card .access-company small { display: block; color: #16895a; font-size: .68rem; }
.preview-request-card p { color: #566782; font-size: .75rem; }
.preview-request-card > div:last-child { display: flex; gap: 7px; }
.preview-request-card button { padding: 8px 10px; border: 1px solid #cfd9e7; border-radius: 8px; color: #18305b; background: #fff; font-size: .68rem; font-weight: 800; }
.preview-request-card button:last-child { color: #fff; background: var(--fc-blue); border-color: var(--fc-blue); }
.preview-security-pill { position: absolute; right: 38px; bottom: 48px; display: flex; align-items: center; gap: 8px; padding: 9px 17px; border: 1px solid #dbe4ef; border-radius: 999px; background: #fff; color: #435570; box-shadow: 0 8px 25px rgba(17,45,93,.07); font-size: .72rem; font-weight: 800; }
.preview-security-pill span { color: #7b8798; font-weight: 600; }
.home-dashboard-section { padding: 28px 0; background: #fbfcfe; }
.home-dashboard-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 18px; }
.home-panel { position: relative; min-height: 292px; padding: 24px; background: #fff; border: 1px solid #dfe7f1; border-radius: 18px; overflow: hidden; }
.home-panel-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 22px; }
.home-panel-header h2 { margin: 0; font-size: 1.2rem; }
.home-panel-header > span { color: #8290a4; font-size: .72rem; }
.home-three-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.home-three-steps > div { position: relative; text-align: center; }
.home-three-steps > div:not(:last-child)::after { position: absolute; top: 42px; right: -16px; width: 28px; height: 1px; background: #ccd9eb; content: ""; }
.home-three-steps > div > span { position: absolute; top: 1px; left: 0; display: grid; place-items: center; width: 22px; height: 22px; color: #fff; background: var(--fc-blue); border-radius: 50%; font-size: .67rem; font-weight: 900; }
.home-three-steps i { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 15px; color: var(--fc-navy); background: #f5f8fd; border: 1px solid #dce5f1; border-radius: 50%; font-style: normal; }
.home-three-steps h3 { font-size: .95rem; }
.home-three-steps p { color: #68788f; font-size: .71rem; line-height: 1.55; }
.home-privacy-list { display: grid; gap: 13px; width: 68%; padding: 0; margin: 0; list-style: none; }
.home-privacy-list li { display: flex; gap: 10px; }
.home-privacy-list li > .icon { margin-top: 2px; color: var(--fc-navy); }
.home-privacy-list strong, .home-privacy-list span { display: block; }
.home-privacy-list strong { color: var(--fc-navy); font-size: .8rem; }
.home-privacy-list span { color: #758399; font-size: .67rem; }
.privacy-fc-mark { position: absolute; right: 36px; bottom: 35px; display: grid; justify-items: center; gap: 10px; }
.privacy-fc-mark::before { position: absolute; z-index: 0; width: 180px; height: 180px; border: 1px solid #eef2f8; border-radius: 50%; box-shadow: 0 0 0 25px rgba(232,239,249,.42),0 0 0 50px rgba(237,243,250,.24); content: ""; }
.privacy-fc-mark img, .privacy-fc-mark small { position: relative; z-index: 1; }
.privacy-fc-mark small { padding: 5px 9px; color: #5f7088; background: #eef3f9; border-radius: 6px; font-size: .64rem; }
.home-company-section { padding: 52px 0; border-top: 1px solid #e7edf5; }
.home-company-grid { display: grid; grid-template-columns: .62fr 1.38fr; gap: 26px; align-items: center; }
.home-company-copy h2 { font-size: 2rem; }
.home-company-copy p { color: #65758c; }
.company-choice-buttons { display: grid; gap: 10px; margin-top: 22px; }
.company-choice-buttons a { display: flex; align-items: center; gap: 12px; padding: 14px; color: #17315c; border: 1px solid #dce5f0; border-radius: 12px; }
.company-choice-buttons a:hover { border-color: #a9c7f1; background: #f8fbff; }
.company-choice-buttons strong, .company-choice-buttons small { display: block; }
.company-choice-buttons small { color: #78869a; }
.home-search-preview { padding: 20px; border: 1px solid #dce5f0; border-radius: 18px; background: #fff; box-shadow: 0 12px 35px rgba(12,42,90,.08); }
.home-search-bar { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 14px; color: #8a95a6; border: 1px solid #dce4ee; border-radius: 9px; font-size: .78rem; }
.home-filter-chips { display: flex; gap: 8px; margin: 10px 0 15px; }
.home-filter-chips span { padding: 6px 10px; color: #4d5d75; background: #f7f9fc; border: 1px solid #e2e8f0; border-radius: 7px; font-size: .65rem; }
.home-search-preview article { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 15px; background: #fdfefe; border: 1px solid #e2e8f0; border-radius: 12px; }
.home-search-preview h3 { margin: 0 0 3px; font-size: .9rem; }
.home-search-preview p { margin: 0 0 8px; color: #7a8799; font-size: .68rem; }
.search-proof-counts { display: grid; justify-items: end; gap: 7px; }
.search-proof-counts button { padding: 8px 10px; color: var(--fc-blue); background: #fff; border: 1px solid #a9c8f4; border-radius: 8px; font-size: .66rem; font-weight: 800; }
.anonymous-avatar { display: grid; place-items: center; width: 50px; height: 50px; color: var(--fc-blue); background: #eaf3ff; border-radius: 50%; font-weight: 900; }
.home-first-job { padding: 64px 0; background: linear-gradient(135deg,#061d50,#0e408b); }
.first-job-card { display: grid; grid-template-columns: 1.15fr .85fr; gap: 54px; align-items: center; color: #d8e5f7; }
.first-job-card h2 { color: #fff; font-size: 2.5rem; }
.first-job-card p { color: #c5d5ea; }
.first-job-copy ul { display: grid; gap: 8px; padding: 0; list-style: none; }
.first-job-copy li { display: flex; align-items: center; gap: 8px; }
.first-job-demo { max-width: 380px; justify-self: end; padding: 28px; color: #1b2d50; background: #fff; border-radius: 20px; box-shadow: 0 24px 60px rgba(0,0,0,.22); }
.first-job-avatar { display: grid; place-items: center; width: 76px; height: 76px; margin: 20px 0 15px; color: var(--fc-blue); background: #eaf3ff; border-radius: 50%; font-size: 1.35rem; font-weight: 900; }
.first-job-demo h3 { margin-bottom: 4px; }
.first-job-demo > p { color: #6b7a90; }
.first-job-evidence { display: grid; gap: 9px; padding-top: 15px; border-top: 1px solid #e5ebf3; }
.first-job-evidence span { display: flex; align-items: center; gap: 8px; font-size: .78rem; }
.home-demo-section { padding: 66px 0; background: #f8fafc; }
.demo-heading { align-items: center; }
.home-demo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.home-demo-grid article { position: relative; padding: 20px; background: #fff; border: 1px solid #dfe6ef; border-radius: 15px; }
.demo-avatar { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 14px; color: var(--fc-blue); background: #edf5ff; border-radius: 50%; font-weight: 900; }
.home-demo-grid h3 { margin: 12px 0 2px; font-size: 1rem; }
.home-demo-grid p { color: #697990; font-size: .78rem; }
.demo-proof-line { display: flex; flex-wrap: wrap; gap: 9px; padding: 11px 0; margin: 10px 0; border-top: 1px solid #edf1f6; border-bottom: 1px solid #edf1f6; color: #718097; font-size: .68rem; }
.home-demo-grid a { font-size: .76rem; font-weight: 800; }
.home-final-cta { padding: 38px 0; background: #fff; border-top: 1px solid #e5ebf3; }
.home-final-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.home-final-cta h2 { margin: 0 0 4px; font-size: 1.7rem; }
.home-final-cta p { margin: 0; color: #748198; }
.home-final-cta .container > div:last-child { display: flex; gap: 10px; }

/* Registration */
.registration-choice-page { background: #f7f9fc; min-height: 75vh; }
.registration-choice-hero { padding: 58px 0 20px; text-align: center; }
.registration-choice-heading { max-width: 780px; }
.registration-choice-heading h1 { font-size: 3.3rem; }
.role-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; max-width: 1040px; }
.role-choice-card { display: flex; flex-direction: column; padding: 34px; background: #fff; border: 1px solid #dce5f0; border-radius: 22px; box-shadow: 0 16px 38px rgba(14,42,82,.08); }
.role-choice-card h2 { margin-top: 18px; font-size: 1.8rem; }
.role-choice-card > p { color: #63738b; }
.role-choice-card .feature-list { flex: 1; }
.role-choice-icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 16px; color: var(--fc-blue); background: #eaf3ff; border-radius: 18px; }
.role-choice-company .role-choice-icon { color: var(--fc-green); background: var(--fc-green-soft); }
.registration-form-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: start; max-width: 1140px; }
.registration-promise { position: sticky; top: 110px; padding: 30px; color: #d9e6f7; background: linear-gradient(145deg,#071d4a,#0c4caa); border-radius: 24px; }
.registration-promise h1 { color: #fff; font-size: 2.45rem; }
.registration-promise .lead { color: #c7d8ef; }
.registration-promise-list { display: grid; gap: 14px; padding-top: 22px; margin-top: 22px; border-top: 1px solid rgba(255,255,255,.15); }
.registration-promise-list span { display: flex; gap: 9px; }
.company-registration-promise { background: linear-gradient(145deg,#082a28,#12654a); }
.registration-form { max-width: none; }
.form-card-heading { margin-bottom: 24px; }
.form-card-heading h2 { margin: 12px 0 4px; font-size: 2rem; }
.choice-fieldset, .compact-fieldset { padding: 0; margin: 0 0 22px; border: 0; }
.choice-fieldset legend, .compact-fieldset legend { margin-bottom: 10px; color: var(--fc-navy); font-size: .82rem; font-weight: 850; }
.choice-option { display: flex; align-items: flex-start; gap: 11px; padding: 13px; margin-bottom: 8px; border: 1px solid #dde5ef; border-radius: 11px; cursor: pointer; }
.choice-option:has(input:checked) { border-color: #7bb0fa; background: #f2f7ff; box-shadow: inset 0 0 0 1px #7bb0fa; }
.choice-option input { margin-top: 4px; }
.choice-option strong, .choice-option small { display: block; }
.choice-option small { margin-top: 2px; color: #748299; }
.form-switch { margin: 22px 0 0; text-align: center; font-size: .84rem; }

/* App shell */
.app-body { background: #f5f7fb; }
.app-shell { grid-template-columns: 250px minmax(0,1fr); }
.app-sidebar { padding: 17px 14px; overflow-y: auto; }
.app-brand { padding: 1px 10px 17px; }
.app-brand img { width: 183px; }
.app-account-card { display: flex; align-items: center; gap: 10px; padding: 12px; margin-bottom: 13px; background: #f6f8fc; border: 1px solid #e1e7f0; border-radius: 13px; }
.app-account-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 38px; height: 38px; color: #fff; background: var(--fc-blue); border-radius: 50%; font-size: .75rem; font-weight: 900; }
.app-account-card strong, .app-account-card span { display: block; }
.app-account-card strong { max-width: 155px; overflow: hidden; color: var(--fc-navy); font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.app-account-card span { color: #758299; font-size: .67rem; }
.app-sidebar nav { gap: 2px; }
.app-nav-link { padding: 9px 11px; font-size: .79rem; }
.app-sidebar-logout { margin-top: 2px; }
.sidebar-trust-card { margin-top: 20px; }
.app-topbar { min-height: 68px; padding: 0 24px; }
.app-topbar-copy { display: grid; gap: 1px; }
.app-section-label { color: #8490a2; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.app-topbar h1, .app-topbar-title { font-size: 1.18rem; }
.app-content { width: min(calc(100% - 36px),1450px); padding: 24px 0 64px; }
.admin-live-indicator { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; color: #187a50; background: #eaf8f0; border-radius: 999px; font-size: .69rem; font-weight: 850; }
.admin-live-indicator i { width: 7px; height: 7px; background: #20a86c; border-radius: 50%; box-shadow: 0 0 0 4px rgba(32,168,108,.12); }

/* Candidate dashboard */
.candidate-dashboard-hero { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 28px; padding: 28px; }
.candidate-hero-identity { display: flex; gap: 24px; }
.candidate-dashboard-avatar { position: relative; flex: 0 0 auto; width: 126px; height: 126px; }
.candidate-dashboard-avatar img, .candidate-dashboard-avatar > span { width: 100%; height: 100%; border: 5px solid #f0f4fa; border-radius: 50%; object-fit: cover; }
.candidate-dashboard-avatar > span { display: grid; place-items: center; color: var(--fc-blue); background: #e7f1ff; font-size: 1.6rem; font-weight: 900; }
.candidate-dashboard-avatar i { position: absolute; right: 8px; bottom: 7px; width: 17px; height: 17px; background: #22a36c; border: 3px solid #fff; border-radius: 50%; }
.candidate-hero-copy h1 { margin: 9px 0 4px; font-size: 2.35rem; }
.candidate-role-line { margin: 0 0 8px; color: #173363; font-size: 1.03rem; font-weight: 800; }
.privacy-inline { display: inline-flex; align-items: center; gap: 5px; color: #718097; font-size: .7rem; }
.candidate-meta { margin: 4px 0 13px; }
.candidate-dashboard-summary { max-width: 760px; color: #53647f; font-size: .85rem; }
.candidate-hero-actions { display: flex; gap: 9px; margin-top: 17px; }
.candidate-demo-privacy-box { padding: 20px; background: #f2f7ff; border: 1px solid #cfe1fb; border-radius: 16px; }
.candidate-demo-privacy-box h2 { font-size: 1rem; }
.candidate-demo-privacy-box ul { display: grid; gap: 9px; padding: 13px 0; margin: 0; border-top: 1px solid #d9e6f7; border-bottom: 1px solid #d9e6f7; list-style: none; color: #50617a; font-size: .74rem; }
.candidate-demo-privacy-box li { display: flex; align-items: center; gap: 7px; }
.candidate-demo-privacy-box a { display: inline-flex; align-items: center; gap: 5px; margin-top: 13px; font-size: .75rem; font-weight: 850; }
.candidate-level-panel { padding: 25px; color: #dce8f7; background: linear-gradient(135deg,#071d4c,#0e458f); border-radius: 18px; box-shadow: 0 15px 38px rgba(4,26,68,.17); }
.candidate-level-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.candidate-level-heading .eyebrow { color: #8dbbff; }
.candidate-level-heading h2 { color: #fff; font-size: 1.35rem; }
.journey-score { display: flex; align-items: baseline; gap: 5px; }
.journey-score strong { color: #fff; font-size: 2rem; }
.journey-score span { color: #a9bdd8; font-size: .68rem; }
.candidate-level-track { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 18px 0; }
.candidate-level-step { position: relative; display: flex; align-items: center; gap: 10px; padding-right: 15px; }
.candidate-level-step:not(:last-child)::after { position: absolute; right: 4px; width: 22px; height: 2px; background: rgba(255,255,255,.18); content: ""; }
.candidate-level-step > span { display: grid; flex: 0 0 auto; place-items: center; width: 38px; height: 38px; color: #8da4c2; background: #173865; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; font-size: .72rem; font-weight: 900; }
.candidate-level-step.is-current > span { color: #fff; background: var(--fc-blue-2); }
.candidate-level-step.is-complete > span { color: #fff; background: #1b9b66; }
.candidate-level-step strong, .candidate-level-step small { display: block; }
.candidate-level-step strong { color: #fff; font-size: .75rem; }
.candidate-level-step small { color: #9eb2cd; font-size: .58rem; }
.candidate-next-step { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; padding: 14px; color: #17305a; background: #fff; border-radius: 12px; }
.next-step-icon { display: grid; place-items: center; width: 43px; height: 43px; color: var(--fc-blue); background: #edf5ff; border-radius: 12px; }
.candidate-next-step strong { font-size: .82rem; }
.candidate-next-step p { margin: 2px 0 0; color: #697a92; font-size: .7rem; }
.candidate-dashboard-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 18px; }
.candidate-dashboard-main { display: grid; gap: 18px; }
.candidate-proof-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.candidate-proof-card { position: relative; min-height: 315px; padding: 17px; border: 1px solid #dfe6ef; border-radius: 13px; }
.proof-card-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 12px; color: var(--fc-blue); background: #edf5ff; border-radius: 10px; }
.candidate-proof-card h3 { margin: 12px 0 4px; font-size: .94rem; }
.proof-role { color: #61728a; font-size: .68rem; }
.candidate-proof-card > p { margin-top: 11px; color: #56667d; font-size: .72rem; }
.proof-result { padding: 10px; margin: 12px 0; background: #f7f9fc; border-radius: 9px; }
.proof-result strong, .proof-result span { display: block; }
.proof-result strong { color: #173260; font-size: .62rem; text-transform: uppercase; }
.proof-result span { color: #52647f; font-size: .68rem; }
.candidate-dashboard-side { display: grid; align-content: start; gap: 18px; }
.privacy-control-list { display: grid; gap: 0; padding: 0; margin: 0 0 17px; list-style: none; }
.privacy-control-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #e9edf3; font-size: .72rem; }
.privacy-control-list li span { display: flex; align-items: center; gap: 8px; color: #52637c; }
.privacy-control-list strong { color: #173260; }
.media-status-row { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid #e9edf3; }
.media-status-icon { display: grid; place-items: center; width: 36px; height: 36px; color: var(--fc-blue); background: #eef5ff; border-radius: 9px; }
.media-status-row strong, .media-status-row small { display: block; }
.media-status-row strong { font-size: .77rem; }
.media-status-row small { color: #78859a; font-size: .63rem; }
.profile-media-status > a, .access-mini-log > a { display: inline-flex; align-items: center; gap: 5px; margin-top: 14px; font-size: .72rem; font-weight: 850; }
.mini-log-item { display: flex; gap: 10px; padding: 11px 0; border-bottom: 1px solid #e9edf3; }
.mini-log-item > span { color: var(--fc-blue); }
.mini-log-item strong,.mini-log-item small { display: block; }
.mini-log-item strong { font-size: .74rem; }
.mini-log-item small { color: #7c889a; font-size: .62rem; }
.dashboard-request-list { display: grid; gap: 10px; }
.dashboard-request-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid #e0e7f0; border-radius: 11px; }
.dashboard-request-item strong,.dashboard-request-item span,.dashboard-request-item small { display: block; }
.dashboard-request-item strong { font-size: .78rem; }
.dashboard-request-item span { color: #52647f; font-size: .68rem; }
.dashboard-request-item small { margin-top: 3px; color: #8490a1; font-size: .61rem; }
.request-item-actions { display: grid; justify-items: end; gap: 6px; }
.request-item-actions a { font-size: .68rem; font-weight: 850; }

/* Candidate profile editor and projects */
.candidate-editor-hero { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; padding: 26px; }
.candidate-editor-photo { position: relative; }
.candidate-photo-large,.candidate-photo-placeholder { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; }
.candidate-photo-placeholder { display: grid; place-items: center; color: var(--fc-blue); background: #eaf3ff; font-size: 1.45rem; font-weight: 900; }
.private-photo-label { position: absolute; right: -6px; bottom: -5px; display: flex; align-items: center; gap: 4px; padding: 5px 8px; color: #38516f; background: #fff; border: 1px solid #dce4ee; border-radius: 999px; font-size: .58rem; font-weight: 850; }
.candidate-editor-intro h1 { margin: 8px 0 2px; font-size: 2.1rem; }
.progress-orb { display: grid; place-items: center; width: 105px; height: 105px; text-align: center; background: conic-gradient(var(--fc-blue) calc(var(--score,78)*1%),#e8edf4 0); border-radius: 50%; box-shadow: inset 0 0 0 9px #fff; }
.progress-orb strong { font-size: 1.45rem; color: var(--fc-navy); }
.progress-orb span { max-width: 70px; color: #758299; font-size: .55rem; }
.candidate-editor-grid { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 18px; }
.candidate-editor-side { display: grid; align-content: start; gap: 18px; }
.checkbox-cluster { display: flex; flex-wrap: wrap; gap: 8px; }
.check-chip input { position: absolute; opacity: 0; }
.check-chip span { display: inline-flex; padding: 7px 11px; color: #52627a; background: #f6f8fb; border: 1px solid #dce4ee; border-radius: 999px; font-size: .7rem; cursor: pointer; }
.check-chip input:checked + span { color: var(--fc-blue); background: #edf5ff; border-color: #8bb8f8; }
.form-actions-right { display: flex; justify-content: flex-end; }
.file-drop { display: block; cursor: pointer; }
.file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-drop > span { display: grid; justify-items: center; gap: 4px; padding: 20px; color: #617189; background: #f8fafc; border: 1px dashed #bfcddd; border-radius: 12px; text-align: center; }
.file-drop strong,.file-drop small { display: block; }
.file-drop strong { color: #17315d; font-size: .78rem; }
.file-drop small { font-size: .62rem; }
.asset-status { display: grid; gap: 3px; padding: 11px; margin-bottom: 12px; border-radius: 10px; }
.asset-status-success { color: #146c48; background: #eaf8f0; }
.asset-status strong { font-size: .76rem; }
.asset-status span { font-size: .63rem; }
.asset-analysis { display: grid; gap: 0; margin: 12px 0; }
.asset-analysis > div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid #e9edf3; }
.asset-analysis dt,.asset-analysis dd { margin: 0; font-size: .65rem; }
.asset-analysis dt { color: #78869a; }
.asset-analysis dd { color: #17315d; font-weight: 800; }
.path-criteria { display: grid; gap: 7px; padding: 0; margin: 15px 0 0; list-style: none; }
.path-criteria li { display: grid; grid-template-columns: auto 1fr auto; gap: 7px; align-items: center; color: #8490a2; font-size: .64rem; }
.path-criteria li.is-done { color: #286c51; }
.progress-bar { height: 8px; overflow: hidden; background: #e8edf4; border-radius: 999px; }
.progress-bar span { display: block; height: 100%; background: linear-gradient(90deg,var(--fc-blue),#34a4ff); border-radius: inherit; }
.projects-intro-card { display: flex; justify-content: space-between; gap: 25px; align-items: flex-end; padding: 27px; }
.projects-intro-card h1 { font-size: 2.1rem; }
.evidence-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.projects-workspace { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; align-items: start; }
.projects-list-panel { position: sticky; top: 88px; }
.project-vault-list { display: grid; gap: 12px; }
.project-vault-item { padding: 15px; border: 1px solid #dfe6ef; border-radius: 12px; }
.project-vault-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.project-kind-label { color: #8390a3; font-size: .62rem; }
.project-vault-item h3 { margin: 11px 0 5px; font-size: .91rem; }
.project-vault-item > p { color: #617087; font-size: .69rem; }
.project-vault-meta { display: flex; flex-wrap: wrap; gap: 9px; padding: 10px 0; border-top: 1px solid #edf1f5; color: #7d899a; font-size: .62rem; }
.project-vault-actions { display: flex; justify-content: space-between; gap: 8px; }
.empty-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 12px; color: var(--fc-blue); background: #edf5ff; border-radius: 15px; }
.confirmation-hero { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; padding: 28px; }
.confirmation-hero-icon { display: grid; place-items: center; width: 64px; height: 64px; color: #a46705; background: #fff3d8; border-radius: 18px; }
.confirmation-hero h1 { font-size: 2.1rem; }
.confirmations-grid { display: grid; grid-template-columns: 1fr 380px; gap: 18px; align-items: start; }
.share-invite-card { display: grid; grid-template-columns: 1fr 1.3fr; gap: 25px; align-items: center; background: #fff9e9; border-color: #f1d48c; }
.copy-link-row { display: flex; gap: 8px; }
.confirmation-list { display: grid; gap: 10px; }
.confirmation-item { padding: 13px; border: 1px solid #e0e7ef; border-radius: 11px; }
.confirmation-item-head { display: flex; justify-content: space-between; gap: 9px; }
.confirmation-item p { margin: 7px 0 0; font-size: .7rem; }
.confirmation-item small { color: #7b8798; font-size: .61rem; }
.confirmation-public-page { min-height: 70vh; padding: 60px 0; background: #f6f8fb; }
.confirmation-public-container { max-width: 820px; }
.confirmation-public-card { padding: 36px; background: #fff; border: 1px solid #dce4ee; border-radius: 22px; box-shadow: 0 18px 46px rgba(15,44,87,.1); }
.confirmation-project-summary { padding: 20px; margin: 23px 0; background: #f7f9fc; border-radius: 14px; }
.confirmation-project-summary h2 { margin-top: 10px; }
.confirmation-project-summary blockquote { padding: 13px; color: #52647e; background: #fff; border-left: 3px solid var(--fc-blue); }
.decision-buttons { display: flex; justify-content: space-between; gap: 10px; }
.success-card { text-align: center; }
.success-symbol { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 17px; color: #fff; background: #1a9b64; border-radius: 50%; }

/* Company */
.company-dashboard-hero { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 27px; color: #d9e7f8; background: linear-gradient(135deg,#061e51,#0c4aa1); border-radius: 18px; }
.company-dashboard-hero h1 { color: #fff; font-size: 2.3rem; }
.company-dashboard-hero .lead { max-width: 760px; color: #c7d9ee; }
.company-verification-card { display: flex; align-items: center; gap: 12px; width: 310px; padding: 16px; color: #754f09; background: #fff5d8; border: 1px solid #f1d07b; border-radius: 13px; }
.company-verification-card.is-verified { color: #176e4c; background: #eaf8f0; border-color: #aadfc5; }
.company-verification-card strong,.company-verification-card p { display: block; }
.company-verification-card p { margin: 2px 0; font-size: .65rem; }
.company-verification-card a { margin-left: auto; font-size: .68rem; font-weight: 850; }
.company-kpi-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.company-kpi-grid article { display: flex; align-items: center; gap: 12px; padding: 16px; background: #fff; border: 1px solid #dfe6ef; border-radius: 13px; }
.company-kpi-grid article > span { display: grid; place-items: center; width: 40px; height: 40px; color: var(--fc-blue); background: #edf5ff; border-radius: 10px; }
.company-kpi-grid strong,.company-kpi-grid small { display: block; }
.company-kpi-grid strong { color: var(--fc-navy); font-size: 1.35rem; }
.company-kpi-grid small { color: #768399; font-size: .64rem; }
.company-two-paths { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.company-path-card { position: relative; padding: 28px; overflow: hidden; background: #fff; border: 1px solid #dce4ee; border-radius: 18px; }
.company-path-card::after { position: absolute; right: -60px; bottom: -60px; width: 200px; height: 200px; content: ""; border-radius: 50%; background: radial-gradient(circle,rgba(29,108,243,.11),transparent 70%); }
.path-card-visual { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 17px; color: var(--fc-blue); background: #edf5ff; border-radius: 15px; }
.collection-path .path-card-visual { color: var(--fc-green); background: var(--fc-green-soft); }
.company-path-card h2 { margin-top: 12px; font-size: 1.45rem; }
.company-path-card > p { color: #617189; }
.company-path-card ul { display: grid; gap: 7px; padding: 0; list-style: none; color: #52647d; font-size: .72rem; }
.company-path-card li { display: flex; gap: 7px; }
.company-dashboard-grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 18px; }
.dashboard-job-list { display: grid; gap: 10px; }
.dashboard-job-list article { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 13px; border: 1px solid #e0e7ef; border-radius: 10px; }
.dashboard-job-list h3 { margin: 7px 0 4px; font-size: .86rem; }
.company-beta-card { background: linear-gradient(160deg,#f7f3ff,#fff); border-color: #ded0f6; }
.company-candidate-strip { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.company-candidate-strip article { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid #dfe6ef; border-radius: 12px; }
.company-candidate-strip h3 { margin: 6px 0 2px; font-size: .81rem; }
.company-candidate-strip p { margin: 0 0 7px; color: #768399; font-size: .62rem; }
.company-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.company-section-heading h1 { font-size: 2.5rem; }
.verification-banner { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px; margin-top: 20px; color: #785308; background: #fff5d8; border: 1px solid #f0d17b; border-radius: 13px; }
.verification-banner > div { display: flex; align-items: center; gap: 12px; }
.verification-banner strong,.verification-banner span { display: block; }
.verification-banner span { font-size: .7rem; }
.company-job-list { display: grid; gap: 10px; }
.company-job-row { display: grid; grid-template-columns: auto 1fr auto auto; gap: 14px; align-items: center; padding: 16px; border: 1px solid #dfe6ef; border-radius: 12px; }
.job-status-dot { width: 9px; height: 9px; background: #7d8a9d; border-radius: 50%; }
.status-active { background: #1f9b68; box-shadow: 0 0 0 5px rgba(31,155,104,.12); }
.status-draft { background: #2271e7; }
.status-paused { background: #d58a16; }
.company-job-main h3 { margin: 0; font-size: .93rem; }
.company-job-metrics { display: flex; gap: 20px; }
.company-job-metrics span { color: #7a8798; font-size: .58rem; text-align: center; }
.company-job-metrics strong { display: block; color: var(--fc-navy); font-size: 1rem; }
.company-job-actions { display: flex; gap: 7px; }
.mini-feature-card > .icon { color: var(--fc-blue); }
.mini-feature-card h2 { margin-top: 13px; font-size: 1rem; }

/* Job builder */
.job-builder { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 18px; align-items: start; }
.job-builder-main { display: grid; gap: 16px; }
.job-preview-column { position: sticky; top: 88px; display: grid; gap: 16px; }
.job-builder-section { padding: 23px; }
.step-kicker { display: flex; align-items: center; gap: 12px; padding-bottom: 17px; margin-bottom: 18px; border-bottom: 1px solid #e7ecf3; }
.step-kicker > span { display: grid; place-items: center; width: 33px; height: 33px; color: #fff; background: var(--fc-blue); border-radius: 50%; font-size: .72rem; font-weight: 900; }
.step-kicker strong,.step-kicker small { display: block; }
.step-kicker strong { color: var(--fc-navy); }
.step-kicker small { color: #7a8799; font-size: .65rem; }
.job-location-row { display: grid; grid-template-columns: 1.2fr .55fr 1fr .55fr auto; gap: 9px; align-items: end; padding: 12px; margin-bottom: 9px; background: #f7f9fc; border: 1px solid #e1e7ef; border-radius: 11px; }
.requirement-matrix { display: grid; gap: 8px; }
.requirement-row { display: grid; grid-template-columns: 1fr 190px; gap: 20px; align-items: center; padding: 9px 0; border-bottom: 1px solid #e9edf3; }
.requirement-row span { font-size: .74rem; font-weight: 800; }
.requirement-row select { min-height: 38px; font-size: .7rem; }
.privacy-reminder { display: flex; gap: 12px; padding: 14px; margin-top: 17px; color: #425a79; background: #edf5ff; border-radius: 11px; }
.privacy-reminder strong,.privacy-reminder span { display: block; }
.privacy-reminder span { font-size: .66rem; }
.automation-editor { padding: 14px 0; border-bottom: 1px solid #e9edf3; }
.automation-toggle { display: flex; gap: 10px; margin-bottom: 9px; }
.automation-toggle strong,.automation-toggle small { display: block; }
.automation-toggle strong { font-size: .76rem; }
.automation-toggle small { color: #7a8799; font-size: .62rem; }
.automation-editor textarea { min-height: 75px; font-size: .72rem; }
.job-builder-submit { position: sticky; bottom: 10px; z-index: 5; display: flex; justify-content: flex-end; gap: 9px; padding: 12px; background: rgba(255,255,255,.96); border: 1px solid #dfe6ef; border-radius: 12px; box-shadow: 0 13px 35px rgba(14,43,87,.13); backdrop-filter: blur(8px); }
.status-select { width: 220px; }
.job-preview-card h2 { font-size: 1.45rem; }
.job-preview-company { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #53647c; font-size: .72rem; }
.job-preview-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 16px 0; }
.job-preview-facts > div { padding: 10px; background: #f7f9fc; border-radius: 9px; }
.job-preview-facts dt { color: #7d899a; font-size: .57rem; }
.job-preview-facts dd { margin: 2px 0 0; color: #18315c; font-size: .69rem; font-weight: 850; }
.job-preview-card > p { color: #607189; font-size: .72rem; }
.job-preview-privacy { display: grid; gap: 7px; padding: 13px; margin-top: 15px; color: #4e617d; background: #edf5ff; border-radius: 10px; font-size: .65rem; }
.job-preview-privacy strong { color: #17315e; }
.input-inline { display: inline-block; width: auto; min-height: 32px; padding: 4px 7px; font-size: .62rem; }

/* Admin */
.admin-body { background: #eef1f6; }
.app-sidebar-admin { color: #d8e3f2; background: var(--fc-admin); border-right: 0; }
.app-sidebar-admin .app-brand img { filter: brightness(0) invert(1); }
.app-sidebar-admin .app-account-card { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.09); }
.app-sidebar-admin .app-account-card strong { color: #fff; }
.app-sidebar-admin .app-account-card span { color: #91a5c3; }
.app-sidebar-admin .app-nav-link { color: #a9bad1; }
.app-sidebar-admin .app-nav-link:hover { color: #fff; background: rgba(255,255,255,.07); }
.app-sidebar-admin .app-nav-link.is-active { color: #fff; background: #174c98; }
.sidebar-admin-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); }
.app-topbar-admin { background: #fff; }
.admin-command-hero { display: flex; justify-content: space-between; gap: 30px; padding: 27px; color: #c9d8ec; background: linear-gradient(135deg,#07162e,#122e59); border-radius: 16px; }
.admin-command-hero h1 { max-width: 850px; color: #fff; font-size: 2.15rem; }
.admin-command-hero p { max-width: 820px; color: #aebfd6; }
.admin-eyebrow { display: inline-flex; margin-bottom: 9px; color: #74aaf6; font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-command-status { display: grid; align-content: center; justify-items: end; min-width: 150px; }
.admin-command-status span { display: flex; align-items: center; gap: 7px; padding: 6px 9px; color: #71e4ad; background: rgba(31,175,109,.12); border-radius: 999px; font-size: .65rem; font-weight: 850; }
.admin-command-status span i { width: 7px; height: 7px; background: #37d98a; border-radius: 50%; }
.admin-command-status strong { margin-top: 10px; color: #fff; font-size: 2rem; }
.admin-command-status small { color: #8fa4c1; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.admin-kpi { display: flex; gap: 12px; padding: 17px; background: #fff; border: 1px solid #dbe2ec; border-radius: 12px; }
.admin-kpi-icon { display: grid; place-items: center; width: 40px; height: 40px; color: #246aca; background: #eaf3ff; border-radius: 10px; }
.admin-kpi.is-warning .admin-kpi-icon { color: #9a650b; background: #fff3d9; }
.admin-kpi.is-danger .admin-kpi-icon { color: #af2e35; background: #ffe8e9; }
.admin-kpi small,.admin-kpi strong,.admin-kpi em { display: block; }
.admin-kpi small { color: #798699; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.admin-kpi strong { color: #142a52; font-size: 1.55rem; }
.admin-kpi em { color: #8290a3; font-size: .58rem; font-style: normal; }
.admin-dashboard-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.admin-dashboard-grid:has(.admin-panel-wide) { grid-template-columns: 1.7fr .8fr; }
.admin-panel { padding: 20px; background: #fff; border: 1px solid #dbe2ec; border-radius: 12px; }
.admin-panel-header { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.admin-panel-header span { color: #8491a3; font-size: .55rem; font-weight: 900; letter-spacing: .09em; }
.admin-panel-header h2 { margin: 2px 0 0; font-size: 1.05rem; }
.admin-panel-header a { font-size: .68rem; font-weight: 850; }
.admin-company-table { display: grid; gap: 7px; }
.admin-company-table article { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center; padding: 10px; background: #f8f9fb; border-radius: 9px; }
.admin-company-mark { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; background: #173867; border-radius: 9px; font-size: .67rem; font-weight: 900; }
.admin-company-copy strong,.admin-company-copy span,.admin-company-copy small { display: block; }
.admin-company-copy strong { font-size: .72rem; }
.admin-company-copy span { color: #6e7d92; font-size: .6rem; }
.admin-company-copy small { color: #98a2b1; font-size: .54rem; }
.quality-funnel { display: grid; gap: 13px; }
.quality-funnel > div { position: relative; padding-bottom: 9px; }
.quality-funnel span,.quality-funnel strong { font-size: .67rem; }
.quality-funnel strong { float: right; color: #17315d; }
.quality-funnel i { position: absolute; bottom: 0; left: 0; height: 5px; background: linear-gradient(90deg,#1e70e9,#52a1ff); border-radius: 999px; }
.admin-note { padding: 10px; margin: 16px 0 0; color: #65758b; background: #f5f7fa; border-radius: 8px; font-size: .6rem; }
.admin-activity-list { display: grid; gap: 9px; }
.admin-activity-list article { display: flex; gap: 9px; align-items: center; padding-bottom: 9px; border-bottom: 1px solid #e9edf2; }
.admin-activity-list article > span { display: grid; place-items: center; width: 33px; height: 33px; color: #226acb; background: #edf4ff; border-radius: 8px; }
.admin-activity-list strong,.admin-activity-list small { display: block; }
.admin-activity-list strong { font-size: .66rem; }
.admin-activity-list small { color: #8994a5; font-size: .55rem; }
.admin-product-metrics { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.admin-product-metrics div { padding: 15px; background: #f7f9fb; border-radius: 9px; }
.admin-product-metrics strong,.admin-product-metrics span { display: block; }
.admin-product-metrics strong { color: #17315d; font-size: 1.25rem; }
.admin-product-metrics span { color: #778599; font-size: .58rem; }
.admin-status-list { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.admin-status-list li { display: flex; justify-content: space-between; gap: 10px; color: #68778c; font-size: .62rem; }
.admin-status-list li span { display: flex; align-items: center; gap: 7px; }
.admin-status-list i { width: 8px; height: 8px; border-radius: 50%; }
.admin-status-list i.ok { background: #25a66d; }
.admin-status-list i.warn { background: #d39422; }
.admin-status-list strong { color: #17315d; }
.admin-action-strip { display: flex; justify-content: space-between; gap: 25px; align-items: center; padding: 20px; color: #d7e4f5; background: #10264a; border-radius: 12px; }
.admin-action-strip h2 { margin: 0 0 3px; color: #fff; font-size: 1rem; }
.admin-action-strip p { margin: 0; color: #aebed4; font-size: .66rem; }
.admin-action-strip > div:last-child { display: flex; gap: 8px; }
.admin-page-heading h1 { font-size: 2.4rem; }
.admin-page-heading p { color: #67768b; }
.admin-company-review-list { display: grid; gap: 10px; }
.admin-company-review { display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; padding: 15px; background: #f8f9fb; border: 1px solid #e2e7ee; border-radius: 10px; }
.admin-company-review-copy h2 { margin: 0 0 8px; font-size: .9rem; }
.admin-company-review-copy dl { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.admin-company-review-copy dt,.admin-company-review-copy dd { margin: 0; font-size: .57rem; }
.admin-company-review-copy dt { color: #8994a4; }
.admin-company-review-copy dd { color: #334966; font-weight: 800; }
.admin-company-decisions { display: flex; gap: 7px; }

@media (max-width: 1180px) {
    .home-hero-grid { grid-template-columns: 1fr; }
    .home-product-preview { max-width: 780px; width: 100%; margin: 0 auto; }
    .candidate-dashboard-hero { grid-template-columns: 1fr; }
    .candidate-demo-privacy-box { max-width: none; }
    .candidate-dashboard-layout,.candidate-editor-grid,.projects-workspace,.confirmations-grid,.company-dashboard-grid,.job-builder { grid-template-columns: 1fr; }
    .candidate-dashboard-side { grid-template-columns: repeat(2,1fr); }
    .job-preview-column,.projects-list-panel { position: static; }
    .company-kpi-grid,.admin-kpi-grid { grid-template-columns: repeat(2,1fr); }
    .admin-dashboard-grid,.admin-dashboard-grid:has(.admin-panel-wide) { grid-template-columns: 1fr; }
}
@media (max-width: 920px) {
    .header-company-link { display: none; }
    .home-dashboard-grid,.home-company-grid,.first-job-card,.registration-form-layout,.role-choice-grid { grid-template-columns: 1fr; }
    .registration-promise { position: static; }
    .home-demo-grid { grid-template-columns: repeat(2,1fr); }
    .candidate-proof-grid { grid-template-columns: 1fr; }
    .candidate-level-track { grid-template-columns: repeat(2,1fr); gap: 13px; }
    .candidate-level-step:not(:last-child)::after { display: none; }
    .company-two-paths,.company-candidate-strip { grid-template-columns: 1fr; }
    .company-dashboard-hero { display: grid; }
    .company-verification-card { width: 100%; }
    .company-job-row { grid-template-columns: auto 1fr auto; }
    .company-job-metrics { display: none; }
    .candidate-editor-hero { grid-template-columns: auto 1fr; }
    .progress-orb { grid-column: 1/-1; justify-self: start; }
}
@media (max-width: 760px) {
    .home-hero { padding-top: 38px; }
    .home-role-actions { grid-template-columns: 1fr; }
    .home-role-actions > div { padding: 0 0 16px; border-right: 0; border-bottom: 1px solid var(--fc-line); }
    .home-product-preview { min-height: auto; display: grid; gap: 12px; }
    .preview-privacy-card,.preview-proof-card,.preview-request-card,.preview-security-pill { position: static; width: 100%; }
    .preview-security-pill { justify-content: center; }
    .home-three-steps { grid-template-columns: 1fr; }
    .home-three-steps > div:not(:last-child)::after { display: none; }
    .home-privacy-list { width: 100%; }
    .privacy-fc-mark { display: none; }
    .home-search-preview article { grid-template-columns: auto 1fr; }
    .search-proof-counts { grid-column: 1/-1; justify-items: start; }
    .home-demo-grid { grid-template-columns: 1fr; }
    .home-final-cta .container { display: grid; }
    .home-final-cta .container > div:last-child { flex-wrap: wrap; }
    .candidate-hero-identity { display: grid; }
    .candidate-dashboard-avatar { width: 100px; height: 100px; }
    .candidate-dashboard-side { grid-template-columns: 1fr; }
    .candidate-level-heading { display: grid; }
    .candidate-next-step { grid-template-columns: auto 1fr; }
    .candidate-next-step .button { grid-column: 1/-1; width: 100%; }
    .candidate-editor-hero,.share-invite-card { grid-template-columns: 1fr; }
    .projects-intro-card,.company-section-heading { display: grid; }
    .evidence-legend { justify-content: flex-start; }
    .company-kpi-grid,.admin-kpi-grid { grid-template-columns: 1fr; }
    .company-job-row { grid-template-columns: auto 1fr; }
    .company-job-actions { grid-column: 1/-1; justify-content: flex-end; }
    .job-location-row { grid-template-columns: 1fr 1fr; }
    .location-remove { align-self: end; }
    .requirement-row { grid-template-columns: 1fr; gap: 5px; }
    .job-preview-facts { grid-template-columns: 1fr; }
    .admin-command-hero,.admin-action-strip { display: grid; }
    .admin-command-status { justify-items: start; }
    .admin-company-review { grid-template-columns: auto 1fr; }
    .admin-company-decisions { grid-column: 1/-1; justify-content: flex-end; }
}

/* v0.2 operational pages */
.input-compact { min-height: 34px; padding: 6px 28px 6px 10px; font-size: .67rem; }
.application-card-list { display: grid; gap: 10px; }
.application-card-row { display: grid; grid-template-columns: auto minmax(220px,1.4fr) minmax(160px,.8fr) auto; gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--fc-line); border-radius: 13px; background: #fff; }
.application-company-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: #edf4ff; color: var(--fc-blue); font-size: .75rem; font-weight: 900; }
.application-card-copy h3 { margin: 3px 0 7px; font-size: .92rem; color: var(--fc-navy); }
.application-card-copy .eyebrow { font-size: .54rem; }
.application-access-state { display: grid; gap: 6px; justify-items: start; }
.application-access-state small { color: #738197; font-size: .59rem; }
.application-row-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.interview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.interview-card { box-shadow: none; }
.compact-definition { display: grid; gap: 8px; margin: 15px 0; }
.compact-definition > div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 7px; border-bottom: 1px solid var(--fc-line); }
.compact-definition dt,.compact-definition dd { margin: 0; font-size: .62rem; }
.compact-definition dt { color: #77859a; }
.compact-definition dd { text-align: right; font-weight: 800; color: var(--fc-navy); }
.settings-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(290px,.75fr); gap: 16px; align-items: start; }
.settings-layout > aside { display: grid; gap: 16px; }
.team-member-list { display: grid; gap: 9px; }
.team-member-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--fc-line); background: #fbfcfe; border-radius: 12px; }
.team-member-row > div:nth-child(2) { display: grid; gap: 3px; }
.team-member-row > div:nth-child(2) strong { color: var(--fc-navy); font-size: .74rem; }
.team-member-row > div:nth-child(2) span { color: #748196; font-size: .58rem; }
.security-mini { color: #60728c; font-size: .58rem; white-space: nowrap; }
.report-admin-list { display: grid; gap: 11px; }
.admin-case-card { display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 20px; padding: 16px; border: 1px solid #dfe5ed; background: #f9fafc; border-radius: 11px; }
.admin-case-card h3 { margin: 7px 0 5px; font-size: .85rem; color: #142b50; }
.admin-case-card p { margin: 0 0 8px; color: #58697f; font-size: .64rem; line-height: 1.55; }
.admin-case-card small { color: #8490a1; font-size: .55rem; }
.compact-status-form { align-self: start; }
.compact-status-form label { font-size: .57rem; font-weight: 800; color: #617189; }
.admin-system-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.admin-system-card { display: grid; gap: 6px; padding: 14px; border-radius: 10px; border: 1px solid #dce3ec; background: #f9fafc; }
.admin-system-card > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; }
.admin-system-card.is-ok > span:first-child { background: #e8f8ee; color: #14844a; }
.admin-system-card.is-warning > span:first-child { background: #fff3da; color: #9b6500; }
.admin-system-card strong { color: #183158; font-size: .69rem; }
.admin-system-card small,.admin-system-card > span:not(:first-child) { color: #738197; font-size: .56rem; line-height: 1.45; }
.admin-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.admin-metric { display: grid; gap: 5px; padding: 15px; border: 1px solid #dfe5ee; background: #fff; border-radius: 11px; }
.admin-metric span,.admin-metric small { color: #718096; font-size: .56rem; }
.admin-metric strong { color: #10264a; font-size: 1.35rem; }
.admin-table select { min-width: 120px; }
.company-applications-intro,.candidate-applications-intro { display: flex; justify-content: space-between; align-items: center; gap: 25px; }
.company-applications-intro h1,.candidate-applications-intro h1 { margin: 5px 0 8px; font-size: 1.45rem; }

@media (max-width: 1080px) {
    .settings-layout { grid-template-columns: 1fr; }
    .interview-grid,.admin-system-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .application-card-row { grid-template-columns: auto 1fr; }
    .application-access-state,.application-row-actions { grid-column: 2; }
    .application-row-actions { justify-content: flex-start; }
}
@media (max-width: 720px) {
    .company-applications-intro,.candidate-applications-intro { display: grid; }
    .team-member-row { grid-template-columns: auto 1fr; }
    .team-member-row > .badge,.team-member-row > .security-mini { grid-column: 2; justify-self: start; }
    .admin-case-card { grid-template-columns: 1fr; }
    .interview-grid,.admin-system-grid,.admin-metric-grid { grid-template-columns: 1fr; }
    .application-card-row { grid-template-columns: 1fr; }
    .application-company-mark { display: none; }
    .application-access-state,.application-row-actions { grid-column: 1; }
}
.presentations-workspace,.vault-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr); gap:16px; align-items:start; }
.permission-fieldset { display:grid; gap:8px; padding:14px; margin:0; border:1px solid var(--fc-line); border-radius:12px; background:#fafcff; }
.permission-fieldset legend { padding:0 7px; color:var(--fc-navy); font-size:.66rem; font-weight:900; }
.presentation-list { display:grid; gap:10px; }
.presentation-list-item { padding:14px; border:1px solid var(--fc-line); border-radius:12px; background:#fbfcfe; }
.presentation-list-item h3 { margin:8px 0 5px; color:var(--fc-navy); font-size:.8rem; }
.presentation-public-hero { padding-bottom:38px; }
.presentation-identity { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; }
.vault-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; background:linear-gradient(135deg,#f3f7ff,#fff); }
.vault-hero h1 { margin:5px 0 8px; font-size:1.55rem; }
.vault-hero-actions { display:flex; gap:8px; flex-wrap:wrap; }
.vault-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.vault-summary-card { display:grid; gap:6px; padding:14px; border:1px solid var(--fc-line); border-radius:12px; background:#fff; }
.vault-summary-card > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#eef4ff; color:var(--fc-blue); }
.vault-summary-card strong { color:var(--fc-navy); font-size:.7rem; }
.vault-summary-card small { color:#78859a; font-size:.55rem; line-height:1.45; }
.vault-layout > aside { display:grid; gap:16px; }
.vault-asset-list { display:grid; gap:8px; margin-bottom:12px; }
.vault-asset-list article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--fc-line); border-radius:10px; }
.vault-asset-list article > span { color:var(--fc-blue); }
.vault-asset-list article > div { display:grid; gap:2px; min-width:0; }
.vault-asset-list strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.63rem; color:var(--fc-navy); }
.vault-asset-list small { color:#7a8798; font-size:.52rem; }
.vault-asset-list a { font-size:.57rem; font-weight:800; }
@media(max-width:1050px){.presentations-workspace,.vault-layout{grid-template-columns:1fr}.vault-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vault-hero{display:grid}.vault-summary-grid{grid-template-columns:1fr}.presentation-identity{grid-template-columns:1fr}}
.opportunity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.opportunity-card { display:grid; gap:11px; padding:18px; border:1px solid var(--fc-line); border-radius:14px; background:#fff; box-shadow:0 8px 25px rgba(28,58,104,.05); }
.opportunity-card h2 { margin:0; color:var(--fc-navy); font-size:1rem; }
.opportunity-company { margin:0; color:var(--fc-blue); font-size:.67rem; font-weight:850; }
.opportunity-facts { display:grid; gap:7px; padding:12px; background:#f7f9fc; border-radius:10px; color:#5e6f87; font-size:.6rem; }
.opportunity-facts span { display:flex; align-items:center; gap:7px; }
.opportunity-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; }
.opportunity-footer strong { color:var(--fc-navy); font-size:.64rem; }
.job-detail-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; }
.job-detail-heading h1 { margin:10px 0 4px; }
.job-detail-summary { display:grid; gap:8px; min-width:260px; padding:16px; border:1px solid #dbe5f4; border-radius:12px; background:#fff; color:#526781; font-size:.62rem; }
.job-detail-summary span { display:flex; align-items:center; gap:7px; }
.job-detail-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr); gap:17px; align-items:start; }
.job-detail-layout > aside { display:grid; gap:16px; position:sticky; top:90px; }
.rich-copy { color:#52647b; font-size:.69rem; line-height:1.75; }
.job-requirement-public-list { display:grid; gap:8px; }
.job-requirement-public-list > div { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:11px 0; border-bottom:1px solid var(--fc-line); }
.job-requirement-public-list > div > span { display:flex; align-items:center; gap:8px; color:#425772; font-size:.64rem; }
.application-entry-card { background:linear-gradient(145deg,#f5f8ff,#fff); }
.application-entry-card h2 { font-size:1.05rem; }
@media(max-width:1050px){.opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-detail-layout{grid-template-columns:1fr}.job-detail-layout>aside{position:static}}
@media(max-width:700px){.opportunity-grid{grid-template-columns:1fr}.job-detail-heading{display:grid}.job-detail-summary{min-width:0}.opportunity-footer{align-items:flex-start;flex-direction:column}}

/* v0.2 onboarding trasparente */
.onboarding-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; padding:30px; }
.onboarding-hero h1 { margin:3px 0 12px; font-size:2.25rem; }
.onboarding-score { display:grid; place-items:center; width:145px; height:145px; text-align:center; background:conic-gradient(var(--fc-blue) calc(var(--score)*1%),#e6edf6 0); border-radius:50%; box-shadow:inset 0 0 0 13px #fff,0 12px 30px rgba(20,76,150,.12); }
.onboarding-score strong { color:var(--fc-navy); font-size:2.1rem; line-height:1; }
.onboarding-score span { color:var(--fc-blue); font-size:.72rem; font-weight:850; }
.onboarding-score small { max-width:80px; color:#77869b; font-size:.58rem; line-height:1.2; }
.onboarding-level-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.onboarding-level-card { min-height:155px; padding:18px; background:#f8fafc; border:1px solid #e0e7f0; border-radius:14px; }
.onboarding-level-card.is-current { background:#edf5ff; border-color:#73aaf3; box-shadow:0 8px 22px rgba(18,102,229,.09); }
.onboarding-level-card.is-complete { background:#eff9f3; border-color:#a8dfc2; }
.onboarding-level-number { display:grid; place-items:center; width:34px; height:34px; margin-bottom:12px; color:#fff; background:#9aa8ba; border-radius:50%; font-size:.75rem; font-weight:900; }
.onboarding-level-card.is-current .onboarding-level-number { background:var(--fc-blue); }
.onboarding-level-card.is-complete .onboarding-level-number { background:#1c9660; }
.onboarding-level-card > span { color:#748197; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.onboarding-level-card h3 { margin:5px 0; font-size:1rem; }
.onboarding-level-card p { margin:0; color:#68778d; font-size:.68rem; }
.onboarding-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; align-items:start; }
.onboarding-side { display:grid; gap:18px; }
.onboarding-criteria { display:grid; gap:0; padding:0; margin:18px 0; list-style:none; }
.onboarding-criteria li { display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:12px 0; border-bottom:1px solid #e8edf3; }
.onboarding-criteria li:last-child { border-bottom:0; }
.criteria-state { display:grid; place-items:center; width:31px; height:31px; color:#8b98aa; background:#eef1f5; border-radius:50%; }
.onboarding-criteria li.is-done .criteria-state { color:#157448; background:#dcf5e7; }
.onboarding-criteria strong,.onboarding-criteria small { display:block; }
.onboarding-criteria strong { font-size:.75rem; }
.onboarding-criteria small { margin-top:2px; color:#79879a; font-size:.62rem; }
.criteria-points { color:var(--fc-blue); font-size:.72rem!important; }
.onboarding-criteria li.is-done .criteria-points { color:#1b8758; }
.onboarding-next { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:17px; background:#f2f7ff; border:1px solid #d0e2fb; border-radius:13px; }
.onboarding-next span,.onboarding-next strong { display:block; }
.onboarding-next span { color:#78879a; font-size:.62rem; }
.onboarding-next strong { color:#17315d; font-size:.82rem; }
.confirmation-score-card { padding:24px; background:linear-gradient(180deg,#fffaf0,#fff); border-color:#efd79f; }
.confirmation-score-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:13px; color:#9d6507; background:#fff0cb; border-radius:16px; }
.confirmation-score-card h2 { margin-top:13px; font-size:1.22rem; }
.score-ethics-card { padding:21px; }
.first-experience-path { padding:27px; }
.first-experience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.first-experience-grid article { padding:18px; background:#f8fafc; border:1px solid #e0e7ef; border-radius:13px; }
.first-experience-grid i { display:grid; place-items:center; width:45px; height:45px; color:var(--fc-blue); background:#e9f3ff; border-radius:13px; }
.first-experience-grid h3 { margin:13px 0 6px; font-size:.9rem; }
.first-experience-grid p { min-height:77px; color:#6f7e92; font-size:.67rem; }
.first-experience-grid a,.first-experience-grid span { font-size:.65rem; font-weight:800; }
.demo-avatar img,.first-job-avatar-photo img,.public-demo-avatar img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.first-job-avatar-photo { overflow:hidden; }
@media (max-width:1050px){.onboarding-level-grid,.first-experience-grid{grid-template-columns:repeat(2,1fr)}.onboarding-layout{grid-template-columns:1fr}.onboarding-side{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.onboarding-hero{grid-template-columns:1fr}.onboarding-score{width:120px;height:120px}.onboarding-level-grid,.first-experience-grid,.onboarding-side{grid-template-columns:1fr}.onboarding-next{align-items:stretch;flex-direction:column}.onboarding-next .button{width:100%}}

/* CTA Home: colori pieni anche nei renderer che interpretano male le alpha */
.home-role-actions .button-primary {
    color: #fff !important;
    background: #075df4 !important;
    border-color: #075df4 !important;
    box-shadow: 0 10px 24px rgba(7, 93, 244, .24) !important;
}
.home-role-actions .button-primary:hover {
    color: #fff !important;
    background: #064fcf !important;
    border-color: #064fcf !important;
}
.home-role-actions .button-secondary {
    color: #102a55 !important;
    background: #fff !important;
    border-color: #b9c8dc !important;
}

/* FattoChiaro v0.2.1 — compact public home and candidate workspace */
:root { --max: 1340px; }

/* Public homepage: preserve the approved visual direction without oversized type. */
.home-hero { padding: 34px 0 24px; }
.home-hero-grid { grid-template-columns: minmax(560px, .94fr) minmax(600px, 1.06fr); gap: 40px; }
.home-title-line { display: block; }
.home-title-accent { color: var(--fc-blue); white-space: nowrap; }
.home-hero-copy h1 { max-width: 680px; margin-bottom: 0; font-size: clamp(3rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -.047em; }
.home-hero-lead { max-width: 610px; margin: 16px 0 9px; font-size: 1rem; line-height: 1.48; }
.home-manifesto-note { max-width: 620px; margin: 0 0 20px; color: #334a70; font-size: .86rem; font-weight: 700; line-height: 1.45; }
.home-role-actions { max-width: 650px; gap: 18px; }
.home-role-actions .button { min-height: 44px; padding: 10px 15px; }
.home-ai-line { margin-top: 16px; font-size: .79rem; }
.home-product-preview { min-height: 365px; transform-origin: center; }
.preview-privacy-card { top: 30px; width: 225px; padding: 17px; }
.preview-proof-card { top: 3px; left: 185px; width: 292px; padding: 18px; }
.preview-request-card { top: 38px; width: 215px; padding: 17px; }
.preview-security-pill { right: 25px; bottom: 24px; }
.home-dashboard-section { padding: 20px 0 24px; }
.home-panel { min-height: 268px; padding: 21px; }
.home-panel-header { margin-bottom: 18px; }
.home-company-section { padding: 42px 0; }

/* Candidate app shell: use the portrait in the account switcher. */
.app-account-avatar.has-photo { overflow: hidden; background: #eaf2ff; }
.app-account-avatar.has-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Candidate dashboard based on the approved profile preview. */
.candidate-dashboard-v021 { max-width: 1450px; }
.candidate-dashboard-v021 .app-card { padding: 22px; background: #fff; border: 1px solid #dde5f0; border-radius: 17px; box-shadow: 0 5px 18px rgba(20, 42, 82, .055); }
.candidate-overview-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; }
.candidate-profile-summary-card { display: grid; gap: 18px; }
.candidate-profile-summary-main { display: flex; gap: 24px; align-items: flex-start; }
.candidate-dashboard-avatar-lg { width: 132px; height: 132px; }
.candidate-profile-summary-copy { min-width: 0; flex: 1; }
.candidate-profile-badges { margin-bottom: 4px; }
.candidate-profile-summary-copy h1 { margin: 3px 0 3px; font-size: clamp(2rem, 3vw, 2.75rem); }
.candidate-profile-summary-copy .candidate-role-line { margin-bottom: 7px; }
.candidate-profile-skills { margin-top: 13px; }
.candidate-profile-summary-actions { display: flex; gap: 10px; padding-left: 156px; }
.candidate-privacy-summary-card { align-self: stretch; }
.candidate-privacy-heading { margin-bottom: 10px; }
.candidate-privacy-heading > .icon { color: var(--fc-blue); }
.candidate-privacy-summary-list { display: grid; padding: 0; margin: 0 0 16px; list-style: none; }
.candidate-privacy-summary-list li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e8edf4; color: #5d6d84; font-size: .75rem; }
.candidate-privacy-summary-list strong { color: #14305e; text-align: right; }

.candidate-journey-card { padding: 18px 20px !important; }
.candidate-journey-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.candidate-journey-head .eyebrow { margin-bottom: 5px; }
.candidate-journey-head h2 { margin: 0; font-size: 1.16rem; }
.journey-score-light strong { color: var(--fc-navy); }
.journey-score-light span { color: #78869b; }
.candidate-journey-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 15px 0 13px; }
.candidate-journey-step { position: relative; display: flex; align-items: center; gap: 9px; min-width: 0; padding: 9px 10px; background: #f8fafc; border: 1px solid #e3e9f1; border-radius: 11px; }
.candidate-journey-step > span { display: grid; flex: 0 0 auto; place-items: center; width: 30px; height: 30px; color: #718098; background: #e8edf4; border-radius: 50%; font-size: .67rem; font-weight: 900; }
.candidate-journey-step strong, .candidate-journey-step small { display: block; }
.candidate-journey-step strong { color: #18335f; font-size: .72rem; }
.candidate-journey-step small { overflow: hidden; color: #8490a2; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.candidate-journey-step.is-complete { background: #f0fbf5; border-color: #cbead9; }
.candidate-journey-step.is-complete > span { color: #fff; background: #1d9a65; }
.candidate-journey-step.is-current { background: #eff6ff; border-color: #bdd8ff; }
.candidate-journey-step.is-current > span { color: #fff; background: var(--fc-blue); }
.candidate-next-step-light { padding: 11px 12px; background: #f4f8ff; border: 1px solid #d5e5fb; }

.candidate-workspace-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; }
.candidate-workspace-main, .candidate-workspace-side { display: grid; align-content: start; gap: 18px; }
.candidate-proof-overview-card .card-header { margin-bottom: 16px; }
.candidate-proof-grid-v021 { gap: 13px; }
.candidate-proof-card-v021 { display: flex; flex-direction: column; min-height: 300px; padding: 16px; }
.candidate-proof-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.candidate-proof-card-v021 h3 { margin-top: 11px; }
.candidate-proof-card-v021 .skill-pills { margin-top: auto; padding-top: 5px; }
.candidate-proof-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 13px; color: var(--fc-blue); font-size: .69rem; font-weight: 850; }
.candidate-detail-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; }
.candidate-skill-evidence-list { display: grid; }
.candidate-skill-evidence-row { display: grid; grid-template-columns: minmax(130px, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #e8edf4; }
.candidate-skill-evidence-row:last-child { border-bottom: 0; }
.candidate-skill-evidence-row > strong { color: #17325f; font-size: .75rem; }
.candidate-proof-dots { display: flex; gap: 5px; }
.candidate-proof-dots i { display: block; width: 9px; height: 9px; padding: 0; border-radius: 50%; }
.candidate-proof-dots .badge-primary { background: #2977ed; }
.candidate-proof-dots .badge-success { background: #23a26a; }
.candidate-proof-dots .badge-purple { background: #7c53c7; }
.candidate-proof-dots .badge-muted { background: #b6c0ce; }
.candidate-intro-quote { display: flex; gap: 12px; padding: 16px; margin-bottom: 17px; color: #425571; background: #f8fafc; border-radius: 12px; }
.candidate-intro-quote > .icon { flex: 0 0 auto; color: var(--fc-blue); }
.candidate-intro-quote p { margin: 0; font-size: .78rem; line-height: 1.65; }
.candidate-request-company { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.candidate-request-company strong, .candidate-request-company small { display: block; }
.candidate-request-company strong { color: #14305d; font-size: .81rem; }
.candidate-request-company small { color: #76849a; font-size: .68rem; }
.candidate-incoming-request-card > p { color: #5e6f87; font-size: .76rem; }
.candidate-private-assets-card > a { display: inline-flex; align-items: center; gap: 5px; margin-top: 13px; font-size: .72rem; font-weight: 850; }

/* Public demo profiles: compact, clear and closer to the candidate interface. */
.profile-page { padding-top: 28px; }
.profile-demo-notice { margin-bottom: 14px; }
.profile-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; }
.profile-hero-card { padding: 24px; }
.profile-head h1 { font-size: clamp(1.9rem, 3vw, 2.55rem); }
.profile-head .lead { font-size: .96rem; }
.profile-section { padding: 22px; margin-top: 16px; }
.profile-section .card-header h2 { font-size: 1.45rem; }
.project-card { padding: 17px; }
.project-meta-grid { margin: 13px 0; }

@media (min-width: 1500px) {
    :root { --max: 1400px; }
    .home-hero-grid { grid-template-columns: 620px minmax(650px, 1fr); }
}

@media (max-width: 1220px) {
    .home-hero-grid { grid-template-columns: 1fr; }
    .home-title-accent { white-space: normal; }
    .home-product-preview { width: min(100%, 760px); margin-inline: auto; }
    .candidate-overview-grid, .candidate-workspace-grid { grid-template-columns: 1fr; }
    .candidate-workspace-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .candidate-profile-summary-main { flex-direction: column; }
    .candidate-profile-summary-actions { padding-left: 0; }
    .candidate-journey-track { grid-template-columns: repeat(2, 1fr); }
    .candidate-detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .home-hero { padding-top: 26px; }
    .home-hero-copy h1 { font-size: clamp(2.55rem, 12vw, 3.55rem); }
    .home-manifesto-note { font-size: .8rem; }
    .candidate-profile-summary-actions { flex-direction: column; }
    .candidate-profile-summary-actions .button { width: 100%; }
    .candidate-journey-track { grid-template-columns: 1fr; }
    .candidate-next-step-light { grid-template-columns: auto 1fr; }
    .candidate-next-step-light .button { grid-column: 1 / -1; width: 100%; }
    .candidate-workspace-side { grid-template-columns: 1fr; }
    .candidate-skill-evidence-row { grid-template-columns: 1fr auto; }
    .candidate-proof-dots { display: none; }
}
/* FattoChiaro v0.2.1 — visual-density and dashboard refinement */
:root { --max: 1360px; }

/* Header: closer to the approved product mockup */
.site-header { box-shadow: 0 1px 0 rgba(9, 35, 80, .09); }
.header-inner { min-height: 64px; }
.brand img { width: 206px; }
.site-nav { gap: 28px; }
.site-nav a { font-size: .82rem; }
.header-actions .button-small { min-height: 40px; padding: 9px 15px; }

/* Home: keep the complete proposition above the fold on desktop */
.home-hero { padding: 34px 0 26px; }
.home-hero-grid { grid-template-columns: minmax(500px, .93fr) minmax(590px, 1.07fr); gap: 34px; }
.home-hero-copy h1 {
    max-width: 610px;
    margin-bottom: 0;
    font-size: clamp(3.25rem, 4.15vw, 4.05rem);
    line-height: 1.02;
    letter-spacing: -.048em;
}
.home-hero-lead { max-width: 600px; margin: 15px 0 20px; font-size: 1rem; line-height: 1.48; }
.home-role-actions { max-width: 610px; gap: 18px; }
.home-role-actions > div { gap: 7px; padding-right: 18px; }
.home-role-actions .button { min-height: 44px; padding: 10px 15px; }
.home-ai-line { margin-top: 14px; font-size: .79rem; }
.home-product-preview { min-height: 360px; }
.preview-privacy-card { top: 42px; left: 0; width: 235px; padding: 17px; }
.preview-proof-card { top: 8px; left: 195px; width: 305px; padding: 19px; }
.preview-request-card { top: 46px; right: 0; width: 220px; padding: 17px; }
.preview-security-pill { right: 30px; bottom: 24px; }
.home-dashboard-section { padding: 22px 0; }
.home-panel { min-height: 258px; padding: 21px; }
.home-panel-header { margin-bottom: 17px; }
.home-three-steps i { width: 52px; height: 52px; margin-bottom: 11px; }
.home-three-steps > div:not(:last-child)::after { top: 37px; }
.home-company-section { padding: 42px 0; }
.home-first-job { padding: 52px 0; }
.home-demo-section { padding: 52px 0; }

/* Public anonymous profile: compact product dashboard rather than a long CV page */
.public-profile-page { padding: 28px 0 66px; background: #f5f7fb; }
.public-profile-container { width: min(calc(100% - 34px), 1360px); }
.public-profile-notice { margin-bottom: 14px; }
.public-profile-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) 318px; gap: 18px; align-items: start; }
.public-profile-main { display: grid; gap: 18px; min-width: 0; }
.public-profile-side { position: sticky; top: 82px; display: grid; gap: 14px; }
.public-profile-hero-card,
.public-proof-board,
.public-compact-card,
.public-voice-card,
.public-access-card,
.public-hidden-card {
    background: #fff;
    border: 1px solid #dfe6f0;
    border-radius: 17px;
    box-shadow: 0 4px 15px rgba(15, 44, 91, .055);
}
.public-profile-hero-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 24px; }
.public-anonymous-avatar { display: grid; place-items: center; width: 82px; height: 82px; color: #1266e5; background: #e7f1ff; border: 1px solid #c7ddfb; border-radius: 22px; }
.public-profile-hero-copy h1 { max-width: 760px; margin: 7px 0 7px; font-size: clamp(2rem, 3vw, 2.7rem); line-height: 1.06; }
.public-profile-hero-copy > p { max-width: 760px; margin: 12px 0; color: #556782; font-size: .92rem; }
.public-profile-badges { gap: 7px; }
.public-profile-meta { gap: 17px; color: #62728a; font-size: .78rem; }
.public-profile-facts { display: grid; gap: 7px; min-width: 145px; padding-left: 18px; border-left: 1px solid #e6ebf2; }
.public-profile-facts div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.public-profile-facts strong { color: #075df4; font-size: 1.2rem; }
.public-profile-facts span { max-width: 80px; color: #758399; font-size: .64rem; line-height: 1.25; text-align: right; }
.public-proof-board { padding: 22px; }
.public-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.public-section-heading.compact { align-items: flex-start; margin-bottom: 12px; }
.public-section-heading h2 { margin: 0; font-size: 1.2rem; }
.public-section-heading .eyebrow { margin-bottom: 5px; }
.public-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.public-project-card { position: relative; display: flex; flex-direction: column; min-height: 100%; padding: 16px; border: 1px solid #dfe6ef; border-radius: 14px; background: #fff; }
.public-project-card-top { display: flex; justify-content: space-between; gap: 10px; }
.public-project-number { display: grid; place-items: center; width: 25px; height: 25px; color: #075df4; background: #eaf3ff; border-radius: 50%; font-size: .7rem; font-weight: 900; }
.public-project-card h3 { margin: 12px 0 2px; font-size: 1rem; }
.public-project-role { color: #2a4d80; font-size: .68rem; font-weight: 800; }
.public-project-card > p { min-height: 54px; margin: 10px 0; color: #66758a; font-size: .69rem; line-height: 1.48; }
.public-project-detail,
.public-project-result { display: grid; gap: 3px; padding: 9px; margin-bottom: 8px; background: #f7f9fc; border-radius: 9px; }
.public-project-result { background: #f0f6ff; }
.public-project-detail strong,
.public-project-result strong { color: #17315d; font-size: .59rem; text-transform: uppercase; letter-spacing: .04em; }
.public-project-detail span,
.public-project-result span { color: #5c6d85; font-size: .64rem; line-height: 1.4; }
.public-project-card .skill-pills { margin-top: auto; }
.public-nda-note { display: flex; align-items: center; gap: 5px; margin-top: 9px; color: #7e6a3d; font-size: .58rem; }
.public-profile-bottom-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.public-compact-card { padding: 21px; }
.public-intro-copy { margin: 0; color: #52647d; font-size: .87rem; }
.public-language-list { display: grid; gap: 8px; }
.public-language-list > div { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 0; border-bottom: 1px solid #edf1f5; }
.public-language-list > div:last-child { border-bottom: 0; }
.public-language-list strong { color: #102a55; font-size: .78rem; }
.public-language-list span { color: #6f7d90; font-size: .65rem; }
.public-language-list em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #1266e5; font-size: .6rem; font-style: normal; font-weight: 800; }
.public-voice-card { padding: 22px; text-align: center; background: linear-gradient(180deg, #f5f9ff, #fff); }
.public-voice-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 12px; color: #075df4; background: #dfeeff; border-radius: 17px; }
.public-voice-card h2 { margin: 12px 0 7px; font-size: 1.08rem; }
.public-voice-card p { color: #65758e; font-size: .75rem; }
.public-voice-card > strong { display: inline-flex; align-items: center; gap: 6px; color: #2d4771; font-size: .64rem; }
.public-access-card { padding: 20px; }
.public-access-card > p { margin-bottom: 14px; color: #68788f; font-size: .73rem; }
.public-access-form { display: grid; gap: 11px; }
.public-access-form .input { min-height: 42px; padding: 9px 11px; font-size: .76rem; }
.public-access-form textarea.input { min-height: 82px; }
.public-access-form .input-group label { font-size: .68rem; }
.public-permission-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.public-permission-grid label { display: flex; align-items: flex-start; gap: 6px; color: #607089; font-size: .64rem; }
.public-permission-grid input { margin-top: 2px; }
.public-hidden-card { padding: 18px; }
.public-hidden-card h2 { font-size: 1rem; }
.public-hidden-card ul { display: grid; gap: 8px; padding: 0; margin: 0; list-style: none; }
.public-hidden-card li { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid #edf1f5; font-size: .65rem; }
.public-hidden-card li:last-child { padding-bottom: 0; border-bottom: 0; }
.public-hidden-card span { color: #758299; }
.public-hidden-card strong { color: #253c63; text-align: right; }

/* Candidate dashboard: compact, bright and close to the approved profile mockup */
.candidate-shell-v021 { grid-template-columns: 238px minmax(0, 1fr); }
.candidate-shell-v021 .app-sidebar { padding: 13px 12px; }
.candidate-shell-v021 .app-brand img { width: 182px; }
.candidate-shell-v021 .app-account-card { padding: 10px; margin-bottom: 10px; }
.candidate-shell-v021 .app-nav-link { padding: 8px 10px; font-size: .76rem; }
.candidate-shell-v021 .sidebar-trust-card { padding: 15px; }
.candidate-dashboard-v021 { width: min(calc(100% - 30px), 1460px); padding-top: 18px; }
.candidate-dashboard-v021 .app-card { padding: 19px; border-radius: 15px; }
.candidate-dashboard-v021 .card-header { margin-bottom: 14px; }
.candidate-dashboard-v021 .card-header h2 { margin-bottom: 2px; font-size: 1.03rem; }
.candidate-dashboard-v021 .card-header p { margin: 0; font-size: .67rem; }
.candidate-profile-overview { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: stretch; }
.candidate-profile-primary { display: flex; gap: 20px; align-items: center; min-width: 0; }
.candidate-dashboard-v021 .candidate-dashboard-avatar { width: 112px; height: 112px; }
.candidate-profile-copy { min-width: 0; }
.candidate-profile-copy h1 { margin: 7px 0 1px; font-size: 2rem; }
.candidate-profile-copy .candidate-role-line { font-size: .86rem; }
.candidate-profile-copy .candidate-dashboard-summary { max-width: 780px; margin: 10px 0; font-size: .76rem; line-height: 1.52; }
.candidate-profile-labels { gap: 7px; }
.candidate-overview-privacy { padding: 17px; background: #f7faff; border: 1px solid #d4e3f8; border-radius: 14px; }
.candidate-overview-privacy .card-header { margin-bottom: 8px; }
.candidate-overview-privacy .card-header h2 { font-size: .95rem; }
.candidate-overview-privacy .card-header p { color: #74839a; }
.candidate-overview-privacy ul { display: grid; gap: 0; padding: 0; margin: 4px 0 13px; list-style: none; }
.candidate-overview-privacy li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #e3eaf3; font-size: .65rem; }
.candidate-overview-privacy li span { color: #687890; }
.candidate-overview-privacy li strong { color: #17315c; text-align: right; }
.candidate-journey-strip { margin-top: 14px; }
.candidate-journey-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.candidate-journey-head .eyebrow { margin-bottom: 3px; }
.candidate-journey-head h2 { margin: 0; font-size: 1.05rem; }
.journey-score-compact { display: flex; align-items: baseline; gap: 5px; padding: 7px 11px; color: #075df4; background: #edf5ff; border-radius: 10px; }
.journey-score-compact strong { font-size: 1.25rem; line-height: 1; }
.journey-score-compact span { color: #5e7190; font-size: .59rem; }
.candidate-level-track-light { margin: 13px 0 11px; }
.candidate-level-track-light .candidate-level-step { padding-right: 13px; }
.candidate-level-track-light .candidate-level-step:not(:last-child)::after { background: #d8e1ee; }
.candidate-level-track-light .candidate-level-step > span { width: 31px; height: 31px; color: #8090a5; background: #eef2f7; border: 1px solid #dce4ee; }
.candidate-level-track-light .candidate-level-step.is-current > span { color: #fff; background: #075df4; }
.candidate-level-track-light .candidate-level-step.is-complete > span { color: #fff; background: #1b9b66; }
.candidate-level-track-light .candidate-level-step strong { color: #17315d; font-size: .68rem; }
.candidate-level-track-light .candidate-level-step small { color: #7a879a; font-size: .53rem; }
.candidate-next-step-light { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; background: #f7faff; border: 1px solid #d9e7fa; border-radius: 11px; }
.candidate-next-step-light .next-step-icon { display: grid; place-items: center; width: 38px; height: 38px; color: #075df4; background: #e5f0ff; border-radius: 10px; }
.candidate-next-step-light strong { display: block; color: #17315d; font-size: .7rem; }
.candidate-next-step-light p { margin: 2px 0 0; color: #718097; font-size: .58rem; }
.candidate-core-grid { display: grid; grid-template-columns: minmax(0, 1fr) 315px; gap: 14px; margin-top: 14px; align-items: start; }
.candidate-core-main,
.candidate-core-side { display: grid; gap: 14px; }
.candidate-core-side { align-content: start; }
.candidate-proof-grid-v021 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.candidate-proof-card-v021 { position: relative; padding: 14px; border-radius: 12px; }
.candidate-proof-topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.candidate-proof-card-v021 .proof-card-icon { width: 35px; height: 35px; }
.candidate-proof-number { position: absolute; top: 11px; left: 11px; display: grid; place-items: center; width: 18px; height: 18px; color: #075df4; background: #fff; border: 1px solid #cbdcf4; border-radius: 50%; font-size: .54rem; font-weight: 900; }
.candidate-proof-card-v021 h3 { margin: 12px 0 2px; font-size: .82rem; }
.candidate-proof-card-v021 .proof-role { font-size: .58rem; }
.candidate-proof-card-v021 > p { min-height: 55px; margin: 9px 0; font-size: .61rem; line-height: 1.45; }
.candidate-proof-card-v021 .proof-result { min-height: 66px; padding: 9px; }
.candidate-proof-card-v021 .proof-result strong { font-size: .53rem; }
.candidate-proof-card-v021 .proof-result span { font-size: .59rem; }
.candidate-lower-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 14px; }
.candidate-skill-table { display: grid; gap: 0; }
.candidate-skill-table > div { display: grid; grid-template-columns: minmax(110px, 1fr) 84px 110px; gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid #e9eef4; }
.candidate-skill-table > div:last-child { border-bottom: 0; }
.candidate-skill-table strong { color: #233c65; font-size: .64rem; }
.candidate-linked-proofs { display: flex; gap: 4px; }
.candidate-linked-proofs i { display: grid; place-items: center; width: 20px; height: 20px; color: #075df4; background: #edf5ff; border-radius: 50%; font-style: normal; }
.candidate-skill-level { height: 5px; overflow: hidden; background: #e7edf5; border-radius: 999px; }
.candidate-skill-level em { display: block; height: 100%; background: #075df4; border-radius: inherit; }
.candidate-intro-card blockquote { position: relative; min-height: 112px; padding: 14px 14px 14px 38px; margin: 0; color: #53657e; background: #f8fafc; border-radius: 12px; font-size: .7rem; line-height: 1.65; }
.candidate-intro-card blockquote::before { position: absolute; top: 7px; left: 13px; color: #6ba3f5; content: "“"; font-size: 2.2rem; font-weight: 900; }
.candidate-intro-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
.candidate-intro-actions a { display: inline-flex; align-items: center; gap: 5px; font-size: .62rem; font-weight: 800; }
.candidate-assets-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.candidate-assets-grid article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 11px; background: #f8fafc; border: 1px solid #e4eaf2; border-radius: 11px; }
.candidate-assets-grid article > span { display: grid; place-items: center; width: 35px; height: 35px; color: #075df4; background: #e8f2ff; border-radius: 10px; }
.candidate-assets-grid strong,
.candidate-assets-grid small { display: block; }
.candidate-assets-grid strong { color: #17315d; font-size: .65rem; }
.candidate-assets-grid small { color: #77859a; font-size: .54rem; line-height: 1.3; }
.candidate-assets-grid em { font-style: normal; }
.candidate-access-list { display: grid; gap: 0; }
.candidate-access-list > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; align-items: center; padding: 10px 0; border-bottom: 1px solid #e9eef4; }
.candidate-access-list > div:last-child { border-bottom: 0; }
.candidate-access-list strong,
.candidate-access-list small { display: block; }
.candidate-access-list strong { color: #17315d; font-size: .65rem; }
.candidate-access-list small { color: #78869a; font-size: .54rem; }
.candidate-request-company { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; }
.candidate-request-company strong,
.candidate-request-company small { display: block; }
.candidate-request-company strong { color: #17315d; font-size: .7rem; }
.candidate-request-company small { color: #77859a; font-size: .57rem; }
.candidate-request-card-v021 > p { color: #60718a; font-size: .65rem; }
.candidate-request-summary { display: grid; gap: 6px; padding: 10px; margin: 10px 0 12px; color: #5f7088; background: #f8fafc; border-radius: 10px; font-size: .57rem; }
.candidate-request-summary span { display: flex; align-items: center; gap: 6px; }
.candidate-vetrina-preview { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 10px; background: #f7faff; border: 1px solid #dce9fa; border-radius: 11px; }
.candidate-vetrina-preview strong,
.candidate-vetrina-preview small { display: block; }
.candidate-vetrina-preview strong { color: #17315d; font-size: .67rem; }
.candidate-vetrina-preview small { color: #78879a; font-size: .55rem; }
.candidate-vetrina-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 10px 0; }
.candidate-vetrina-stats span { display: grid; justify-items: center; padding: 8px 4px; color: #738197; background: #f8fafc; border-radius: 9px; font-size: .52rem; text-align: center; }
.candidate-vetrina-stats strong { color: #075df4; font-size: .85rem; }
.empty-state.compact { padding: 16px 8px; }
.empty-state.compact h3 { font-size: .8rem; }
.empty-state.compact p { font-size: .62rem; }

/* Better density on wide/short screens such as 1440×800 */
@media (min-width: 1180px) and (max-height: 900px) {
    .home-hero { padding-top: 26px; padding-bottom: 20px; }
    .home-hero-copy h1 { font-size: clamp(3rem, 3.8vw, 3.65rem); }
    .home-product-preview { min-height: 330px; }
    .preview-security-pill { bottom: 8px; }
    .home-dashboard-section { padding: 16px 0; }
}

@media (max-width: 1180px) {
    .home-hero-grid { grid-template-columns: 1fr; }
    .home-hero-copy { max-width: 780px; }
    .home-product-preview { width: min(100%, 780px); margin-inline: auto; }
    .public-profile-dashboard,
    .candidate-core-grid { grid-template-columns: 1fr; }
    .public-profile-side { position: static; grid-template-columns: repeat(3, 1fr); }
    .candidate-core-side { grid-template-columns: repeat(3, 1fr); }
    .candidate-profile-overview { grid-template-columns: 1fr; }
    .candidate-overview-privacy { display: grid; grid-template-columns: 1fr auto; gap: 12px; }
    .candidate-overview-privacy ul { grid-column: 1 / -1; grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .public-profile-hero-card { grid-template-columns: auto 1fr; }
    .public-profile-facts { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); padding: 12px 0 0; border-top: 1px solid #e6ebf2; border-left: 0; }
    .public-profile-facts div { justify-content: center; }
    .public-project-grid,
    .candidate-proof-grid-v021 { grid-template-columns: 1fr; }
    .public-profile-bottom-grid,
    .candidate-lower-grid { grid-template-columns: 1fr; }
    .public-profile-side,
    .candidate-core-side { grid-template-columns: 1fr; }
    .candidate-assets-grid { grid-template-columns: 1fr; }
    .candidate-skill-table > div { grid-template-columns: 1fr 72px 90px; }
}

@media (max-width: 700px) {
    .header-actions .header-company-link { display: none; }
    .home-hero-copy h1 { font-size: 2.65rem; }
    .public-profile-page { padding-top: 18px; }
    .public-profile-container { width: min(calc(100% - 22px), 1360px); }
    .public-profile-hero-card { grid-template-columns: 1fr; }
    .public-anonymous-avatar { width: 70px; height: 70px; }
    .public-profile-facts { grid-template-columns: 1fr; }
    .public-profile-facts span { max-width: none; text-align: left; }
    .public-permission-grid { grid-template-columns: 1fr; }
    .candidate-profile-primary { display: grid; }
    .candidate-dashboard-v021 .candidate-dashboard-avatar { width: 96px; height: 96px; }
    .candidate-profile-copy h1 { font-size: 1.7rem; }
    .candidate-overview-privacy { display: block; }
    .candidate-overview-privacy ul { display: grid; grid-template-columns: 1fr; }
    .candidate-level-track-light { grid-template-columns: 1fr; }
    .candidate-next-step-light { grid-template-columns: auto 1fr; }
    .candidate-next-step-light .button { grid-column: 1 / -1; width: 100%; }
    .candidate-skill-table > div { grid-template-columns: 1fr; gap: 6px; }
}

/* Public access request stays compact until a recruiter deliberately opens it. */
details.public-access-card { padding: 0; overflow: hidden; }
details.public-access-card > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 17px 18px; cursor: pointer; list-style: none; }
details.public-access-card > summary::-webkit-details-marker { display: none; }
details.public-access-card > summary strong,
details.public-access-card > summary small { display: block; }
details.public-access-card > summary strong { color: #102a55; font-size: .83rem; }
details.public-access-card > summary small { color: #758399; font-size: .6rem; }
.public-access-summary-icon { display: grid; place-items: center; width: 36px; height: 36px; color: #075df4; background: #eaf3ff; border-radius: 10px; }
details.public-access-card[open] > summary { border-bottom: 1px solid #e6ebf2; background: #f8fbff; }
details.public-access-card[open] > summary > .icon:last-child { transform: rotate(180deg); }
.public-access-body { padding: 16px 18px 18px; }
.public-access-body > p { margin-bottom: 13px; color: #68788f; font-size: .7rem; }

/* Candidate product topbar — compact desktop navigation matching the approved mockup. */
.candidate-product-topbar {
    position: relative;
    z-index: 20;
    min-height: 68px;
    padding: 0 26px;
    background: rgba(255,255,255,.98);
}
.candidate-product-nav {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.15vw, 34px);
    min-width: 0;
}
.candidate-product-nav a {
    color: #19335e;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}
.candidate-product-nav a:hover,
.candidate-product-nav a:focus-visible { color: #075df4; }
.candidate-topbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    min-width: 0;
}
.candidate-topbar-icon {
    position: relative;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 36px;
    height: 36px;
    color: #18335f;
    border-radius: 50%;
    text-decoration: none;
}
.candidate-topbar-icon:hover,
.candidate-topbar-icon:focus-visible { color: #075df4; background: #f0f5fc; }
.candidate-topbar-icon > span {
    position: absolute;
    top: 0;
    right: -1px;
    display: grid;
    place-items: center;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    color: #fff;
    background: #075df4;
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: .51rem;
    font-weight: 900;
}
.candidate-topbar-vetrina {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 10px;
    color: #244169;
    border-radius: 9px;
    font-size: .72rem;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
}
.candidate-topbar-vetrina:hover,
.candidate-topbar-vetrina:focus-visible { color: #075df4; background: #f0f5fc; }
.candidate-topbar-account {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 4px 3px 4px 6px;
    color: #142f59;
    border-radius: 10px;
    text-decoration: none;
}
.candidate-topbar-account:hover,
.candidate-topbar-account:focus-visible { background: #f4f7fb; }
.candidate-topbar-avatar {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 36px;
    height: 36px;
    overflow: hidden;
    color: #075df4;
    background: #e7f1ff;
    border: 1px solid #cfddf1;
    border-radius: 50%;
    font-size: .67rem;
    font-weight: 900;
}
.candidate-topbar-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.candidate-topbar-account > span:nth-child(2) {
    display: grid;
    min-width: 0;
    line-height: 1.14;
}
.candidate-topbar-account strong {
    overflow: hidden;
    max-width: 145px;
    color: #142f59;
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.candidate-topbar-account small {
    overflow: hidden;
    max-width: 145px;
    color: #75839a;
    font-size: .55rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .candidate-product-nav { gap: 15px; }
    .candidate-product-nav a:nth-child(3),
    .candidate-product-nav a:nth-child(4) { display: none; }
    .candidate-topbar-vetrina { font-size: 0; }
    .candidate-topbar-vetrina svg { width: 18px; height: 18px; }
}

@media (max-width: 860px) {
    .candidate-product-topbar { padding: 0 14px; }
    .candidate-product-nav { display: none; }
    .candidate-topbar-actions { width: 100%; justify-content: flex-end; }
    .candidate-topbar-account strong,
    .candidate-topbar-account small { display: none; }
}

/* Candidate product navigation and compact sidebar progression. */
.candidate-product-topbar { min-height: 64px; padding: 0 22px; }
.candidate-product-nav { display: flex; align-items: center; gap: 28px; }
.candidate-product-nav a { color: #18325e; font-size: .72rem; font-weight: 800; }
.candidate-product-nav a:hover { color: #075df4; }
.candidate-topbar-actions { margin-left: auto; }
.candidate-topbar-icon { position: relative; display: grid; place-items: center; width: 36px; height: 36px; color: #38506f; border-radius: 10px; }
.candidate-topbar-icon:hover { color: #075df4; background: #eef5ff; }
.candidate-topbar-icon > span { position: absolute; top: 1px; right: 1px; display: grid; place-items: center; min-width: 16px; height: 16px; padding: 0 4px; color: #fff; background: #075df4; border: 2px solid #fff; border-radius: 999px; font-size: .48rem; font-weight: 900; }
.candidate-topbar-vetrina { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; color: #17315d; background: #fff; border: 1px solid #dce4ef; border-radius: 9px; font-size: .65rem; font-weight: 800; }
.candidate-topbar-account { display: grid; grid-template-columns: auto auto auto; gap: 8px; align-items: center; padding: 5px 7px; color: #17315d; border-radius: 11px; }
.candidate-topbar-account:hover { background: #f5f8fc; }
.candidate-topbar-account strong,
.candidate-topbar-account small { display: block; }
.candidate-topbar-account strong { max-width: 130px; overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.candidate-topbar-account small { color: #7a879a; font-size: .52rem; }
.candidate-topbar-avatar { display: grid; place-items: center; width: 32px; height: 32px; overflow: hidden; color: #075df4; background: #e9f3ff; border-radius: 50%; font-size: .58rem; font-weight: 900; }
.candidate-topbar-avatar img { width: 100%; height: 100%; object-fit: cover; }
.candidate-sidebar-progress { padding: 13px; margin-top: auto; background: #f6f9fd; border: 1px solid #e0e7f1; border-radius: 13px; }
.candidate-sidebar-progress-head { display: flex; align-items: center; gap: 9px; }
.candidate-sidebar-progress-head > div:last-child span,
.candidate-sidebar-progress-head > div:last-child strong { display: block; }
.candidate-sidebar-progress-head > div:last-child span { color: #7a879b; font-size: .52rem; }
.candidate-sidebar-progress-head > div:last-child strong { color: #17315d; font-size: .68rem; }
.candidate-sidebar-levels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin: 11px 0 8px; }
.candidate-sidebar-levels i { display: block; height: 5px; background: #dfe6ef; border-radius: 999px; }
.candidate-sidebar-levels i.is-complete { background: #1b9b66; }
.candidate-sidebar-levels i.is-current { background: #075df4; }
.candidate-sidebar-progress p { margin: 0 0 8px; color: #6f7e92; font-size: .52rem; line-height: 1.45; }
.candidate-sidebar-progress a { display: inline-flex; align-items: center; gap: 5px; font-size: .58rem; font-weight: 850; }
.candidate-sidebar-quicklinks { display: grid; gap: 3px; margin-top: 7px; }
.candidate-sidebar-quicklinks a { display: flex; align-items: center; gap: 8px; padding: 7px 9px; color: #5a6b83; border-radius: 9px; font-size: .61rem; font-weight: 750; }
.candidate-sidebar-quicklinks a:hover { color: #075df4; background: #eef5ff; }

/* Complete demo profile: this is the candidate-facing visual reference. */
.demo-profile-page-v021 { padding: 24px 0 58px; background: #f5f7fb; }
.demo-profile-container-v021 { width: min(calc(100% - 32px), 1420px); }
.demo-profile-banner-v021 { display: flex; align-items: center; gap: 8px; padding: 10px 13px; margin-bottom: 14px; color: #0757d9; background: #eff6ff; border: 1px solid #c9defb; border-radius: 11px; font-size: .65rem; }
.demo-profile-banner-v021 > span { color: #4f6483; }
.demo-profile-banner-v021 > a { margin-left: auto; font-size: .61rem; font-weight: 850; white-space: nowrap; }
.demo-profile-shell-v021 { display: grid; grid-template-columns: 206px minmax(0, 1fr); overflow: hidden; background: #fff; border: 1px solid #dfe6ef; border-radius: 18px; box-shadow: 0 12px 35px rgba(17, 45, 93, .08); }
.demo-profile-sidebar-v021 { display: flex; flex-direction: column; min-height: 100%; padding: 20px 14px; background: #fbfcfe; border-right: 1px solid #e4eaf2; }
.demo-profile-sidebar-mark-v021 { margin: 0 0 18px 7px; }
.demo-profile-sidebar-v021 nav { display: grid; gap: 4px; }
.demo-profile-sidebar-v021 nav a { display: flex; align-items: center; gap: 9px; padding: 10px 11px; color: #4f6078; border-radius: 10px; font-size: .67rem; font-weight: 760; }
.demo-profile-sidebar-v021 nav a:hover,
.demo-profile-sidebar-v021 nav a.is-active { color: #075df4; background: #eaf3ff; }
.demo-profile-side-note-v021 { display: grid; gap: 8px; padding: 13px; margin-top: auto; color: #5e708a; background: #fff; border: 1px solid #e0e7f1; border-radius: 12px; }
.demo-profile-side-note-v021 strong { color: #17315d; font-size: .65rem; }
.demo-profile-side-note-v021 p { margin: 0; font-size: .55rem; line-height: 1.45; }
.demo-profile-side-note-v021 a { font-size: .58rem; font-weight: 850; }
.demo-profile-content-v021 { min-width: 0; padding: 18px; background: #f7f9fc; }
.demo-profile-hero-v021 { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px; background: #fff; border: 1px solid #dfe6ef; border-radius: 15px; }
.demo-profile-photo-v021 { position: relative; width: 104px; height: 104px; }
.demo-profile-photo-v021 img,
.demo-profile-photo-v021 > span { display: grid; place-items: center; width: 100%; height: 100%; object-fit: cover; color: #075df4; background: #eaf3ff; border: 5px solid #eff3f8; border-radius: 50%; font-size: 1.25rem; font-weight: 900; }
.demo-profile-photo-v021 i { position: absolute; right: 6px; bottom: 6px; width: 15px; height: 15px; background: #1da267; border: 3px solid #fff; border-radius: 50%; }
.demo-profile-hero-copy-v021 { min-width: 0; }
.demo-profile-badges-v021 { gap: 6px; }
.demo-profile-hero-copy-v021 h1 { margin: 6px 0 1px; font-size: 2rem; }
.demo-profile-role-v021 { margin: 0 0 5px; color: #153362; font-size: .82rem; font-weight: 780; }
.demo-profile-meta-v021 { gap: 16px; color: #64748b; font-size: .66rem; }
.demo-profile-summary-v021 { max-width: 760px; margin: 10px 0; color: #566880; font-size: .72rem; line-height: 1.55; }
.demo-profile-hero-actions-v021 { display: grid; gap: 8px; min-width: 172px; }
.demo-profile-workspace-v021 { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; margin-top: 14px; align-items: start; }
.demo-profile-main-v021,
.demo-profile-rail-v021 { display: grid; gap: 14px; }
.demo-profile-card-v021 { padding: 18px; background: #fff; border: 1px solid #dfe6ef; border-radius: 14px; }
.demo-profile-section-heading-v021 { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.demo-profile-section-heading-v021 h2 { margin: 0 0 2px; font-size: 1rem; }
.demo-profile-section-heading-v021 p { margin: 0; color: #758399; font-size: .59rem; }
.demo-profile-section-heading-v021 > span { color: #60718a; font-size: .58rem; font-weight: 800; }
.demo-proof-strip-v021 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.demo-proof-strip-v021 article { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: center; padding: 11px; background: #f8fafc; border: 1px solid #e3e9f1; border-radius: 10px; }
.demo-proof-icon-v021 { display: grid; place-items: center; width: 34px; height: 34px; color: #075df4; background: #e8f2ff; border-radius: 10px; }
.demo-proof-strip-v021 h3 { margin: 0 0 4px; font-size: .65rem; }
.demo-project-grid-v021 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.demo-project-grid-v021 > article { display: flex; flex-direction: column; min-height: 255px; padding: 14px; border: 1px solid #e0e7f0; border-radius: 11px; }
.demo-project-top-v021 { display: flex; justify-content: space-between; gap: 8px; }
.demo-project-top-v021 > span:first-child { display: grid; place-items: center; width: 22px; height: 22px; color: #075df4; background: #eaf3ff; border-radius: 50%; font-size: .55rem; font-weight: 900; }
.demo-project-grid-v021 h3 { margin: 11px 0 8px; font-size: .79rem; }
.demo-project-grid-v021 dl { display: grid; gap: 8px; margin: 0 0 11px; }
.demo-project-grid-v021 dl > div { display: grid; gap: 2px; }
.demo-project-grid-v021 dt { color: #17315d; font-size: .52rem; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.demo-project-grid-v021 dd { margin: 0; color: #68778c; font-size: .57rem; line-height: 1.45; }
.demo-project-grid-v021 .skill-pills { margin-top: auto; }
.demo-profile-bottom-grid-v021 { display: grid; grid-template-columns: 1.05fr .95fr; gap: 14px; }
.demo-skill-list-v021 { display: grid; }
.demo-skill-list-v021 > div { display: grid; grid-template-columns: minmax(0, 1fr) auto 80px; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #e8edf3; }
.demo-skill-list-v021 > div:last-child { border-bottom: 0; }
.demo-skill-list-v021 strong { color: #233c65; font-size: .59rem; }
.demo-skill-list-v021 > div > span { display: flex; gap: 4px; }
.demo-skill-list-v021 i { width: 8px; height: 8px; background: #dce4ee; border-radius: 50%; }
.demo-skill-list-v021 i.is-on { background: #075df4; }
.demo-skill-list-v021 em { color: #708099; font-size: .52rem; font-style: normal; text-align: right; }
.demo-profile-intro-v021 blockquote { position: relative; min-height: 122px; padding: 15px 15px 15px 37px; margin: 0 0 10px; color: #53657e; background: #f8fafc; border-radius: 11px; font-size: .64rem; line-height: 1.65; }
.demo-profile-intro-v021 blockquote::before { position: absolute; top: 5px; left: 12px; color: #75a8f4; content: "“"; font-size: 2.2rem; font-weight: 900; }
.demo-profile-intro-v021 > small { font-size: .53rem; }
.demo-profile-side-title-v021 { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.demo-profile-side-title-v021 h2 { margin: 0; font-size: .9rem; }
.demo-profile-side-title-v021 > span:not(.badge) { color: #7d8a9d; font-size: .54rem; }
.demo-privacy-card-v021 ul { display: grid; gap: 0; padding: 0; margin: 0 0 13px; list-style: none; }
.demo-privacy-card-v021 li { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #e8edf3; font-size: .57rem; }
.demo-privacy-card-v021 li span { color: #687890; }
.demo-privacy-card-v021 li strong { color: #17315d; text-align: right; }
.demo-access-list-v021 { display: grid; }
.demo-access-list-v021 > div { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: center; padding: 9px 0; border-bottom: 1px solid #e8edf3; }
.demo-access-list-v021 > div:last-child { border-bottom: 0; }
.demo-access-list-v021 > div > .icon { color: #075df4; }
.demo-access-list-v021 p { margin: 0; }
.demo-access-list-v021 strong,
.demo-access-list-v021 small { display: block; }
.demo-access-list-v021 strong { color: #17315d; font-size: .59rem; }
.demo-access-list-v021 small { color: #77859a; font-size: .51rem; }
.demo-request-company-v021 { display: flex; align-items: center; gap: 9px; }
.demo-request-company-v021 strong,
.demo-request-company-v021 small { display: block; }
.demo-request-company-v021 strong { color: #17315d; font-size: .63rem; }
.demo-request-company-v021 small { color: #7a879a; font-size: .51rem; }
.demo-request-card-v021 > p { color: #62738a; font-size: .58rem; line-height: 1.55; }
.demo-request-card-v021 > div:last-child { display: flex; gap: 7px; }
.demo-request-card-v021 .button { font-size: .58rem; }
.demo-audio-card-v021 { text-align: center; background: linear-gradient(180deg, #f3f8ff, #fff); }
.demo-audio-icon-v021 { display: grid; place-items: center; width: 44px; height: 44px; margin: 0 auto 9px; color: #075df4; background: #dfeeff; border-radius: 13px; }
.demo-audio-card-v021 h2 { font-size: .86rem; }
.demo-audio-card-v021 p { margin: 0; color: #6d7c91; font-size: .56rem; }

@media (max-width: 1120px) {
    .candidate-product-nav { display: none; }
    .demo-profile-shell-v021 { grid-template-columns: 76px minmax(0, 1fr); }
    .demo-profile-sidebar-v021 { padding-inline: 9px; }
    .demo-profile-sidebar-mark-v021 { width: 48px; margin-inline: auto; }
    .demo-profile-sidebar-v021 nav a { justify-content: center; }
    .demo-profile-sidebar-v021 nav span,
    .demo-profile-side-note-v021 { display: none; }
    .demo-profile-workspace-v021 { grid-template-columns: 1fr; }
    .demo-profile-rail-v021 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 780px) {
    .candidate-topbar-vetrina,
    .candidate-topbar-account > span:nth-child(2) { display: none; }
    .demo-profile-banner-v021 { align-items: flex-start; flex-wrap: wrap; }
    .demo-profile-banner-v021 > a { width: 100%; margin-left: 24px; }
    .demo-profile-shell-v021 { display: block; }
    .demo-profile-sidebar-v021 { display: none; }
    .demo-profile-content-v021 { padding: 11px; }
    .demo-profile-hero-v021 { grid-template-columns: 1fr; }
    .demo-profile-photo-v021 { width: 86px; height: 86px; }
    .demo-profile-hero-actions-v021 { grid-template-columns: 1fr 1fr; }
    .demo-proof-strip-v021,
    .demo-project-grid-v021,
    .demo-profile-bottom-grid-v021,
    .demo-profile-rail-v021 { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   v0.2.1 final visual pass
   The approved mockups are the source of truth: dense, readable, product-like.
   -------------------------------------------------------------------------- */

/* Homepage: two headline lines and the next section visible on 1440×800. */
.home-title-line { display: block; }
.home-title-accent { color: #075df4; white-space: nowrap; }
.home-hero {
    padding: 24px 0 16px;
    min-height: 0;
}
.home-hero-grid {
    grid-template-columns: minmax(535px, .91fr) minmax(630px, 1.09fr);
    gap: 34px;
    align-items: center;
}
.home-kicker { margin-bottom: 9px; font-size: .67rem; }
.home-hero-copy h1 {
    max-width: 640px;
    margin: 0;
    font-size: clamp(3rem, 3.55vw, 3.42rem);
    line-height: 1.015;
    letter-spacing: -.047em;
}
.home-hero-lead {
    max-width: 610px;
    margin: 13px 0 7px;
    font-size: .94rem;
    line-height: 1.45;
}
.home-manifesto-note {
    max-width: 610px;
    margin: 0 0 15px;
    font-size: .76rem;
    line-height: 1.42;
}
.home-role-actions { max-width: 625px; gap: 16px; }
.home-role-actions > div { gap: 6px; padding-right: 16px; }
.home-role-actions > div > strong { font-size: .72rem; }
.home-role-actions .button { min-height: 42px; padding: 9px 14px; font-size: .78rem; }
.home-role-actions small { font-size: .62rem; }
.home-ai-line { margin-top: 11px; font-size: .68rem; }
.home-product-preview { min-height: 318px; }
.preview-privacy-card { top: 38px; left: 0; width: 220px; padding: 15px; }
.preview-proof-card { top: 4px; left: 182px; width: 292px; padding: 17px; }
.preview-request-card { top: 42px; right: 0; width: 215px; padding: 15px; }
.preview-privacy-card > span,
.preview-request-card > span,
.preview-card-title > span { font-size: .72rem; }
.preview-privacy-card > p,
.preview-request-card p,
.preview-proof-card > p { font-size: .66rem; }
.preview-privacy-card > div { padding: 9px 0; }
.preview-privacy-card strong,
.preview-proof-card > small { font-size: .64rem; }
.preview-proof-card h3 { margin-top: 12px; font-size: .9rem; }
.preview-proof-card footer { margin-top: 10px; padding-top: 10px; font-size: .61rem; }
.preview-request-card .access-company { margin: 10px 0; }
.preview-request-card button { padding: 7px 8px; font-size: .58rem; }
.preview-security-pill { right: 24px; bottom: 9px; padding: 8px 13px; font-size: .62rem; }
.home-dashboard-section { padding: 16px 0 20px; }
.home-panel { min-height: 246px; padding: 19px; }
.home-panel-header { margin-bottom: 14px; }
.home-panel-header h2 { font-size: 1.08rem; }
.home-panel-header > span { font-size: .62rem; }
.home-three-steps { gap: 14px; }
.home-three-steps i { width: 48px; height: 48px; margin-bottom: 9px; }
.home-three-steps > div:not(:last-child)::after { top: 33px; }
.home-three-steps h3 { margin-bottom: 5px; font-size: .82rem; }
.home-three-steps p { font-size: .62rem; }
.home-privacy-list { gap: 10px; }
.home-privacy-list strong { font-size: .7rem; }
.home-privacy-list span { font-size: .59rem; }

/* Candidate shell and dashboard — match the approved profile dashboard. */
.candidate-shell-v021 { grid-template-columns: 224px minmax(0, 1fr); }
.candidate-shell-v021 .app-sidebar { padding: 14px 12px 10px; }
.candidate-shell-v021 .app-brand { padding: 0 8px 14px; }
.candidate-shell-v021 .app-brand img { width: 168px; }
.candidate-shell-v021 .app-nav-link { gap: 9px; padding: 8px 9px; font-size: .69rem; }
.candidate-shell-v021 .app-nav-link .icon { width: 17px; height: 17px; }
.candidate-sidebar-progress { margin-top: auto; }
.candidate-product-topbar { min-height: 60px; padding: 0 20px; }
.candidate-product-nav { gap: 24px; }
.candidate-dashboard-v021 {
    width: min(calc(100% - 26px), 1460px);
    padding: 14px 0 54px;
}
.candidate-dashboard-v021 .block-space { margin-top: 13px; }
.candidate-dashboard-v021 .app-card {
    padding: 17px;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(18, 45, 88, .05);
}
.candidate-dashboard-v021 .card-header { margin-bottom: 11px; }
.candidate-dashboard-v021 .card-header h2 { font-size: .95rem; }
.candidate-dashboard-v021 .card-header p { font-size: .58rem; }
.candidate-overview-grid { grid-template-columns: minmax(0, 1fr) 305px; gap: 13px; }
.candidate-profile-summary-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.candidate-profile-summary-main { gap: 17px; align-items: center; }
.candidate-dashboard-avatar-lg { width: 104px; height: 104px; }
.candidate-profile-summary-copy h1 { margin: 3px 0 1px; font-size: 1.9rem; }
.candidate-role-line { margin: 0 0 4px; font-size: .75rem; }
.candidate-meta { gap: 14px; font-size: .61rem; }
.candidate-dashboard-summary { max-width: 760px; margin: 8px 0; font-size: .66rem; line-height: 1.5; }
.candidate-profile-skills { margin-top: 8px; }
.candidate-profile-summary-actions { display: grid; gap: 7px; padding-left: 0; min-width: 152px; }
.candidate-profile-summary-actions .button { min-height: 38px; padding: 8px 10px; font-size: .65rem; }
.candidate-privacy-summary-list { margin-bottom: 12px; }
.candidate-privacy-summary-list li { padding: 9px 0; font-size: .62rem; }
.candidate-privacy-summary-card .button { min-height: 38px; font-size: .65rem; }
.candidate-journey-card { padding: 14px 16px !important; }
.candidate-journey-head h2 { font-size: 1.03rem; }
.candidate-journey-head .eyebrow { font-size: .58rem; }
.candidate-journey-track { margin: 11px 0 10px; }
.candidate-journey-step { padding: 7px 8px; }
.candidate-journey-step > span { width: 27px; height: 27px; }
.candidate-journey-step strong { font-size: .63rem; }
.candidate-journey-step small { font-size: .49rem; }
.candidate-next-step { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.candidate-next-step p { margin: 2px 0 0; font-size: .58rem; }
.candidate-next-step strong { font-size: .68rem; }
.candidate-next-step .button { min-height: 36px; font-size: .62rem; }
.candidate-workspace-grid { grid-template-columns: minmax(0, 1fr) 305px; gap: 13px; }
.candidate-workspace-main,
.candidate-workspace-side { gap: 13px; }
.candidate-proof-grid-v021 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.candidate-proof-card-v021 { min-height: 250px; padding: 13px; }
.candidate-proof-card-v021 h3 { margin: 9px 0 2px; font-size: .78rem; }
.candidate-proof-card-v021 .proof-role { font-size: .55rem; }
.candidate-proof-card-v021 > p { margin: 8px 0; font-size: .58rem; line-height: 1.48; }
.candidate-proof-card-v021 .proof-result { padding: 8px; }
.candidate-proof-card-v021 .proof-result strong,
.candidate-proof-card-v021 .proof-result span { font-size: .53rem; }
.candidate-proof-link { margin-top: 9px; font-size: .59rem; }
.candidate-detail-grid { gap: 13px; }
.candidate-skill-evidence-row { padding: 8px 0; }
.candidate-skill-evidence-row > strong { font-size: .64rem; }
.candidate-skill-evidence-row .badge { font-size: .53rem; }
.candidate-intro-quote { padding: 12px; margin-bottom: 12px; }
.candidate-intro-quote p { font-size: .64rem; }
.dashboard-request-item { padding: 10px; }
.dashboard-request-item strong { font-size: .66rem; }
.dashboard-request-item span { font-size: .58rem; }
.dashboard-request-item small { font-size: .52rem; }
.mini-log-item { padding: 9px 0; }
.media-status-row { padding: 9px 0; }
.candidate-private-assets-card > a { margin-top: 10px; font-size: .62rem; }
.candidate-confirmation-card > p,
.candidate-incoming-request-card > p { font-size: .64rem; }

/* Full demo is the visual product explanation; Vetrina remains a separate view. */
.demo-profile-page-v021 { padding-top: 18px; }
.demo-profile-container-v021 { width: min(calc(100% - 26px), 1440px); }
.demo-profile-shell-v021 { grid-template-columns: 190px minmax(0, 1fr); }
.demo-profile-sidebar-v021 { padding: 16px 12px; }
.demo-profile-content-v021 { padding: 14px; }
.demo-profile-hero-v021 { padding: 18px; }
.demo-profile-photo-v021 { width: 92px; height: 92px; }
.demo-profile-hero-copy-v021 h1 { font-size: 1.75rem; }
.demo-profile-summary-v021 { margin: 7px 0; }
.demo-profile-workspace-v021 { grid-template-columns: minmax(0, 1fr) 285px; gap: 11px; margin-top: 11px; }
.demo-profile-main-v021,
.demo-profile-rail-v021 { gap: 11px; }
.demo-profile-card-v021 { padding: 15px; }
.demo-project-grid-v021 > article { min-height: 225px; padding: 12px; }

@media (min-width: 1180px) and (max-height: 850px) {
    .header-inner { min-height: 60px; }
    .brand img { width: 190px; }
    .home-hero { padding-top: 18px; padding-bottom: 12px; }
    .home-hero-copy h1 { font-size: 3.05rem; }
    .home-hero-lead { margin-top: 10px; font-size: .88rem; }
    .home-manifesto-note { margin-bottom: 11px; font-size: .7rem; }
    .home-role-actions .button { min-height: 40px; }
    .home-ai-line { margin-top: 8px; }
    .home-product-preview { min-height: 298px; }
    .preview-privacy-card { top: 31px; }
    .preview-proof-card { top: 0; }
    .preview-request-card { top: 34px; }
    .home-dashboard-section { padding-top: 12px; }
}

@media (max-width: 1240px) {
    .home-title-accent { white-space: normal; }
    .home-hero-grid { grid-template-columns: 1fr; }
    .home-product-preview { width: min(100%, 760px); margin-inline: auto; }
    .candidate-profile-summary-card { grid-template-columns: 1fr; }
    .candidate-profile-summary-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1040px) {
    .candidate-overview-grid,
    .candidate-workspace-grid { grid-template-columns: 1fr; }
    .candidate-workspace-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .home-title-accent { white-space: normal; }
    .home-hero-copy h1 { font-size: clamp(2.45rem, 12vw, 3.15rem); }
    .candidate-profile-summary-card { display: block; }
    .candidate-profile-summary-actions { grid-template-columns: 1fr; margin-top: 15px; }
    .candidate-proof-grid-v021,
    .candidate-workspace-side { grid-template-columns: 1fr; }
}

/* Candidate navigation: sticky product header on desktop and bottom app bar on mobile. */
.candidate-product-topbar {
    position: sticky;
    top: 0;
}

@media (max-width: 760px) {
    .app-body:has(.app-sidebar-candidate) { padding-bottom: 68px; }
    .app-sidebar-candidate {
        position: fixed !important;
        z-index: 120;
        right: 0;
        bottom: 0;
        left: 0;
        top: auto !important;
        display: block !important;
        width: 100%;
        height: 64px !important;
        padding: 6px 8px !important;
        overflow-x: auto;
        overflow-y: hidden;
        background: rgba(255,255,255,.98);
        border-top: 1px solid #dfe6ef;
        border-right: 0 !important;
        border-bottom: 0 !important;
        box-shadow: 0 -8px 28px rgba(15,42,82,.08);
        backdrop-filter: blur(12px);
    }
    .app-sidebar-candidate .app-brand,
    .app-sidebar-candidate .candidate-sidebar-progress,
    .app-sidebar-candidate .candidate-sidebar-quicklinks,
    .app-sidebar-candidate .app-sidebar-logout { display: none !important; }
    .app-sidebar-candidate nav {
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        gap: 4px !important;
        width: max-content;
        min-width: 100%;
        height: 52px;
    }
    .app-sidebar-candidate .app-nav-link {
        display: grid !important;
        flex: 0 0 50px;
        place-items: center;
        width: 50px;
        min-width: 50px !important;
        height: 50px;
        min-height: 50px;
        padding: 0 !important;
        border-radius: 13px;
    }
    .app-sidebar-candidate .app-nav-link span { display: none !important; }
    .app-sidebar-candidate .app-nav-link .icon { width: 20px; height: 20px; }
    .candidate-product-topbar {
        min-height: 58px;
        padding: 0 12px;
    }
    .candidate-topbar-actions { gap: 4px; }
    .candidate-topbar-icon { width: 34px; height: 34px; }
    .candidate-topbar-avatar { width: 32px; height: 32px; }
    .candidate-dashboard-v021 { width: min(calc(100% - 22px), 1460px); padding-top: 14px; }
}


/* v0.4 CSP-safe progress components */
.onboarding-score { position: relative; display: grid; place-items: center; width: 145px; height: 145px; background: #fff; border-radius: 50%; box-shadow: 0 12px 30px rgba(20,76,150,.12); }
.onboarding-score-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.onboarding-score-ring circle { fill: none; stroke-width: 4; }
.onboarding-score-ring .score-track { stroke: #e6edf6; }
.onboarding-score-ring .score-value { stroke: #1266e5; stroke-linecap: round; }
.onboarding-score-copy { position: relative; z-index: 1; display: grid; place-items: center; text-align: center; }
.onboarding-score-copy strong { color: var(--fc-navy); font-size: 2.1rem; line-height: 1; }
.onboarding-score-copy span { color: var(--fc-blue); font-size: .72rem; font-weight: 850; }
.onboarding-score-copy small { max-width: 80px; color: #77869b; font-size: .58rem; line-height: 1.2; }
.progress-native, .quality-funnel progress { display: block; width: 100%; overflow: hidden; border: 0; border-radius: 999px; background: #e8edf4; appearance: none; }
.progress-native { height: 8px; margin: 4px 0 14px; }
.quality-funnel progress { height: 5px; clear: both; margin-top: 8px; }
.progress-native::-webkit-progress-bar, .quality-funnel progress::-webkit-progress-bar { background: #e8edf4; border-radius: 999px; }
.progress-native::-webkit-progress-value, .quality-funnel progress::-webkit-progress-value { background: linear-gradient(90deg,#1266e5,#34a4ff); border-radius: 999px; }
.progress-native::-moz-progress-bar, .quality-funnel progress::-moz-progress-bar { background: linear-gradient(90deg,#1266e5,#34a4ff); border-radius: 999px; }
@media (max-width:700px){.onboarding-score{width:120px;height:120px}}
/* FattoChiaro v0.4.1 — stabilizzazione installazione, gerarchie e UI */
:root {
  --fc-ink: #0d2245;
  --fc-blue: #0b63f6;
  --fc-blue-dark: #094fc3;
  --fc-soft: #f5f8fc;
  --fc-line: #dce5f1;
  --fc-muted: #62738d;
  --fc-green: #168958;
  --fc-red: #b42d38;
}

/* Typography: readable without billboard-sized headings. */
body { font-size: 16px; line-height: 1.55; }
.app-content h1,
.page-hero h1,
.auth-form-panel h1,
.auth-form-panel h2,
.admin-control-room h1 { letter-spacing: -.035em; }
.app-content h1 { font-size: clamp(1.8rem, 2.6vw, 2.65rem); }
.app-content h2 { font-size: clamp(1.25rem, 1.75vw, 1.7rem); }
.app-content h3 { font-size: clamp(1rem, 1.2vw, 1.18rem); }
.page-hero { padding: 50px 0 40px; }
.page-hero h1 { max-width: 880px; font-size: clamp(2rem, 3.3vw, 3.35rem); }

/* Header density and clearer demo navigation. */
.header-inner { min-height: 66px; }
.brand img { width: 188px; }
.site-nav { gap: 18px; }
.site-nav a { font-size: .88rem; }
.site-nav .nav-demo-link {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px;
  color: #5b3fa3; background: #f3edff; border: 1px solid #ded1ff; border-radius: 999px;
}
.site-nav .nav-demo-link::after { display: none; }
.site-nav .nav-demo-link strong { font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }

/* Homepage — compact, aligned and readable on 1440×900. */
.new-homepage .container { width: min(calc(100% - 40px), 1320px); }
.home-hero { padding: 36px 0 26px !important; overflow: visible !important; }
.home-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .88fr) minmax(630px, 1.12fr) !important;
  gap: 42px !important;
  align-items: center !important;
}
.home-kicker { margin-bottom: 9px !important; font-size: .72rem !important; }
.home-hero-copy h1 {
  max-width: 620px !important; margin: 0 !important;
  font-size: clamp(2.9rem, 3.65vw, 3.75rem) !important;
  line-height: 1.01 !important; letter-spacing: -.047em !important;
}
.home-title-line { display: block; }
.home-title-accent { color: var(--fc-blue); white-space: normal !important; }
.home-hero-lead { max-width: 610px; margin: 16px 0 8px !important; font-size: 1rem !important; line-height: 1.48; }
.home-manifesto-note { max-width: 610px; margin: 0 0 18px !important; color: #334b70; font-size: .87rem !important; font-weight: 700; }
.home-role-actions { max-width: 630px !important; gap: 18px !important; }
.home-role-actions > div { gap: 7px !important; }
.home-role-actions .button { min-height: 44px; font-size: .84rem; }
.home-role-actions small { font-size: .69rem !important; }
.home-ai-line { margin-top: 13px !important; font-size: .76rem !important; }

.home-product-preview {
  position: relative !important;
  display: grid !important;
  grid-template-columns: .92fr 1.28fr 1fr !important;
  gap: 12px !important;
  min-height: 0 !important;
  align-items: stretch;
  padding: 12px;
  background: linear-gradient(135deg, rgba(244,249,255,.88), rgba(255,255,255,.94));
  border: 1px solid #dce8f7;
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(21,56,104,.09);
}
.preview-privacy-card,
.preview-proof-card,
.preview-request-card {
  position: static !important; width: auto !important; min-width: 0;
  padding: 17px !important; margin: 0 !important;
  border-radius: 15px !important; box-shadow: 0 10px 28px rgba(17,45,93,.08) !important;
}
.preview-proof-card { z-index: auto !important; }
.preview-request-card { z-index: auto !important; }
.preview-privacy-card > span,
.preview-request-card > span,
.preview-card-title > span { font-size: .74rem !important; }
.preview-privacy-card > p,
.preview-request-card p,
.preview-proof-card > p { font-size: .68rem !important; line-height: 1.45; }
.preview-privacy-card > div { padding: 9px 0 !important; }
.preview-privacy-card strong,
.preview-proof-card > small { font-size: .65rem !important; }
.preview-proof-card h3 { margin-top: 12px !important; font-size: .91rem !important; }
.preview-proof-card footer { gap: 9px !important; margin-top: 10px !important; padding-top: 10px !important; font-size: .61rem !important; }
.preview-request-card .access-company { margin: 10px 0 !important; }
.preview-request-card button { padding: 7px 8px !important; font-size: .59rem !important; }
.preview-security-pill {
  position: static !important; grid-column: 1 / -1; justify-self: center;
  margin-top: 2px; padding: 8px 15px !important; font-size: .64rem !important;
  box-shadow: none !important;
}
.home-dashboard-section { padding: 18px 0 22px !important; }
.home-dashboard-grid { gap: 16px !important; }
.home-panel { min-height: 236px !important; padding: 19px !important; }
.home-panel-header { margin-bottom: 14px !important; }
.home-panel-header h2 { font-size: 1.08rem !important; }
.home-three-steps p { font-size: .66rem !important; }
.home-privacy-list strong { font-size: .73rem !important; }
.home-privacy-list span { font-size: .62rem !important; }

/* Registration pages — contained, not edge-to-edge. */
.auth-page { background: #f5f8fc; }
.auth-shell.fc-register-shell {
  display: grid;
  grid-template-columns: minmax(340px, .82fr) minmax(560px, 1.18fr);
  width: min(calc(100% - 40px), 1240px);
  margin: 38px auto 64px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce5f1;
  border-radius: 24px;
  box-shadow: 0 24px 65px rgba(16,45,93,.11);
}
.auth-promise {
  display: flex; min-height: 100%; padding: 44px;
  color: #e9f1ff;
  background:
    radial-gradient(circle at 20% 10%, rgba(93,163,255,.35), transparent 32%),
    linear-gradient(150deg, #0d2e61, #075df4);
}
.auth-promise-inner { align-self: center; max-width: 500px; }
.auth-promise .eyebrow { color: #bcd8ff; }
.auth-promise h1 { color: #fff; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.06; }
.auth-promise p { color: #d4e3fb; }
.auth-benefits { display: grid; gap: 11px; margin: 25px 0; }
.auth-benefits span { display: flex; align-items: center; gap: 10px; font-weight: 750; }
.auth-manifesto { padding: 14px 16px; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 13px; }
.auth-form-panel { padding: 38px; background: #fff; }
.fc-form-card { width: 100%; max-width: 760px; margin-inline: auto; }
.fc-form-card-wide { max-width: 840px; }
.form-heading { margin-bottom: 24px; }
.form-heading h2 { margin-top: 9px; font-size: 2rem; }
.fc-form-card fieldset,
.form-card-wide fieldset {
  min-width: 0; padding: 20px; margin: 0 0 20px;
  border: 1px solid #dce5f1; border-radius: 16px; background: #fbfcfe;
}
.fc-form-card legend,
.form-card-wide legend { padding: 0 8px; color: var(--fc-ink); font-weight: 850; }
.fc-choice-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.fc-choice-cards > legend { grid-column: 1 / -1; }
.fc-choice-card { position: relative; display: block; }
.fc-choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.fc-choice-card > span {
  display: grid; gap: 4px; min-height: 100%; padding: 15px;
  background: #fff; border: 1px solid #d7e1ee; border-radius: 13px; cursor: pointer;
}
.fc-choice-card strong { color: #17315d; }
.fc-choice-card small { color: #687890; line-height: 1.42; }
.fc-choice-card input:checked + span { border-color: #0b63f6; box-shadow: 0 0 0 3px rgba(11,99,246,.12); background: #f5f9ff; }
.fc-choice-card input:focus-visible + span { outline: 3px solid rgba(11,99,246,.3); outline-offset: 2px; }
.form-switch { margin-top: 16px; text-align: center; }
.auth-narrow { max-width: 640px; }

/* Page heading and common V4 layout. */
.v4-content { max-width: 1440px; margin-inline: auto; }
.fc-page-heading {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
  padding: 4px 0 18px; border-bottom: 1px solid #e2e8f1;
}
.fc-page-heading > div { max-width: 880px; }
.fc-page-heading h1 { margin-bottom: 9px; }
.fc-page-heading p { color: #62738d; }
.block-space { margin-top: 18px; }
.form-card-wide { padding: 24px; background: #fff; border: 1px solid #dce5f1; border-radius: 18px; box-shadow: 0 8px 24px rgba(18,45,87,.05); }
.v4-form { gap: 16px; }
.form-help { display: block; margin-top: 6px; color: #667791; font-size: .82rem; line-height: 1.45; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 8px; }
.permissions-inline { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.permissions-inline .checkbox-row { padding: 13px; background: #f7faff; border: 1px solid #dce7f5; border-radius: 12px; }
.permissions-inline strong,
.permissions-inline small { display: block; }

/* Evidence/projects — visual hierarchy instead of plain DL text. */
.evidence-explainer-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.evidence-explainer-grid article { padding: 15px; background: #fff; border: 1px solid #dce5f1; border-radius: 14px; }
.evidence-explainer-grid p { margin: 9px 0 0; color: #63738b; font-size: .84rem; }
.section-heading-inline { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 13px; }
.section-heading-inline h2 { margin-bottom: 3px; }
.section-heading-inline p { margin: 0; color: #6b7a90; }
.project-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.proof-card-v4 { display: flex; flex-direction: column; min-width: 0; padding: 18px; background: #fff; border: 1px solid #dce5f1; border-radius: 16px; box-shadow: 0 8px 22px rgba(16,45,93,.055); }
.proof-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.proof-card-v4 h3 { margin: 15px 0 8px; }
.proof-context { min-height: 66px; color: #596b85; font-size: .9rem; }
.proof-card-v4 dl { display: grid; gap: 10px; margin: 4px 0 14px; }
.proof-card-v4 dl > div { padding: 11px; background: #f7f9fc; border: 1px solid #e5ebf3; border-radius: 11px; }
.proof-card-v4 dt { margin-bottom: 3px; color: #6b7890; font-size: .72rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.proof-card-v4 dd { margin: 0; color: #223a62; font-size: .86rem; line-height: 1.48; }
.proof-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; color: #66758b; font-size: .78rem; }
.proof-meta span { display: inline-flex; align-items: center; gap: 5px; }
.proof-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.moderation-chip { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #edf1f6; color: #526176; font-size: .68rem; font-weight: 800; }

/* Privacy: explain each choice in plain language. */
.privacy-master-card,
.permission-matrix-card,
.app-card { padding: 22px; }
.showcase-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.choice-card { position: relative; display: block; }
.choice-card input { position: absolute; opacity: 0; }
.choice-card > span { display: grid; gap: 6px; min-height: 100%; padding: 16px; border: 1px solid #dce5f1; border-radius: 14px; background: #fff; cursor: pointer; }
.choice-card input:checked + span { border-color: #0b63f6; background: #f3f8ff; box-shadow: 0 0 0 3px rgba(11,99,246,.11); }
.choice-card strong,
.choice-card small { display: block; }
.choice-card small { color: #667791; }
.privacy-signal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.privacy-signal { display: flex; padding: 13px; background: #f8fafc; border: 1px solid #e2e8f1; border-radius: 12px; }
.privacy-signal input { width: 19px; height: 19px; margin: 3px 11px 0 0; }
.privacy-signal strong,
.privacy-signal small { display: block; }
.privacy-signal small { color: #697a92; }
.permission-table { display: grid; gap: 0; overflow: hidden; border: 1px solid #dfe6ef; border-radius: 13px; }
.permission-row { display: grid; grid-template-columns: minmax(230px,1fr) 150px 135px 170px; gap: 12px; align-items: center; min-height: 62px; padding: 10px 14px; border-top: 1px solid #e6ebf2; }
.permission-row:first-child { border-top: 0; }
.permission-head { color: #586982; background: #f5f8fc; font-size: .76rem; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.permission-row > div strong,
.permission-row > div small { display: block; }
.permission-row > div small { margin-top: 3px; color: #7a879a; }
.matrix-check { display: grid; place-items: center; }
.matrix-check input { width: 20px; height: 20px; }
.privacy-final-bar { position: sticky; z-index: 20; bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 18px; background: rgba(255,255,255,.96); border: 1px solid #cad9ed; border-radius: 14px; box-shadow: 0 12px 35px rgba(19,50,97,.13); backdrop-filter: blur(8px); }
.privacy-final-bar strong,
.privacy-final-bar span { display: block; }
.privacy-final-bar span { color: #687890; font-size: .84rem; }

/* Languages and simulations: action is unmistakable. */
.prompt-card { padding: 17px; border: 1px solid #cfe0f6; border-left: 5px solid #0b63f6; border-radius: 13px; background: #f5f9ff; }
.prompt-card > span { display: block; color: #0b63f6; font-size: .73rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.prompt-card > strong { display: block; margin: 6px 0 4px; color: #122c56; }
.prompt-card p { margin: 0; color: #2e4469; font-size: 1rem; }
.language-action-banner { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; background: #fff7df; border: 1px solid #f2d991; border-radius: 11px; color: #6c4a07; }
.controlled-input-help { display: flex; align-items: center; gap: 8px; margin-top: 8px; color: #5f7088; font-size: .8rem; }
.input-attention { box-shadow: 0 0 0 3px rgba(180,45,56,.18) !important; border-color: #b42d38 !important; }
.simulation-focus-card { max-width: 980px; margin: 28px auto; padding: 30px; }
.simulation-focus-card > h1 { font-size: clamp(1.45rem,2.3vw,2.25rem); line-height: 1.28; }
.simulation-task { padding: 18px; margin: 18px 0; background: #f5f8fc; border: 1px solid #dce5f1; border-radius: 14px; }
.simulation-answer { min-height: 260px; }

/* Demo content: never ambiguous. */
.demo-zone-banner {
  display: flex; align-items: flex-start; gap: 13px; padding: 16px 18px; margin-bottom: 18px;
  color: #3f2d78; background: #f4efff; border: 2px solid #d8c9ff; border-radius: 15px;
}
.demo-zone-banner strong { display: block; color: #3a246f; font-size: 1rem; }
.demo-zone-banner span { color: #67558e; }
.demo-view-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.demo-view-tabs a { display: inline-flex; align-items: center; gap: 7px; padding: 10px 13px; color: #40516d; background: #fff; border: 1px solid #d7e0ec; border-radius: 10px; font-weight: 800; }
.demo-view-tabs a.is-active { color: #fff; background: #0b63f6; border-color: #0b63f6; }
.demo-view-tabs small { font-weight: 600; opacity: .88; }
.demo-profile-banner-v021 { border-width: 2px !important; background: #f4efff !important; border-color: #d8c9ff !important; }
.profile-grid-spaced .candidate-card { position: relative; }
.demo-card-ribbon { position: absolute; top: 0; right: 0; padding: 6px 10px; color: #4c3388; background: #eee5ff; border-bottom-left-radius: 11px; font-size: .67rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.demo-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 13px; }
.demo-card-actions a { display: inline-flex; justify-content: center; padding: 9px; border: 1px solid #cad7e7; border-radius: 9px; font-size: .76rem; font-weight: 800; text-align: center; }
.demo-card-actions a:first-child { color: #fff; background: #0b63f6; border-color: #0b63f6; }

/* Admin: clear control room, previews and decisions. */
.admin-control-room { max-width: 1500px; margin-inline: auto; }
.admin-review-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid #e0e7f0; }
.admin-review-heading h1 { margin: 6px 0; }
.admin-review-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(330px,.75fr); gap: 16px; align-items: start; }
.admin-panel { padding: 22px !important; border-radius: 15px !important; box-shadow: 0 7px 20px rgba(16,45,93,.045); }
.admin-panel h2 { font-size: 1.25rem; }
.admin-panel h3 { margin-top: 20px; font-size: 1rem; }
.admin-company-identity { display: grid; grid-template-columns: 96px 1fr; gap: 18px; align-items: start; margin-bottom: 18px; }
.admin-company-logo-large { display: grid; place-items: center; width: 96px; height: 96px; overflow: hidden; color: #0b63f6; background: #eef5ff; border: 1px solid #cfe0f6; border-radius: 18px; font-size: 1.6rem; font-weight: 900; }
.admin-company-logo-large img { width: 100%; height: 100%; object-fit: contain; }
.admin-data-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
.admin-data-grid > div,
.admin-data-list > div { padding: 11px 12px; background: #f8fafc; border: 1px solid #e5ebf2; border-radius: 10px; }
.admin-data-grid dt,
.admin-data-list dt { color: #748197; font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.admin-data-grid dd,
.admin-data-list dd { margin: 3px 0 0; color: #1e3760; overflow-wrap: anywhere; }
.admin-file-review { display: grid; gap: 7px; padding: 13px; margin-bottom: 10px; background: #f7faff; border: 1px solid #dce7f5; border-radius: 11px; }
.admin-decision-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: end; }
.admin-decision-buttons { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.admin-decision-buttons .button-primary { background: #168958; }
.admin-preview-stage { padding: 16px; background: #f5f8fc; border: 1px solid #dce5f1; border-radius: 13px; }
.admin-preview-stage img { display: block; max-height: 480px; margin-inline: auto; object-fit: contain; border-radius: 10px; }
.admin-preview-stage iframe,
.admin-preview-stage audio { width: 100%; min-height: 420px; border: 0; }
.admin-demo-warning { padding: 12px 14px; margin-bottom: 14px; color: #6b4a08; background: #fff6dc; border: 1px solid #eed58d; border-radius: 11px; }

/* Better text density in legacy dashboard selectors. */
.candidate-profile-summary-card,
.candidate-privacy-summary-card,
.candidate-journey-card,
.candidate-workspace-grid .app-card { font-size: .92rem; }
.candidate-profile-summary-card h1 { font-size: clamp(1.85rem,2.45vw,2.7rem) !important; }
.candidate-dashboard-summary { font-size: .9rem !important; line-height: 1.55 !important; }
.candidate-privacy-summary-list li,
.candidate-proof-card-v021 > p,
.candidate-proof-card-v021 .proof-result span,
.candidate-request-card-v021 > p,
.candidate-intro-card blockquote { font-size: .78rem !important; }
.candidate-proof-card-v021 h3 { font-size: .94rem !important; }
.candidate-core-grid { grid-template-columns: minmax(0,1fr) 330px !important; }

/* Responsive */
@media (max-width: 1180px) {
  .home-hero-grid { grid-template-columns: 1fr !important; }
  .home-product-preview { max-width: 880px; }
  .auth-shell.fc-register-shell { grid-template-columns: 1fr; max-width: 880px; }
  .auth-promise { padding: 34px; }
  .admin-review-layout { grid-template-columns: 1fr; }
  .permission-row { grid-template-columns: minmax(220px,1fr) 125px 115px 145px; }
  .project-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .home-product-preview { grid-template-columns: 1fr; }
  .preview-security-pill { grid-column: 1; }
  .home-role-actions,
  .fc-choice-cards,
  .showcase-choice-grid,
  .privacy-signal-grid,
  .permissions-inline,
  .evidence-explainer-grid,
  .project-card-grid,
  .admin-data-grid { grid-template-columns: 1fr !important; }
  .auth-shell.fc-register-shell { width: min(calc(100% - 22px), 880px); margin-top: 18px; }
  .auth-form-panel { padding: 24px 18px; }
  .auth-promise { padding: 28px 22px; }
  .fc-page-heading { flex-direction: column; }
  .permission-table { overflow-x: auto; }
  .permission-row { min-width: 760px; }
  .privacy-final-bar { position: static; flex-direction: column; align-items: stretch; }
  .admin-decision-form { grid-template-columns: 1fr; }
  .admin-decision-buttons { justify-content: flex-start; }
  .demo-card-actions { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .home-hero-copy h1 { font-size: clamp(2.45rem,13vw,3.1rem) !important; }
  .home-role-actions { grid-template-columns: 1fr !important; }
  .home-role-actions > div { border-right: 0 !important; padding-right: 0 !important; }
  .auth-promise h1 { font-size: 2rem; }
}

/* v0.4.1 final visual corrections */
.home-hero-copy h1 {
  font-size: clamp(2.25rem, 2.9vw, 3.15rem) !important;
  line-height: 1.055 !important;
}
.page-hero h1 { font-size: clamp(1.9rem, 2.75vw, 2.85rem); }
.auth-promise h1 { font-size: clamp(1.8rem, 2.35vw, 2.45rem); line-height: 1.12; }
.form-heading h2 { font-size: 1.65rem; }

.home-demo-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 11px; }
.home-demo-actions a { display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 7px 8px; border: 1px solid #cfdaea; border-radius: 9px; color: #335078; font-size: .71rem; font-weight: 850; text-align: center; }
.home-demo-actions a:first-child { color: #fff; background: #0b63f6; border-color: #0b63f6; }

/* Demo gallery: identities are shown only to explain the two views. */
.demo-gallery-hero { background: linear-gradient(180deg,#fbf9ff,#fff); }
.demo-zone-banner-large { max-width: 1040px; }
.demo-zone-banner > div { display: grid; gap: 3px; }
.demo-view-explainer { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 1040px; margin-top: 22px; }
.demo-view-explainer article { display: flex; gap: 12px; padding: 15px; background: #fff; border: 1px solid #dce4ef; border-radius: 13px; box-shadow: 0 8px 22px rgba(22,47,92,.05); }
.demo-view-explainer svg { flex: 0 0 auto; color: #0b63f6; }
.demo-view-explainer strong,
.demo-view-explainer span { display: block; }
.demo-view-explainer span { margin-top: 3px; color: #65758d; font-size: .82rem; }
.demo-gallery-filters { margin-bottom: 14px; }
.demo-profile-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.demo-candidate-card { padding-top: 28px; }
.demo-candidate-identity { align-items: center; }
.demo-candidate-identity h2 { margin: 2px 0 0; font-size: 1.05rem; }
.demo-candidate-identity p { margin: 1px 0 5px; color: #5f718b; font-size: .8rem; }
.demo-gallery-avatar { width: 58px; height: 58px; overflow: hidden; border-radius: 50%; background: #eaf2ff; }
.demo-gallery-avatar img { width: 100%; height: 100%; object-fit: cover; }
.demo-card-actions a { gap: 7px; align-items: center; }
.demo-card-actions a span { display: grid; gap: 1px; }
.demo-card-actions a strong,
.demo-card-actions a small { display: block; }
.demo-card-actions a small { font-size: .63rem; font-weight: 650; opacity: .85; }

/* Plain-language privacy matrix. */
.privacy-plain-guide { padding: 20px; background: #f2f7ff; border: 1px solid #cfe0f6; border-radius: 16px; }
.privacy-plain-guide h2 { margin: 0 0 13px; font-size: 1.18rem; }
.privacy-plain-guide-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.privacy-plain-guide-grid article { display: flex; gap: 9px; padding: 12px; background: #fff; border: 1px solid #dce7f5; border-radius: 11px; }
.privacy-plain-guide-grid svg { flex: 0 0 auto; color: #0b63f6; }
.privacy-plain-guide-grid strong,
.privacy-plain-guide-grid span { display: block; }
.privacy-plain-guide-grid span { margin-top: 3px; color: #65758d; font-size: .77rem; line-height: 1.42; }
.privacy-guide-example { margin: 12px 0 0; color: #304c76; font-size: .84rem; }
.matrix-control { display: flex; align-items: center; gap: 8px; color: #465a78; font-size: .74rem; line-height: 1.3; }
.matrix-control input { flex: 0 0 auto; width: 19px; height: 19px; }
.matrix-na { color: #8290a4; font-size: .73rem; font-style: italic; }

/* Project cards and NDA explanation. */
.nda-explainer { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin: 4px 0 12px; }
.nda-explainer article { padding: 12px; background: #f6f9fd; border: 1px solid #dee7f2; border-radius: 11px; }
.nda-explainer strong,
.nda-explainer span { display: block; }
.nda-explainer strong { color: #17345f; }
.nda-explainer span { margin-top: 4px; color: #687991; font-size: .76rem; line-height: 1.4; }
.nda-note { margin-bottom: 18px; }
.proof-card-v4 dl { display: grid; gap: 10px; margin: 15px 0; }
.proof-card-v4 dl > div { padding: 11px 12px; background: #f7f9fc; border: 1px solid #e3e9f1; border-radius: 10px; }
.proof-card-v4 dt { margin-bottom: 4px; color: #75839a; font-size: .69rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.proof-card-v4 dd { margin: 0; color: #293f62; font-size: .83rem; line-height: 1.48; }

/* Accessibility page */
.accessibility-status-card { display: flex; gap: 12px; max-width: 830px; margin-top: 20px; padding: 15px 17px; background: #eef9f4; border: 1px solid #bfe5d2; border-radius: 13px; }
.accessibility-status-card svg { flex: 0 0 auto; color: #168958; }
.accessibility-status-card strong,
.accessibility-status-card span { display: block; }
.accessibility-status-card span { margin-top: 3px; color: #49695d; font-size: .83rem; }
.accessibility-checklist li { margin-bottom: 8px; }

/* Admin preview clarity */
.moderation-preview-shell { display: grid; gap: 16px; }
.moderation-file-stage { display: grid; place-items: center; min-height: 280px; padding: 14px; overflow: hidden; background: #eff4fa; border: 1px solid #d8e3ef; border-radius: 12px; }
.moderation-file-stage img { display: block; max-width: 100%; max-height: 620px; object-fit: contain; }
.moderation-file-stage iframe { width: 100%; min-height: 650px; background: #fff; border: 0; }
.moderation-file-stage audio { width: min(100%,680px); }
.moderation-text-preview { padding: 18px; background: #fff; border: 1px solid #dde6f0; border-radius: 12px; }
.moderation-text-preview blockquote { margin: 12px 0; padding: 14px; color: #263d61; background: #f6f9fc; border-left: 4px solid #0b63f6; }
.moderation-decision-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: end; padding-top: 15px; border-top: 1px solid #e1e8f1; }

@media (max-width: 1100px) {
  .demo-profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .privacy-plain-guide-grid,
  .nda-explainer { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .demo-view-explainer,
  .demo-profile-grid,
  .privacy-plain-guide-grid,
  .nda-explainer,
  .home-demo-actions { grid-template-columns: 1fr; }
  .moderation-decision-panel { grid-template-columns: 1fr; }
}
.home-three-steps p { font-size: .78rem !important; line-height: 1.45 !important; }
.home-privacy-list strong { font-size: .84rem !important; }
.home-privacy-list span { font-size: .74rem !important; line-height: 1.42 !important; }
.preview-privacy-card > p,
.preview-request-card p,
.preview-proof-card > p { font-size: .74rem !important; }
.preview-privacy-card strong,
.preview-proof-card > small { font-size: .7rem !important; }
.preview-proof-card h3 { font-size: 1rem !important; }

/* Keep focused flows readable without oversized display typography. */
.auth-title { font-size: clamp(1.9rem, 2.6vw, 2.65rem) !important; }
.voice-screen h1 { font-size: clamp(1.8rem, 2.7vw, 2.65rem) !important; }
.voice-screen h2 { font-size: clamp(1.35rem, 2vw, 1.9rem) !important; }
.voice-question { font-size: clamp(1.3rem, 2.25vw, 1.9rem) !important; line-height: 1.28 !important; }
.profile-head h1,
.public-profile-hero-copy h1 { font-size: clamp(1.7rem, 2.4vw, 2.35rem) !important; }


/* DEMO separation: seeded examples never look like real people or companies. */
.badge-demo{display:inline-flex;align-items:center;gap:.35rem;background:#fff3cd;color:#6b4600;border:1px solid #f2c94c;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.demo-environment-banner{display:flex;align-items:flex-start;gap:.85rem;margin:0 0 1rem;padding:.9rem 1rem;border:2px solid #f2c94c;border-radius:14px;background:#fff9df;color:#463100}
.demo-environment-banner strong{white-space:nowrap;font-size:.78rem;letter-spacing:.06em}
.demo-environment-banner span{font-size:.9rem;line-height:1.45}
.demo-filter-choice{padding:.45rem .65rem;border:1px dashed #d3a300;border-radius:10px;background:#fff9df;color:#604500;font-weight:700}
@media(max-width:680px){.demo-environment-banner{display:block}.demo-environment-banner strong{display:block;margin-bottom:.35rem;white-space:normal}}

.admin-demo-count{display:block;margin-top:.3rem;color:#7a5a00;font-size:.72rem;font-weight:750}
/* FattoChiaro v0.5.0 — leggibilità, gerarchia visiva e Assessment Engine. */

:root {
  --fc-page-max: 1240px;
  --fc-content-max: 1180px;
  --fc-reading-max: 76rem;
  --fc-gap-1: .45rem;
  --fc-gap-2: .75rem;
  --fc-gap-3: 1rem;
  --fc-gap-4: 1.35rem;
  --fc-gap-5: 1.8rem;
  --fc-gap-6: 2.4rem;
  --fc-radius-card: 20px;
  --fc-border: #dce5f1;
  --fc-muted-bg: #f6f9fd;
  --fc-text: #17243b;
  --fc-muted: #617089;
  --fc-blue: #1266e5;
  --fc-blue-dark: #0c3779;
  --fc-focus: #ffbf47;
}

html { scroll-behavior: smooth; }
body {
  color: var(--fc-text);
  font-size: 16px;
  line-height: 1.58;
  word-spacing: normal;
  letter-spacing: normal;
  text-rendering: optimizeLegibility;
}

body, button, input, select, textarea { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

p, li, dd, dt, label, small, span, strong, a, button, input, select, textarea {
  overflow-wrap: anywhere;
}

p { margin: 0; }
p + p { margin-top: .8rem; }

h1, h2, h3, h4 {
  color: var(--fc-text);
  line-height: 1.14;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: normal;
  margin: 0;
}

h1 { font-size: clamp(1.9rem, 2.8vw, 2.8rem); }
h2 { font-size: clamp(1.3rem, 1.8vw, 1.75rem); }
h3 { font-size: clamp(1.02rem, 1.15vw, 1.22rem); }
h4 { font-size: 1.02rem; }

h1 + p, h2 + p, h3 + p, h4 + p { margin-top: .7rem; }

.container { width: min(var(--fc-page-max), calc(100% - 40px)); margin-inline: auto; }
.readable-content { width: 100%; max-width: var(--fc-reading-max); margin-inline: auto; }

/* Spazi affidabili anche quando il markup PHP è molto compatto. */
.cluster, .meta-row, .chip-list, .skill-pills, .card-header, .form-actions,
.admin-decision-buttons, .home-filter-chips, .assessment-template-head,
.assessment-template-meta, .assessment-context-line, .assessment-question-flags,
.application-row-actions, .assessment-review-question-head, .preview-card-title,
.access-company, .home-demo-actions, .company-choice-buttons,
.job-detail-summary, .job-requirement-public-list > div,
.vault-asset-list article, .team-mini-row, .feature-list li {
  gap: .65rem;
}

.input-group, .stack, .stack-large, .form-heading, fieldset,
.assessment-answer-control, .assessment-start-form label {
  display: grid;
  gap: .55rem;
}

.stack { gap: 1rem; }
.stack-large { gap: 1.35rem; }
.input-group > label, fieldset > legend { margin: 0; }
.input-group > small, .input-group > .help, .text-muted { color: var(--fc-muted); }

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.05rem 1.2rem;
  align-items: start;
}
.form-grid .full { grid-column: 1 / -1; }

.input, input.input, select.input, textarea.input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cbd7e6;
  border-radius: 12px;
  background: #fff;
  color: var(--fc-text);
  padding: .72rem .86rem;
  line-height: 1.45;
  box-shadow: 0 1px 0 rgba(9, 43, 91, .02);
}
textarea.input { min-height: 108px; resize: vertical; }
.input:focus { outline: 3px solid rgba(18, 102, 229, .18); border-color: var(--fc-blue); }

.button, button {
  white-space: normal;
  text-align: center;
  line-height: 1.22;
}
.button { min-height: 42px; gap: .5rem; }
.button-small { min-height: 36px; }

.checkbox-row, .fc-choice-card, .assessment-choice-list label {
  align-items: flex-start;
}
.checkbox-row > span, .fc-choice-card > span, .assessment-choice-list label > span {
  display: grid;
  gap: .25rem;
  min-width: 0;
}
.checkbox-row strong + span, .checkbox-row strong + small,
.fc-choice-card strong + small, .assessment-choice-list strong + span {
  margin-top: .2rem;
}

.notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .35rem .75rem;
  align-items: start;
  line-height: 1.5;
}
.notice > strong { grid-column: 1 / -1; }
.notice > ul, .notice > p { grid-column: 1 / -1; margin: 0; }
.notice > span { display: block; }

.app-card, .admin-panel, .home-panel, .card {
  border-radius: var(--fc-radius-card);
}
.app-card, .admin-panel { padding: clamp(1rem, 1.8vw, 1.5rem); }
.block-space { margin-top: 1.25rem; }
.card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.card-header > div { min-width: 0; }
.card-header h2 + p { max-width: 72ch; }

.app-content {
  padding: clamp(1rem, 2vw, 1.8rem);
  max-width: 1500px;
  width: 100%;
}
.app-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.app-page-header > div { max-width: 820px; }
.app-page-header h1 { font-size: clamp(1.75rem, 2.35vw, 2.5rem); }
.app-page-header p { max-width: 74ch; }

/* Homepage: hero compatta e anteprime ordinate. */
.new-homepage { overflow: hidden; }
.home-hero { padding: clamp(2rem, 3.8vw, 3.7rem) 0 clamp(1.75rem, 3vw, 3rem); }
.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(480px, 1.07fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
.home-hero-copy { display: grid; gap: 1.05rem; min-width: 0; }
.home-hero-copy h1 { font-size: clamp(2.25rem, 3.45vw, 3.45rem); max-width: 15ch; }
.home-title-line { display: block; }
.home-hero-lead { max-width: 62ch; font-size: clamp(1.02rem, 1.35vw, 1.2rem); }
.home-manifesto-note { max-width: 68ch; }
.home-role-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.home-role-actions > div { display: grid; align-content: start; gap: .5rem; min-width: 0; }
.home-role-actions .button { width: 100%; }
.home-ai-line { display: flex; align-items: center; gap: .5rem; }

.home-product-preview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
  padding: .35rem;
}
.preview-privacy-card, .preview-proof-card, .preview-request-card {
  position: static;
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--fc-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(11, 46, 94, .10);
}
.preview-privacy-card { grid-column: 1; grid-row: 1 / span 2; display: grid; gap: .85rem; }
.preview-proof-card { grid-column: 2; grid-row: 1; display: grid; gap: .7rem; }
.preview-request-card { grid-column: 2; grid-row: 2; display: grid; gap: .75rem; }
.preview-security-pill {
  position: static;
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  width: 100%;
  margin: 0;
  padding: .75rem .9rem;
  border-radius: 14px;
}
.preview-security-pill > span { margin-left: auto; }
.preview-privacy-card > div, .preview-card-title, .preview-proof-card footer,
.preview-request-card > div:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.preview-privacy-card small, .preview-proof-card small, .access-company small { display: block; }
.preview-request-card button { padding: .5rem .75rem; border-radius: 10px; }

.home-dashboard-grid, .home-company-grid, .first-job-card { gap: 1.25rem; }
.home-three-steps { gap: 1rem; }
.home-three-steps > div { min-width: 0; }
.home-privacy-list li { align-items: flex-start; gap: .8rem; }
.home-privacy-list li > div { display: grid; gap: .2rem; }
.home-search-preview article { align-items: center; gap: 1rem; }
.home-demo-grid { gap: 1rem; }
.home-demo-grid article { display: grid; align-content: start; gap: .5rem; }
.home-demo-actions { display: flex; flex-wrap: wrap; margin-top: .35rem; }

/* Registrazioni e moduli: contenitore leggibile, non a tutta pagina. */
.fc-register-shell, .auth-shell {
  width: min(1320px, calc(100% - 32px));
  margin: clamp(1rem, 3vw, 2.5rem) auto;
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: start;
}
.auth-promise, .auth-form-panel { min-width: 0; }
.auth-promise { border-radius: 24px; overflow: hidden; position: sticky; top: 88px; }
.auth-promise-inner { display: grid; gap: 1rem; padding: clamp(1.4rem, 3vw, 2.2rem); }
.auth-promise h1 { font-size: clamp(1.75rem, 2.8vw, 2.75rem); }
.auth-benefits { display: grid; gap: .7rem; }
.auth-benefits > span { display: flex; align-items: flex-start; gap: .6rem; }
.auth-manifesto { line-height: 1.5; }
.fc-form-card {
  width: 100%;
  max-width: 850px;
  margin: 0 auto;
  padding: clamp(1.15rem, 2.5vw, 2rem);
  display: grid;
  gap: 1.25rem;
  border-radius: 24px;
}
.fc-form-card fieldset {
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--fc-border);
  border-radius: 16px;
  background: #fff;
}
.fc-form-card fieldset > legend { padding: 0 .35rem; font-weight: 800; }
.fc-choice-cards { gap: .85rem; }
.fc-choice-card { min-width: 0; padding: .9rem; gap: .7rem; }

/* Progetti e dati: definizioni visivamente separate. */
.compact-definition, .admin-data-grid, .project-detail-grid {
  display: grid;
  gap: .8rem;
}
.compact-definition > div, .admin-data-grid > div, .project-detail-grid > div {
  min-width: 0;
  padding: .8rem .9rem;
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  background: var(--fc-muted-bg);
}
.compact-definition dt, .admin-data-grid dt, .project-detail-grid dt {
  margin-bottom: .25rem;
  color: var(--fc-muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.compact-definition dd, .admin-data-grid dd, .project-detail-grid dd { margin: 0; }

.project-card, .project-vault-item, .evidence-row { gap: .75rem; }
.project-card h3, .project-vault-item h3 { margin-top: .25rem; }
.project-vault-meta, .project-meta-grid { display: flex; flex-wrap: wrap; gap: .45rem .75rem; }
.rich-copy { line-height: 1.65; }
.rich-copy > * + * { margin-top: .75rem; }

/* Tabelle leggibili. */
.table-wrap { width: 100%; overflow-x: auto; border-radius: 14px; }
.data-table { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 780px; }
.data-table th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--fc-muted); }
.data-table th, .data-table td { padding: .85rem .8rem; vertical-align: top; text-align: left; }
.data-table td > * + * { margin-top: .32rem; }
.data-table tr + tr td { border-top: 1px solid #e6edf6; }

/* Assessment Engine. */
.v050-page, .assessment-page { max-width: 1380px; }
.assessment-principle { margin-top: 1rem; }
.assessment-template-grid, .assessment-assignment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.assessment-template-card, .assessment-assignment-card {
  display: grid;
  align-content: start;
  gap: .75rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--fc-border);
  border-radius: 16px;
  background: #fff;
}
.assessment-template-card footer, .assessment-assignment-card footer { margin-top: auto; padding-top: .25rem; }
.assessment-template-head, .assessment-template-meta, .assessment-context-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.assessment-context-line { justify-content: flex-start; }
.assessment-start-form { display: grid; gap: .75rem; }
.assessment-start-form label { gap: .35rem; }

.assessment-builder-form { display: grid; gap: 1.1rem; }
.assessment-question-editor-list { display: grid; gap: 1rem; }
.assessment-question-editor {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--fc-border);
  border-radius: 16px;
  background: #fbfdff;
}
.assessment-question-editor > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.assessment-question-flags { display: flex; flex-wrap: wrap; gap: .7rem 1rem; }
.sticky-form-actions {
  position: sticky;
  bottom: .75rem;
  z-index: 5;
  display: flex;
  justify-content: flex-end;
  gap: .75rem;
  padding: .85rem;
  border: 1px solid var(--fc-border);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 35px rgba(10, 45, 90, .12);
}

.assessment-run-page { background: #f4f7fb; }
.assessment-run-shell { width: min(980px, calc(100% - 28px)); margin: 0 auto; padding-bottom: 7rem; }
.assessment-run-topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .75rem 0;
  background: rgba(244,247,251,.95);
  backdrop-filter: blur(10px);
}
.assessment-run-topbar > div:nth-child(2) { display: grid; gap: .1rem; min-width: 0; }
.assessment-run-topbar .brand img { width: 150px; height: auto; }
.assessment-run-intro {
  display: grid;
  gap: .8rem;
  margin: 1rem 0;
  padding: clamp(1rem, 2.5vw, 1.6rem);
  border-radius: 20px;
  background: linear-gradient(135deg, #0a397d, #1266e5);
  color: #fff;
}
.assessment-run-intro h1, .assessment-run-intro strong { color: #fff; }
.assessment-run-intro h1 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.assessment-instructions, .assessment-session-mode {
  display: grid;
  gap: .35rem;
  padding: .9rem;
  border-radius: 14px;
  background: rgba(255,255,255,.13);
}
.assessment-session-mode { grid-template-columns: auto minmax(0, 1fr); }
.assessment-session-mode > div { display: grid; gap: .2rem; }
.assessment-response-form { display: grid; gap: 1rem; }
.assessment-run-question {
  display: grid;
  gap: .9rem;
  padding: clamp(1rem, 2.5vw, 1.45rem);
  border: 1px solid var(--fc-border);
  border-radius: 18px;
  background: #fff;
}
.assessment-run-question > header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .65rem; }
.assessment-run-question > header > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.assessment-run-question h2 { font-size: clamp(1.3rem, 2vw, 1.8rem); }
.assessment-prompt { padding: .9rem 1rem; border-left: 4px solid var(--fc-blue); border-radius: 10px; background: #f1f6fe; line-height: 1.65; }
.assessment-prompt.compact { padding: .75rem .9rem; }
.assessment-help { color: var(--fc-muted); }
.assessment-answer-control label { display: grid; gap: .25rem; }
.assessment-choice-list, .assessment-ordering { display: grid; gap: .65rem; border: 0; padding: 0; margin: 0; }
.assessment-choice-list legend, .assessment-ordering legend { margin-bottom: .2rem; font-weight: 800; }
.assessment-choice-list label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .7rem;
  padding: .75rem;
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  background: #fff;
}
.assessment-choice-list label > span { display: flex; align-items: baseline; flex-wrap: wrap; gap: .45rem; }
.assessment-choice-list label > span > strong { min-width: 1.5rem; }
.assessment-ordering label { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: .75rem; }
.assessment-rubric-preview { padding: .7rem .8rem; border: 1px dashed #b9c9dc; border-radius: 12px; }
.assessment-rubric-preview summary { cursor: pointer; font-weight: 800; }
.assessment-rubric-preview p { margin-top: .55rem; }
.assessment-submit-bar {
  position: sticky;
  bottom: .6rem;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .85rem 1rem;
  border: 1px solid var(--fc-border);
  border-radius: 16px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 16px 36px rgba(10, 45, 90, .14);
}
.assessment-submit-bar > div { display: flex; align-items: flex-start; gap: .55rem; }
.input-attention { outline: 3px solid rgba(220, 53, 69, .25) !important; border-color: #dc3545 !important; }

.assessment-response-review-list { display: grid; gap: 1rem; }
.assessment-response-review-list > article, .assessment-admin-question {
  display: grid;
  gap: .85rem;
  padding: 1rem;
  border: 1px solid var(--fc-border);
  border-radius: 16px;
  background: #fff;
}
.assessment-review-question-head { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.assessment-review-question-head > div { min-width: 0; }
.assessment-candidate-answer, .assessment-rubric-box, .assessment-help, .assessment-options-preview {
  display: grid;
  gap: .4rem;
  padding: .85rem;
  border-radius: 12px;
  background: var(--fc-muted-bg);
}
.assessment-rubric-box { border-left: 4px solid #805ad5; }
.assessment-options-preview ol { display: grid; gap: .45rem; margin: 0; padding-left: 1.5rem; }
.assessment-options-preview li { padding-left: .25rem; }
.assessment-options-preview li > span { display: inline-grid; place-items: center; min-width: 1.6rem; margin-right: .45rem; border-radius: 999px; background: #e8f1ff; color: var(--fc-blue-dark); font-weight: 800; }
.assessment-review-controls { display: grid; grid-template-columns: minmax(150px, .3fr) minmax(0, .7fr); gap: 1rem; }
.assessment-technical-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.assessment-technical-summary > div { display: grid; gap: .25rem; padding: .75rem; border-radius: 12px; background: var(--fc-muted-bg); }
.assessment-technical-summary > p { grid-column: 1 / -1; }
.assessment-dimension-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.assessment-dimension-grid article { display: grid; gap: .45rem; padding: .8rem; border: 1px solid var(--fc-border); border-radius: 12px; }
.assessment-progress { width: 100%; }
.assessment-overall-note { display: grid; gap: .45rem; margin-top: 1rem; padding: .9rem; border-radius: 12px; background: #f5f9ff; }
.assessment-admin-review-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr); }
.assessment-review-checklist { display: grid; gap: .65rem; }
.assessment-review-checklist li { align-items: flex-start; }
.assessment-mini-summary { display: grid; gap: .2rem; }
.application-card-with-assessment { grid-template-columns: auto minmax(210px, 1.2fr) minmax(160px, .7fr) minmax(150px, .6fr) auto; }
.application-assessment-state { display: grid; align-content: center; justify-items: start; gap: .35rem; }
.job-assessment-selector { display: grid; gap: .75rem; }
.job-assessment-selector article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .28fr); gap: .8rem; align-items: center; padding: .85rem; border: 1px solid var(--fc-border); border-radius: 14px; }
.job-assessment-selector article > label { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .65rem; align-items: start; }
.job-assessment-selector article > label > span { display: grid; gap: .25rem; }
.job-assessment-public-list { display: grid; gap: .75rem; }
.job-assessment-public-list article { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .85rem; border: 1px solid var(--fc-border); border-radius: 14px; }
.job-assessment-public-list article > div { display: grid; gap: .35rem; }

/* Admin. */
.admin-filter-bar { display: grid; grid-template-columns: 1.2fr repeat(3, minmax(150px, .55fr)) auto; gap: .8rem; align-items: end; }
.admin-review-layout { gap: 1rem; }
.admin-decision-form { display: grid; gap: 1rem; }
.admin-decision-buttons { display: flex; flex-wrap: wrap; }
.admin-dark-hero h1 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
.demo-environment-banner, .admin-demo-warning { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .55rem .8rem; }

/* Footer e header. */
.site-header .container, .site-footer .container { gap: 1rem; }
.site-nav { gap: .25rem .7rem; }
.site-actions { gap: .5rem; }

@media (max-width: 1160px) {
  .home-hero-grid { grid-template-columns: 1fr; }
  .home-hero-copy h1 { max-width: 16ch; }
  .home-product-preview { max-width: 850px; }
  .assessment-template-grid, .assessment-assignment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .application-card-with-assessment { grid-template-columns: auto minmax(0, 1fr) minmax(150px, .65fr); }
  .application-card-with-assessment .application-access-state,
  .application-card-with-assessment .application-row-actions { grid-column: 2 / -1; }
  .admin-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-filter-bar .button { align-self: end; }
}

@media (max-width: 900px) {
  .fc-register-shell, .auth-shell { grid-template-columns: 1fr; width: min(900px, calc(100% - 24px)); }
  .auth-promise { position: static; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .home-role-actions, .home-product-preview, .assessment-technical-summary,
  .assessment-dimension-grid, .assessment-review-controls { grid-template-columns: 1fr; }
  .preview-privacy-card, .preview-proof-card, .preview-request-card, .preview-security-pill { grid-column: auto; grid-row: auto; }
  .preview-security-pill > span { margin-left: 0; }
  .assessment-template-grid, .assessment-assignment-grid { grid-template-columns: 1fr; }
  .assessment-admin-review-layout { grid-template-columns: 1fr; }
  .job-assessment-selector article { grid-template-columns: 1fr; }
  .application-card-with-assessment { grid-template-columns: auto minmax(0, 1fr); }
  .application-card-with-assessment .application-assessment-state,
  .application-card-with-assessment .application-access-state,
  .application-card-with-assessment .application-row-actions { grid-column: 2; }
}

@media (max-width: 680px) {
  body { font-size: 15.5px; }
  .container { width: min(100% - 24px, var(--fc-page-max)); }
  h1 { font-size: clamp(1.7rem, 8.5vw, 2.3rem); }
  h2 { font-size: clamp(1.25rem, 6vw, 1.6rem); }
  h3 { font-size: 1.1rem; }
  .home-hero-copy h1 { font-size: clamp(2rem, 9.5vw, 2.75rem); }
  .home-hero { padding-top: 2rem; }
  .home-role-actions { grid-template-columns: 1fr; }
  .app-content { padding: .85rem; }
  .app-card, .admin-panel { padding: 1rem; border-radius: 16px; }
  .app-page-header { display: grid; }
  .app-page-header .button { width: 100%; }
  .assessment-run-shell { width: min(100% - 18px, 980px); }
  .assessment-run-topbar { grid-template-columns: 1fr auto; }
  .assessment-run-topbar .brand { display: none; }
  .assessment-submit-bar { align-items: stretch; flex-direction: column; }
  .assessment-submit-bar .button { width: 100%; }
  .assessment-ordering label { grid-template-columns: 1fr; }
  .sticky-form-actions { position: static; flex-direction: column-reverse; }
  .sticky-form-actions .button { width: 100%; }
  .application-card-with-assessment { grid-template-columns: 1fr; }
  .application-card-with-assessment > * { grid-column: 1 !important; }
  .application-company-mark { display: none; }
  .admin-filter-bar { grid-template-columns: 1fr; }
  .admin-decision-buttons .button { width: 100%; }
  .job-assessment-public-list article { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}


/* Moderazione Assessment: anteprima completa prima dell’approvazione. */
.assessment-moderation-preview { display: grid; gap: 1rem; }
.assessment-moderation-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .36fr); gap: 1rem; align-items: start; }
.assessment-moderation-header > div:first-child { display: grid; gap: .45rem; }
.assessment-copy-block { display: grid; gap: .5rem; padding: .9rem; border: 1px solid var(--fc-border); border-radius: 14px; background: var(--fc-muted-bg); }
.assessment-review-question-list { display: grid; gap: .85rem; }
.assessment-review-question { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: .8rem; padding: 1rem; border: 1px solid var(--fc-border); border-radius: 15px; background: #fff; }
.assessment-question-number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: #fff; background: var(--fc-blue); font-weight: 850; }
.assessment-question-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-bottom: .55rem; }
.assessment-option-preview { display: grid; gap: .4rem; margin: .65rem 0; padding: .75rem; border: 1px solid var(--fc-border); border-radius: 12px; background: var(--fc-muted-bg); }
.admin-data-grid.compact, .admin-data-list.compact { gap: .55rem; }
.admin-data-grid.compact > div, .admin-data-list.compact > div { padding: .65rem .75rem; }

@media (max-width: 900px) {
  .assessment-moderation-header { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .assessment-review-question { grid-template-columns: 1fr; }
}

/* v0.5.0 final readability pass: prevent visually joined labels and values. */
.data-table td > strong,
.data-table td > small,
.data-table td > .text-muted,
.app-card > strong,
.app-card > small,
.admin-panel > strong,
.admin-panel > small,
.assessment-template-card > strong,
.assessment-template-card > small,
.assessment-assignment-card > strong,
.assessment-assignment-card > small,
.application-row-main > strong,
.application-row-main > small,
.vault-asset-list article > strong,
.vault-asset-list article > small,
.team-mini-row > strong,
.team-mini-row > small {
  display: block;
}

.data-table td > strong + small,
.data-table td > strong + .text-muted,
.data-table td > small + small,
.app-card > strong + small,
.admin-panel > strong + small,
.assessment-template-card > strong + small,
.assessment-assignment-card > strong + small,
.application-row-main > strong + small,
.vault-asset-list article > strong + small,
.team-mini-row > strong + small {
  margin-top: .28rem;
}

.badge + h2,
.badge + h3,
.eyebrow + h1,
.eyebrow + h2,
.eyebrow + h3 {
  margin-top: .55rem;
}

.skill-pills,
.chip-list,
.project-vault-meta,
.project-meta-grid,
.demo-proof-line,
.assessment-question-meta,
.assessment-question-flags,
.permissions-inline,
.permission-row,
.home-demo-actions,
.admin-decision-buttons {
  row-gap: .5rem;
  column-gap: .65rem;
}

.assessment-candidate-answer p,
.assessment-prompt,
.assessment-rubric-box p,
.project-detail-grid dd,
.compact-definition dd,
.admin-data-grid dd,
.job-requirement-public-list p,
.notice span,
.notice p {
  white-space: normal;
  line-height: 1.58;
}

/* Keep interface text readable without forcing a word break inside normal labels. */
.button,
.badge,
.skill-pill,
nav a,
label,
legend,
.data-table th {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

/* Explicit visual separation for privacy toggles and permission descriptions. */
.privacy-signal,
.permission-row,
.permissions-inline,
.visibility-item,
.setting-row {
  gap: .75rem;
}
.privacy-signal > div,
.permission-row > div,
.visibility-item > div,
.setting-row > div {
  display: grid;
  gap: .24rem;
  min-width: 0;
}

/* Assessment choices: the marker and its text must never appear fused. */
.assessment-choice-list label,
.fc-choice-card,
.checkbox-row {
  column-gap: .72rem;
}
.assessment-choice-list .choice-label-text,
.assessment-choice-list label > span,
.fc-choice-card > span,
.checkbox-row > span {
  line-height: 1.48;
}

/* The public hero must remain contained even on very wide screens. */
.home-hero-grid { max-width: var(--fc-page-max); margin-inline: auto; }
.home-product-preview { align-self: center; }

@media (min-width: 1500px) {
  .home-hero-copy h1 { font-size: 3.45rem; }
  .home-hero { padding-top: 3.2rem; }
}

/* Assessment condivisi nelle Presentazioni autorizzate. */
.presentation-assessment-list,
.presentation-assessment-responses {
  display: grid;
  gap: 1rem;
}
.presentation-assessment-card {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--fc-border, #dfe6ef);
  border-radius: 16px;
  background: #fff;
}
.presentation-assessment-card > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .38fr);
  gap: 1rem;
  align-items: start;
}
.presentation-assessment-card > header > div:first-child,
.presentation-assessment-responses > section,
.assessment-review-summary {
  display: grid;
  gap: .55rem;
}
.presentation-assessment-responses > section {
  padding: .95rem;
  border: 1px solid var(--fc-border, #dfe6ef);
  border-radius: 14px;
  background: var(--fc-muted-bg, #f7f9fc);
}
.assessment-session-facts {
  display: grid;
  gap: .35rem;
  padding: .8rem;
  border-radius: 12px;
  background: #eff6ff;
  color: #274568;
  font-size: .9rem;
}
.assessment-review-summary {
  padding-top: .85rem;
  border-top: 1px solid var(--fc-border, #dfe6ef);
}
.assessment-review-summary > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .55rem 1rem;
}

/* Cinque indicatori restano leggibili nelle schede Search. */
.search-evidence-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .presentation-assessment-card > header { grid-template-columns: 1fr; }
  .search-evidence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .search-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v0.5.0 hard override: corregge i vecchi !important della preview v0.4. */
.home-hero-grid {
  grid-template-columns: minmax(0, .94fr) minmax(500px, 1.06fr) !important;
  gap: clamp(2rem, 4vw, 3.6rem) !important;
}
.home-hero-copy h1 {
  max-width: 15ch !important;
  font-size: clamp(2.15rem, 2.8vw, 3.05rem) !important;
  line-height: 1.06 !important;
}
.home-product-preview {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  gap: 1rem !important;
  padding: 1rem !important;
}
.preview-privacy-card { grid-column: 1 !important; grid-row: 1 / span 2 !important; }
.preview-proof-card { grid-column: 2 !important; grid-row: 1 !important; }
.preview-request-card { grid-column: 2 !important; grid-row: 2 !important; }
.preview-security-pill { grid-column: 1 / -1 !important; grid-row: 3 !important; justify-self: stretch !important; }
.preview-security-pill > span { margin-left: auto; }

@media (max-width: 1180px) {
  .home-hero-grid { grid-template-columns: 1fr !important; }
  .home-product-preview { width: min(100%, 860px); margin-inline: auto; }
}
@media (max-width: 820px) {
  .home-product-preview { grid-template-columns: 1fr !important; }
  .preview-privacy-card,
  .preview-proof-card,
  .preview-request-card,
  .preview-security-pill { grid-column: 1 !important; grid-row: auto !important; }
  .preview-security-pill > span { margin-left: 0; }
}
@media (max-width: 680px) {
  .home-hero-copy h1 { font-size: clamp(1.9rem, 9vw, 2.45rem) !important; }
}
@media (min-width: 1500px) {
  .home-hero-copy h1 { font-size: 3.05rem !important; }
}
