/*
Theme Name: QuotaCarbone Divi Child
Theme URI: https://quotacarbone.local
Description: Theme enfant Divi pour QuotaCarbone.
Author: QuotaCarbone
Template: Divi
Version: 1.1.0
Text Domain: quotacarbone-divi-child
*/

:root {
	--qc-ink: #183a32;
	--qc-forest: #0b5144;
	--qc-teal: #108e87;
	--qc-mint: #c8edcf;
	--qc-lime: #d9f66c;
	--qc-sand: #f7f4ed;
	--qc-paper: #fffefa;
	--qc-coral: #ee8c68;
	--qc-line: rgba(24, 58, 50, 0.13);
}

body.qc-home-body {
	margin: 0;
	background: var(--qc-paper);
	color: var(--qc-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.qc-home *, .qc-home *::before, .qc-home *::after { box-sizing: border-box; }
.qc-home a { color: inherit; text-decoration: none; }
.qc-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.qc-home-nav { 
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 22px 0;
}

.qc-brand { display: inline-flex; align-items: center; gap: 11px; font-size: 21px; font-weight: 800; letter-spacing: -0.055em; }
.qc-brand small { display: block; margin-top: -3px; color: #6c7c75; font-size: 10px; font-weight: 750; letter-spacing: 0.11em; text-transform: uppercase; }
.qc-logo-mark { position: relative; display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; background: var(--qc-forest); color: var(--qc-lime); font-family: Georgia, serif; font-size: 28px; font-weight: 700; line-height: 1; transform: rotate(-5deg); }
.qc-logo-mark::after { content: ""; position: absolute; right: -4px; top: 4px; width: 12px; height: 8px; border-radius: 10px 2px 10px 2px; background: var(--qc-lime); transform: rotate(-35deg); }
.qc-nav-links { display: flex; align-items: center; gap: 19px; color: #51645c; font-size: 14px; font-weight: 650; }
.qc-nav-links a:hover { color: var(--qc-forest); }
.qc-nav-links a.qc-is-current { color: var(--qc-forest); }
.qc-simulator-menu, .qc-info-menu { position: relative; }.qc-simulator-menu summary, .qc-info-menu summary { color: #51645c; cursor: pointer; list-style: none; }.qc-simulator-menu summary::-webkit-details-marker, .qc-info-menu summary::-webkit-details-marker { display: none; }.qc-simulator-menu summary::after, .qc-info-menu summary::after { display: inline-block; margin-left: 6px; content: "⌄"; font-size: 13px; transition: transform .18s ease; }.qc-simulator-menu[open] summary::after, .qc-info-menu[open] summary::after { transform: rotate(180deg); }.qc-simulator-menu summary:hover, .qc-simulator-menu summary.qc-is-current, .qc-info-menu summary:hover, .qc-info-menu summary.qc-is-current { color: var(--qc-forest); }.qc-simulator-submenu, .qc-info-submenu { position: absolute; z-index: 20; top: calc(100% + 12px); left: -15px; display: grid; min-width: 195px; gap: 2px; padding: 8px; border: 1px solid #d8e7dc; border-radius: 14px; background: #fff; box-shadow: 0 14px 32px rgba(24,58,50,.13); }.qc-info-submenu { min-width: 220px; }.qc-simulator-submenu a, .qc-info-submenu a { padding: 9px 10px; border-radius: 9px; color: #51645c; font-size: 13px; white-space: nowrap; }.qc-simulator-submenu a:hover, .qc-simulator-submenu a.qc-is-current, .qc-info-submenu a:hover, .qc-info-submenu a.qc-is-current { background: #edf8e9; color: var(--qc-forest); }
.qc-nav-actions { display: flex; align-items: center; gap: 10px; }
.qc-nav-login { color: var(--qc-forest); font-size: 14px; font-weight: 760; }
.qc-nav-dashboard { border-radius: 999px; background: var(--qc-teal); color: #fff; padding: 12px 18px; font-size: 14px; font-weight: 800; white-space: nowrap; }
.qc-nav-dashboard:hover { background: #087c78; color: #fff; }
.qc-nav-cta { border: 0; border-radius: 999px; background: var(--qc-lime); color: var(--qc-ink); padding: 12px 18px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.qc-nav-logout { color: #74837c; font-size: 12px; font-weight: 700; }
.qc-nav-logout:hover { color: var(--qc-forest); text-decoration: underline; }

.qc-hero {
	position: relative;
	overflow: hidden;
	padding: 24px 0 66px;
	background: radial-gradient(circle at 80% 20%, rgba(217,246,108,.62), transparent 27%), linear-gradient(112deg, #e8f6df 0%, #f7f4ed 58%, #fbfaf5 100%);
}
.qc-hero::before { content: ""; position: absolute; left: -110px; bottom: -175px; width: 390px; height: 390px; border: 53px solid rgba(11,81,68,.08); border-radius: 50%; }
.qc-hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 54px; }
.qc-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 32px 0 18px; padding: 7px 12px; border: 1px solid rgba(11,81,68,.14); border-radius: 999px; background: rgba(255,255,255,.61); color: var(--qc-forest); font-size: 12px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.qc-eyebrow span { width: 8px; height: 8px; border-radius: 50%; background: var(--qc-coral); }
.qc-hero h1 { max-width: 680px; margin: 0; font-size: clamp(45px, 5vw, 72px); line-height: .98; letter-spacing: -.072em; font-weight: 820; }
.qc-hero h1 em { color: var(--qc-forest); font-family: Georgia, serif; font-weight: 500; }
.qc-hero-copy { max-width: 550px; margin: 24px 0 30px; color: #4c6058; font-size: 18px; line-height: 1.55; }
.qc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.qc-primary, .qc-secondary { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 15px 22px; font-size: 15px; font-weight: 780; transition: transform .2s ease, box-shadow .2s ease; }
.qc-primary { background: var(--qc-lime); color: var(--qc-ink); box-shadow: 0 12px 24px rgba(11,81,68,.16); }
.qc-primary:hover { transform: translateY(-2px); background: #c8edcf; box-shadow: 0 17px 30px rgba(11,81,68,.2); }
.qc-secondary { border: 1px solid rgba(24,58,50,.17); background: rgba(255,255,255,.55); color: var(--qc-forest); }
.qc-trust { display: flex; align-items: center; gap: 10px; margin-top: 24px; color: #60746b; font-size: 13px; }
.qc-trust b { color: var(--qc-forest); }

.qc-dashboard { position: relative; min-height: 455px; padding: 18px; border: 1px solid rgba(11,81,68,.12); border-radius: 27px; background: rgba(255,255,255,.84); box-shadow: 0 30px 70px rgba(30,74,56,.17); transform: rotate(2.1deg); }
.qc-dashboard::before { content: ""; position: absolute; z-index: -1; right: -24px; bottom: -25px; width: 178px; height: 178px; border-radius: 50%; background: var(--qc-lime); }
.qc-dash-top { display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 18px; color: #667970; font-size: 12px; font-weight: 700; }
.qc-dots { display: flex; gap: 5px; }.qc-dots i { display: block; width: 7px; height: 7px; border-radius: 50%; background: #d7e2da; }.qc-dots i:first-child { background: var(--qc-coral); }
.qc-dash-body { display: grid; grid-template-columns: 1.15fr .85fr; gap: 13px; }
.qc-card { border: 1px solid var(--qc-line); border-radius: 18px; background: #fff; padding: 18px; }
.qc-kicker { color: #789087; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.qc-score { margin: 10px 0 4px; color: var(--qc-forest); font-size: 48px; font-weight: 820; line-height: 1; letter-spacing: -.07em; }.qc-score span { font-size: 17px; letter-spacing: -.02em; }
.qc-score-note { color: #6a7e75; font-size: 12px; }
.qc-ring { display: grid; place-items: center; width: 115px; height: 115px; margin: 7px auto 5px; border: 14px solid var(--qc-mint); border-top-color: var(--qc-forest); border-right-color: var(--qc-lime); border-radius: 50%; color: var(--qc-forest); font-size: 20px; font-weight: 820; transform: rotate(36deg); }.qc-ring span { transform: rotate(-36deg); }
.qc-bars { display: flex; align-items: end; gap: 8px; height: 103px; margin-top: 18px; padding: 0 3px; border-bottom: 1px solid #e2e9e4; }.qc-bars i { width: 17%; border-radius: 6px 6px 0 0; background: var(--qc-mint); }.qc-bars i:nth-child(2) { height: 61%; }.qc-bars i:nth-child(3) { height: 77%; }.qc-bars i:nth-child(4) { height: 52%; background: #a7ddad; }.qc-bars i:nth-child(5) { height: 38%; background: var(--qc-forest); }
.qc-progress { grid-column: 1 / -1; display: flex; align-items: center; gap: 13px; padding: 15px 17px; border-radius: 16px; background: #edf8e9; }.qc-progress-icon { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 12px; background: var(--qc-lime); color: var(--qc-forest); font-size: 18px; }.qc-progress b { display: block; color: var(--qc-forest); font-size: 13px; }.qc-progress small { display: block; margin-top: 3px; color: #638075; font-size: 11px; }.qc-progress strong { margin-left: auto; color: var(--qc-forest); font-size: 13px; }

.qc-intro { padding: 88px 0 82px; }.qc-section-label { color: var(--qc-forest); font-size: 12px; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }.qc-intro-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-top: 13px; }.qc-intro h2 { max-width: 620px; margin: 0; font-size: clamp(32px, 3.5vw, 51px); line-height: 1.02; letter-spacing: -.06em; }.qc-intro-heading p { max-width: 340px; margin: 0 0 5px; color: #62756c; line-height: 1.5; }
.qc-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }.qc-step { min-height: 232px; padding: 26px; border: 1px solid var(--qc-line); border-radius: 21px; background: #fff; }.qc-step:nth-child(2) { background: var(--qc-forest); color: #fff; }.qc-step-number { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--qc-mint); color: var(--qc-forest); font-size: 13px; font-weight: 830; }.qc-step:nth-child(2) .qc-step-number { background: var(--qc-lime); }.qc-step h3 { margin: 31px 0 10px; font-size: 22px; letter-spacing: -.04em; }.qc-step p { margin: 0; color: #63776d; font-size: 14px; line-height: 1.55; }.qc-step:nth-child(2) p { color: #cce4d3; }
.qc-challenge { margin-bottom: 70px; overflow: hidden; border: 1px solid #cfe4d4; border-radius: 26px; background: linear-gradient(135deg, #edf8e9, #fffdf8); color: var(--qc-ink); }.qc-challenge-inner { position: relative; display: grid; grid-template-columns: 1.35fr .65fr; gap: 30px; align-items: center; padding: 47px; }.qc-challenge-inner::after { content: "↓"; position: absolute; right: 45px; bottom: -57px; color: #d8f1bf; font-family: Georgia, serif; font-size: 220px; line-height: 1; opacity: .95; }.qc-challenge .qc-section-label { color: var(--qc-forest); }.qc-challenge h2 { position: relative; z-index: 1; max-width: 610px; margin: 12px 0 18px; color: var(--qc-ink); font-size: clamp(31px, 3.5vw, 49px); line-height: 1.02; letter-spacing: -.06em; }.qc-challenge p { position: relative; z-index: 1; max-width: 530px; margin: 0; color: #53685e; line-height: 1.55; }.qc-challenge .qc-secondary { position: relative; z-index: 1; margin-top: 21px; background: #fff; }.qc-challenge-stat { position: relative; z-index: 1; padding: 24px; border: 1px solid #c3dfca; border-radius: 19px; background: rgba(255,255,255,.82); box-shadow: 0 10px 24px rgba(31,82,59,.08); }.qc-challenge-stat b { display: block; color: var(--qc-forest); font-size: 42px; line-height: 1; letter-spacing: -.06em; }.qc-challenge-stat span { display: block; margin-top: 8px; color: #537064; font-size: 13px; line-height: 1.4; }
.qc-footer { padding: 30px 0 37px; border-top: 1px solid var(--qc-line); color: #718178; font-size: 12px; }.qc-footer-row { display: flex; justify-content: space-between; gap: 15px; }.qc-footer .qc-brand { color: var(--qc-ink); font-size: 17px; }

@media (max-width: 850px) { .qc-nav-links { display: none; }.qc-hero-grid, .qc-challenge-inner { grid-template-columns: 1fr; }.qc-dashboard { max-width: 510px; width: calc(100% - 15px); margin: 13px auto 0; }.qc-intro-heading { display: block; }.qc-intro-heading p { margin-top: 17px; }.qc-steps { grid-template-columns: 1fr; }.qc-step { min-height: 0; }.qc-challenge-stat { max-width: 275px; }.qc-challenge-inner::after { right: 12px; } }
@media (max-width: 520px) { .qc-shell { width: min(100% - 28px, 1180px); }.qc-home-nav { padding: 16px 0; }.qc-nav-cta { padding: 10px 14px; font-size: 12px; }.qc-hero { padding-bottom: 45px; }.qc-hero h1 { font-size: 47px; }.qc-hero-copy { font-size: 16px; }.qc-dashboard { min-height: auto; padding: 12px; }.qc-card { padding: 14px; }.qc-score { font-size: 38px; }.qc-ring { width: 94px; height: 94px; border-width: 11px; }.qc-challenge-inner { padding: 31px 25px; }.qc-footer-row { display: block; }.qc-footer-row span { display: block; margin-top: 13px; } }

.qc-member-page { min-height: 72vh; padding: 72px 0; background: linear-gradient(135deg, #f6f5ef, #e8f5e5); }
.qc-member-card { max-width: 880px; margin: 0 auto; padding: clamp(28px, 5vw, 54px); border: 1px solid var(--qc-line); border-radius: 28px; background: rgba(255,255,255,.87); box-shadow: 0 24px 60px rgba(24,58,50,.12); }
.qc-member-card h1 { margin: 12px 0; color: var(--qc-ink); font-size: clamp(36px, 5vw, 57px); line-height: 1; letter-spacing: -.065em; }
.qc-member-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.qc-member-heading h1 { margin-right: auto; }
.qc-member-heading .qc-secondary { flex: none; padding: 12px 16px; font-size: 13px; }
.qc-member-card p { max-width: 580px; color: #61746c; font-size: 17px; line-height: 1.55; }
.qc-member-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 35px 0; }
.qc-member-tile { padding: 19px; border: 1px solid var(--qc-line); border-radius: 18px; background: #fff; }
.qc-member-tile b { display: block; margin-bottom: 7px; color: var(--qc-forest); font-size: 15px; }.qc-member-tile span { color: #718279; font-size: 13px; line-height: 1.4; }
.qc-member-tile strong { display: block; margin-bottom: 7px; color: var(--qc-forest); font-size: 29px; line-height: 1; letter-spacing: -.055em; }
.qc-tile-link { display: inline-block; margin-top: 13px; color: var(--qc-forest); font-size: 13px; font-weight: 800; }
.qc-success, .qc-error { display: inline-block; max-width: none !important; margin: 4px 0 12px !important; padding: 9px 12px; border-radius: 12px; font-size: 13px !important; font-weight: 700; }.qc-success { background: #e3f5e3; color: var(--qc-forest) !important; }.qc-error { background: #ffe8dd; color: #9e462e !important; }
.qc-period-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 27px 0 -8px; }.qc-period-nav a { padding: 9px 12px; border: 1px solid #d8e4dc; border-radius: 999px; background: #fff; color: #61746c; font-size: 12px; font-weight: 760; }.qc-period-nav a.qc-period-active { border-color: var(--qc-forest); background: var(--qc-forest); color: #fff; }
.qc-recent-activities { margin-top: 38px; padding-top: 26px; border-top: 1px solid var(--qc-line); }.qc-recent-activities h2 { margin: 0 0 13px; color: var(--qc-ink); font-size: 20px; letter-spacing: -.04em; }.qc-recent-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid #edf1ed; color: #63766d; font-size: 14px; }.qc-recent-row > span { flex: 1; }.qc-recent-row b { flex: none; color: var(--qc-forest); font-size: 13px; }.qc-delete-activity { padding: 6px 9px; border: 1px solid #f2c5b5; border-radius: 8px; background: #fff8f4; color: #9b5038; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }.qc-delete-activity:hover, .qc-delete-activity:focus-visible { border-color: #d98060; background: #fff0e8; }
.qc-activity-note { display: block; margin-top: 4px; color: #78887f; font-size: 11px; line-height: 1.4; }
.qc-recent-row time { flex: none; width: 78px; color: #718279; font-size: 12px; font-weight: 700; }.qc-activity-pagination { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; }.qc-activity-pagination a { color: var(--qc-forest); font-size: 13px; font-weight: 760; }
@media (max-width: 650px) { .qc-member-grid { grid-template-columns: 1fr; }.qc-member-page { padding: 38px 0; } }

.qc-activity-page { padding-top: 0; }.qc-activity-card { max-width: 720px; margin: 38px auto 0; padding: clamp(28px, 5vw, 50px); border: 1px solid var(--qc-line); border-radius: 28px; background: rgba(255,255,255,.9); box-shadow: 0 24px 60px rgba(24,58,50,.12); }.qc-activity-card h1 { margin: 10px 0 12px; color: var(--qc-ink); font-size: clamp(40px, 5vw, 58px); line-height: .98; letter-spacing: -.07em; }.qc-activity-card > p { max-width: 580px; color: #61746c; font-size: 17px; line-height: 1.55; }.qc-activity-form { display: grid; gap: 14px; margin-top: 30px; }.qc-activity-form label { color: var(--qc-ink); font-size: 13px; font-weight: 760; }.qc-activity-form input, .qc-activity-form select, .qc-activity-form textarea { width: 100%; min-height: 50px; margin-top: 7px; padding: 12px 14px; border: 1px solid #d8e4dc; border-radius: 13px; background: #fff; color: var(--qc-ink); font: inherit; font-size: 15px; }.qc-activity-form textarea { min-height: 92px; resize: vertical; }.qc-activity-form input:focus, .qc-activity-form select:focus, .qc-activity-form textarea:focus { outline: 0; border-color: var(--qc-forest); box-shadow: 0 0 0 3px rgba(11,81,68,.1); }.qc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.qc-factor-note { margin: 3px 0 4px; color: #74837c; font-size: 12px; line-height: 1.45; }.qc-input-note { display: block; margin-top: 5px; color: #74837c; font-size: 11px; }.qc-activity-form .qc-primary { justify-self: start; border: 0; cursor: pointer; }
.qc-simulator-card { margin-bottom: 70px; }.qc-simulator-result { margin-top: 28px; padding: 24px; border: 1px solid #b8dbc4; border-radius: 18px; background: #eef8eb; }.qc-simulator-result h2 { margin: 8px 0; color: var(--qc-forest); font-size: clamp(31px, 4vw, 44px); letter-spacing: -.06em; }.qc-simulator-result p:not(.qc-section-label) { margin: 0 0 19px; color: #52685d; line-height: 1.5; }
.qc-simulator-other { margin-top: 42px; padding-top: 34px; border-top: 1px solid var(--qc-line); }.qc-simulator-other h2 { margin: 8px 0 10px; color: var(--qc-ink); font-size: 25px; letter-spacing: -.04em; }.qc-simulator-other > p:not(.qc-section-label) { color: #61746c; line-height: 1.5; }
.qc-simulator-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 25px 0 30px; }.qc-simulator-choices .qc-secondary { display: grid; gap: 5px; min-height: 92px; padding: 18px; border: 1px solid #bddbc2; border-radius: 16px; background: #f3faef; color: var(--qc-forest); text-align: left; cursor: pointer; }.qc-simulator-choices .qc-secondary:hover { border-color: var(--qc-forest); background: #eaf7e5; }.qc-simulator-choices strong { font-size: 17px; }.qc-simulator-choices span { color: #6c7c75; font-size: 13px; font-weight: 500; }.qc-simulator-activity-title { margin: 0; color: var(--qc-ink); font-size: 26px; letter-spacing: -.04em; }.qc-simulator-other { width: min(680px, calc(100% - 28px)); max-height: min(760px, calc(100vh - 36px)); margin: auto; padding: 34px; border: 1px solid #c5dfca; border-radius: 22px; box-shadow: 0 24px 65px rgba(22,55,46,.24); }.qc-simulator-other::backdrop { background: rgba(16,45,38,.48); }.qc-simulator-other .qc-activity-form { margin-top: 20px; }.qc-dialog-close { position: absolute; top: 13px; right: 15px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #edf5ef; color: var(--qc-forest); font-size: 24px; line-height: 1; cursor: pointer; } @media (max-width: 520px) { .qc-simulator-choices { grid-template-columns: 1fr; } }
.qc-simulator-car-catalog[hidden] { display: none !important; }

/* Les huit rubriques du simulateur restent régulières, même si leurs sous-titres n'ont pas la même longueur. */
.qc-simulator-choices { grid-auto-rows: 1fr; }
.qc-simulator-choices .qc-secondary { grid-template-rows: 23px minmax(32px, 1fr); align-content: start; justify-content: start; justify-items: start; align-items: start; min-height: 96px; height: 100%; text-align: left; }
.qc-simulator-choices .qc-secondary strong { line-height: 23px; }
.qc-simulator-choices .qc-secondary span { align-self: start; line-height: 1.35; }
@media (max-width: 650px) { .qc-activity-card { margin-top: 20px; }.qc-form-grid { grid-template-columns: 1fr; }.qc-recent-row { display: block; }.qc-recent-row b { display: block; margin-top: 5px; } }

/* Page Mon compte dans l'univers QuotaCarbone. */
.qc-account-page { padding: 0 0 72px; }
.qc-account-intro { max-width: 620px; margin: 54px auto 0; text-align: center; }
.qc-account-intro h1 { margin: 10px 0 12px; color: var(--qc-ink); font-size: clamp(42px, 5vw, 62px); line-height: .98; letter-spacing: -.07em; }
.qc-account-intro p:last-child { margin: 0; color: #61746c; font-size: 17px; line-height: 1.55; }
.qc-account-form .um { margin: 26px auto 0 !important; }
.qc-account-form .um-account-side { display: block !important; float: none !important; width: 100% !important; margin: 0 0 25px !important; padding: 0 !important; }
.qc-account-form .um-account-side .um-account-meta { display: none !important; }
.qc-account-form .um-account-side ul { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.qc-account-form .um-account-side li { width: auto !important; margin: 0 !important; }
.qc-account-form .um-account-side .um-account-link { display: inline-flex !important; align-items: center; gap: 7px; min-height: 41px; padding: 10px 14px !important; border: 1px solid #d8e4dc; border-radius: 999px; background: #fff; color: var(--qc-forest) !important; font-size: 13px; font-weight: 760; transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; }
.qc-account-form .um-account-side .um-account-link:hover { border-color: #8dbba7; background: #edf7ef; color: var(--qc-forest) !important; }
.qc-account-form .um-account-side .um-account-link:focus-visible { outline: 0; border-color: var(--qc-forest); box-shadow: 0 0 0 3px rgba(11,81,68,.18); }
.qc-account-form .um-account-side .um-account-link.current, .qc-account-form .um-account-side .um-account-link.current:hover { border-color: var(--qc-forest); background: var(--qc-forest); color: #fff !important; }
.qc-account-form .um-account-side .um-account-icontip, .qc-account-form .um-account-side .um-account-icon { display: none !important; }
.qc-account-form .um-account-side .um-account-title { display: block !important; float: none !important; height: auto !important; padding: 0 !important; color: inherit !important; line-height: 1.2 !important; }
.qc-account-form .um-account-side .um-account-arrow { display: none !important; }
.qc-account-form .um-account-main { float: none !important; width: 100% !important; }
.qc-account-form .um-account-main .um-account-nav { display: none !important; }
.qc-pseudonym-card { max-width: 720px; margin: 30px auto 0; padding: clamp(25px, 4vw, 38px); border: 1px solid var(--qc-line); border-radius: 24px; background: rgba(255,255,255,.9); box-shadow: 0 18px 46px rgba(24,58,50,.09); }
.qc-pseudonym-card h2 { margin: 9px 0 10px; color: var(--qc-ink); font-size: clamp(27px, 4vw, 37px); letter-spacing: -.055em; }
.qc-pseudonym-card > p:not(.qc-success):not(.qc-error) { max-width: 590px; color: #61746c; line-height: 1.55; }
.qc-pseudonym-form { max-width: 440px; margin-top: 19px; }
.qc-private-coordinates { max-width: 720px; margin: 0 auto; }
.qc-private-coordinates h3 { margin: 9px 0 10px; color: var(--qc-ink); font-size: clamp(27px, 4vw, 37px); letter-spacing: -.055em; }
.qc-private-coordinates > p:not(.qc-section-label):not(.qc-factor-note) { max-width: 620px; color: #61746c; line-height: 1.55; }
.qc-private-coordinates-note { margin-top: 19px !important; padding: 13px 15px; border: 1px solid #cfe4d4; border-radius: 14px; background: #f0f8ed; color: #426254 !important; font-size: 13px; }
.qc-private-coordinates-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 27px 0 16px; }
.qc-private-coordinate-field { display: grid; gap: 7px; }
.qc-private-coordinate-field-wide { grid-column: 1 / -1; }
.qc-private-coordinate-field label { color: var(--qc-ink); font-size: 13px; font-weight: 760; }
.qc-private-coordinate-field input, .qc-private-coordinate-field select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #d8e4dc; border-radius: 13px; background: #fff; color: var(--qc-ink); font: inherit; font-size: 15px; }
.qc-private-coordinate-field input:focus, .qc-private-coordinate-field select:focus { outline: 0; border-color: var(--qc-forest); box-shadow: 0 0 0 3px rgba(11,81,68,.1); }
.qc-private-coordinate-field small { color: #74837c; font-size: 11px; line-height: 1.4; }
@media (max-width: 650px) { .qc-private-coordinates-grid { grid-template-columns: 1fr; }.qc-private-coordinate-field-wide { grid-column: auto; } }
@media (max-width: 650px) { .qc-account-page { padding-bottom: 38px; }.qc-account-intro { margin-top: 38px; } }

/* Formulaires membre aux couleurs QuotaCarbone. */
.um-page .entry-title { max-width: 620px; margin: 58px auto 8px; color: var(--qc-ink); font-size: clamp(34px, 4vw, 52px); letter-spacing: -.06em; text-align: center; }
.um-page .um { max-width: 620px; margin: 26px auto 74px !important; padding: clamp(24px, 5vw, 44px); border: 1px solid var(--qc-line); border-radius: 26px; background: rgba(255,255,255,.9); box-shadow: 0 24px 54px rgba(24,58,50,.1); }
.um-page .um-field-label label, .um-page .um-field-label label span { color: var(--qc-ink) !important; font-size: 13px !important; font-weight: 760 !important; }
.um-page .um-field-area input[type=text], .um-page .um-field-area input[type=password], .um-page .um-field-area input[type=number], .um-page .um-field-area input[type=tel], .um-page .um-field-area input[type=email] { min-height: 50px !important; border: 1px solid #d8e4dc !important; border-radius: 13px !important; background: #fff !important; color: var(--qc-ink) !important; font-size: 15px !important; }
.um-page .um-field-area input:focus { border-color: var(--qc-forest) !important; box-shadow: 0 0 0 3px rgba(11,81,68,.1) !important; }
.um-page .um-button, .um-page input[type=submit].um-button { border-radius: 999px !important; background: var(--qc-forest) !important; color: #fff !important; font-weight: 760 !important; line-height: 1.2 !important; padding: 15px 22px !important; }
.um-page .um-button.um-alt, .um-page input[type=submit].um-button.um-alt { background: #edf5ed !important; color: var(--qc-forest) !important; }
.um-page .um a, .um-page .um a.um-link-alt { color: var(--qc-forest) !important; font-weight: 700; }

.qc-public-page { min-height: 100vh; background: var(--qc-paper); }.qc-page-hero { padding: 22px 0 76px; background: radial-gradient(circle at 82% 13%, rgba(217,246,108,.68), transparent 23%), linear-gradient(127deg, #e8f6df, #f8f5ee 58%, #fffefa); }.qc-page-hero .qc-page-title { max-width: 780px; margin: 58px 0 15px; color: var(--qc-ink); font-size: clamp(46px, 6vw, 75px); line-height: .96; letter-spacing: -.075em; }.qc-page-hero .qc-page-title em { color: var(--qc-forest); font-family: Georgia, serif; font-weight: 500; }.qc-page-lead { max-width: 650px; margin: 0; color: #576a61; font-size: 19px; line-height: 1.55; }.qc-page-body { padding: 76px 0; }.qc-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.qc-info-card { min-height: 240px; padding: 27px; border: 1px solid var(--qc-line); border-radius: 22px; background: #fff; }.qc-info-card .qc-card-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--qc-mint); color: var(--qc-forest); font-size: 20px; }.qc-info-card h2 { margin: 28px 0 9px; color: var(--qc-ink); font-size: 23px; letter-spacing: -.045em; }.qc-info-card p { margin: 0; color: #64766e; font-size: 14px; line-height: 1.55; }.qc-wide-note { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 35px; margin-top: 48px; padding: 42px; border-radius: 26px; background: var(--qc-forest); color: #fff; }.qc-wide-note h2 { margin: 0 0 12px; font-size: 34px; line-height: 1.04; letter-spacing: -.06em; }.qc-wide-note p { margin: 0; color: #cee0d3; line-height: 1.55; }.qc-wide-note .qc-note-number { color: var(--qc-lime); font-size: clamp(56px, 7vw, 95px); font-weight: 820; letter-spacing: -.08em; text-align: right; }.qc-challenge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.qc-challenge-card { overflow: hidden; min-height: 300px; padding: 26px; border-radius: 22px; background: #eef8e8; }.qc-challenge-card:nth-child(2) { background: #ffe8d9; }.qc-challenge-card:nth-child(3) { background: #dcefe1; }.qc-challenge-card .qc-card-tag { display: inline-block; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.65); color: var(--qc-forest); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.qc-challenge-card h2 { margin: 62px 0 10px; color: var(--qc-ink); font-size: 28px; line-height: 1; letter-spacing: -.06em; }.qc-challenge-card p { color: #53685e; font-size: 14px; line-height: 1.5; }.qc-source-list { display: grid; gap: 12px; max-width: 880px; }.qc-source-row { display: grid; grid-template-columns: 180px 1fr; gap: 25px; padding: 20px 22px; border: 1px solid var(--qc-line); border-radius: 17px; background: #fff; }.qc-source-row b { color: var(--qc-forest); }.qc-source-row span { color: #667870; line-height: 1.5; }.qc-page-footer { padding: 28px 0 36px; border-top: 1px solid var(--qc-line); color: #718178; font-size: 12px; }
@media (max-width: 850px) { .qc-info-grid, .qc-challenge-grid { grid-template-columns: 1fr; }.qc-wide-note { grid-template-columns: 1fr; }.qc-wide-note .qc-note-number { text-align: left; }.qc-source-row { grid-template-columns: 1fr; gap: 8px; } }

/* Parcours public et formulaires d'accès. */
.qc-page-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }
.qc-monthly-section { padding-top: 67px; }
.qc-monthly-challenge { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .8fr); gap: 32px; align-items: stretch; margin-bottom: 64px; padding: clamp(28px, 4vw, 50px); overflow: hidden; border-radius: 28px; background: var(--qc-ink); color: #fff; }
.qc-monthly-intro .qc-section-label { color: var(--qc-lime); }
.qc-monthly-intro h2 { max-width: 570px; margin: 13px 0 15px; color: #fff; font-size: clamp(33px, 4vw, 54px); line-height: .98; letter-spacing: -.065em; }
.qc-monthly-intro > p:not(.qc-section-label) { max-width: 560px; margin: 0; color: #d2e5d7; line-height: 1.55; }
.qc-monthly-target { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding: 13px 17px; border-radius: 17px; background: rgba(255,255,255,.1); }
.qc-monthly-target strong { color: var(--qc-lime); font-size: 38px; line-height: 1; letter-spacing: -.07em; }
.qc-monthly-target span { color: #e4eee7; font-size: 12px; line-height: 1.25; }
.qc-monthly-board { padding: 19px; border: 1px solid rgba(255,255,255,.19); border-radius: 20px; background: rgba(255,255,255,.08); }
.qc-monthly-board-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 0 4px 14px; color: #fff; font-size: 13px; font-weight: 800; }
.qc-monthly-board-head small { color: #d4e2d8; font-size: 11px; font-weight: 650; }
.qc-monthly-ranking { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.qc-monthly-ranking li { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 9px; padding: 11px; border-radius: 12px; background: rgba(255,255,255,.95); color: var(--qc-ink); font-size: 12px; }
.qc-monthly-ranking li > b { display: grid; min-height: 24px; place-items: center; border-radius: 999px; background: var(--qc-mint); color: var(--qc-forest); font-size: 10px; }
.qc-monthly-ranking li > strong { color: var(--qc-forest); font-size: 12px; }
.qc-monthly-empty { margin: 0; padding: 17px 10px; color: #d4e2d8; font-size: 13px; line-height: 1.45; }
.qc-monthly-disclaimer { margin: 14px 4px 1px; color: #d4e2d8; font-size: 11px; line-height: 1.45; }
.qc-monthly-how { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }.qc-monthly-how li { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid #d6e6d9; border-radius: 15px; background: #fff; }.qc-monthly-how li > b { display: grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--qc-mint); color: var(--qc-forest); font-size: 11px; }.qc-monthly-how strong, .qc-monthly-how small { display: block; }.qc-monthly-how strong { color: var(--qc-ink); font-size: 13px; }.qc-monthly-how small { margin-top: 3px; color: #65786f; font-size: 11px; line-height: 1.4; }
.qc-monthly-private-card { max-width: 760px; margin-bottom: 24px; }
.qc-monthly-private-card h1 { margin-bottom: 12px; }
.qc-monthly-private-card .qc-secondary { margin-top: 24px; font-size: 13px; }
.qc-legal-hero { padding-bottom: 62px; }
.qc-legal-content { max-width: 900px; color: #566a60; font-size: 16px; line-height: 1.7; }
.qc-legal-content > *:first-child { margin-top: 0; }
.qc-legal-content h2, .qc-legal-content h3 { margin: 42px 0 12px; color: var(--qc-ink); line-height: 1.1; letter-spacing: -.045em; }
.qc-legal-content h2 { font-size: clamp(26px, 3vw, 37px); }
.qc-legal-content h3 { font-size: 21px; }
.qc-legal-content p, .qc-legal-content ul, .qc-legal-content ol { max-width: 760px; margin: 0 0 18px; }
.qc-legal-content li + li { margin-top: 7px; }
.qc-legal-content a { color: var(--qc-forest); font-weight: 760; text-decoration: underline; text-underline-offset: 3px; }
.qc-public-footer { padding: 43px 0; border-top: 1px solid var(--qc-line); background: #f4f8ed; }
.qc-public-footer-grid { display: grid; grid-template-columns: 1.15fr .85fr auto; align-items: center; gap: 36px; }
.qc-public-footer .qc-brand { color: var(--qc-ink); font-size: 18px; }
.qc-public-footer p { margin: 13px 0 0; color: #6b7d74; font-size: 13px; }
.qc-public-footer nav { display: flex; flex-wrap: wrap; gap: 11px 22px; }
.qc-public-footer nav a { color: #52665c; font-size: 13px; font-weight: 730; }
.qc-public-footer nav a:hover { color: var(--qc-forest); }
.qc-footer-copyright { margin-top: 7px !important; font-size: 11px !important; }
.qc-footer-info-menu { position: relative; }
.qc-footer-info-menu summary { color: #52665c; cursor: pointer; font-size: 13px; font-weight: 730; list-style: none; }
.qc-footer-info-menu summary::-webkit-details-marker { display: none; }
.qc-footer-info-menu summary::after { display: inline-block; margin-left: 5px; content: "⌄"; font-size: 12px; transition: transform .18s ease; }
.qc-footer-info-menu[open] summary::after { transform: rotate(180deg); }
.qc-footer-info-menu summary:hover { color: var(--qc-forest); }
.qc-footer-info-submenu { position: absolute; z-index: 20; bottom: calc(100% + 11px); left: -10px; display: grid; min-width: 220px; gap: 2px; padding: 8px; border: 1px solid #d8e7dc; border-radius: 14px; background: #fff; box-shadow: 0 14px 32px rgba(24,58,50,.13); }
.qc-footer-info-submenu a { padding: 9px 10px; border-radius: 9px; white-space: nowrap; }
.qc-footer-info-submenu a:hover { background: #edf8e9; }
.qc-footer-action { justify-self: end; }
.qc-footer-action .qc-primary { padding: 12px 17px; font-size: 13px; }
.qc-footer-action .qc-footer-dashboard { background: var(--qc-teal); color: #fff; }
.qc-footer-action .qc-footer-dashboard:hover { background: #087c78; color: #fff; }
.qc-dashboard-action { background: var(--qc-teal); color: #fff; }
.qc-dashboard-action:hover { background: #087c78; color: #fff; }
.qc-month-history-trigger { padding: 0; border: 0; background: transparent; color: #53685e; font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.qc-month-history-trigger:hover, .qc-month-history-trigger:focus-visible { color: var(--qc-forest); text-decoration-color: currentColor; outline: none; }
.qc-month-history-dialog { overflow: auto; }
.qc-month-history-dialog h2 { margin: 7px 0 4px; color: var(--qc-ink); font-size: 29px; letter-spacing: -.05em; }
.qc-month-history-total { margin: 0 0 20px; color: #61746c; font-size: 13px; line-height: 1.45; }
.qc-month-history-list { display: grid; gap: 8px; }
.qc-month-history-list:empty::before { content: 'Aucune activité enregistrée pour ce mois.'; display: block; padding: 18px; border-radius: 14px; background: #f3f8f1; color: #61746c; font-size: 14px; }
.qc-month-history-list article { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 14px; border: 1px solid #d8e7dc; border-radius: 14px; background: #fbfdfb; }
.qc-month-history-list time { color: #6b7d74; font-size: 12px; font-weight: 750; }
.qc-month-history-list div { color: var(--qc-ink); font-size: 13px; line-height: 1.4; }
.qc-month-history-list strong { color: var(--qc-forest); font-size: 12px; white-space: nowrap; }
@media (max-width: 520px) { .qc-month-history-list article { grid-template-columns: 1fr auto; gap: 5px 10px; }.qc-month-history-list time { grid-column: 1 / -1; } }
.qc-asbl-introduction { max-width: 785px; margin: 0 0 42px; }
.qc-asbl-introduction h2, .qc-asbl-actions h2 { margin: 10px 0 14px; color: var(--qc-ink); font-size: clamp(30px, 3.4vw, 46px); line-height: 1.03; letter-spacing: -.06em; }
.qc-asbl-introduction > p:last-child, .qc-asbl-actions p { margin: 0; color: #60736a; font-size: 16px; line-height: 1.65; }
.qc-asbl-actions { display: grid; grid-template-columns: 1.05fr .95fr; gap: 35px; align-items: center; margin-top: 46px; padding: 38px; border: 1px solid #d5e8d8; border-radius: 25px; background: #eef8e8; }
.qc-asbl-action-list { display: grid; gap: 10px; }
.qc-asbl-action-list span { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.8); color: var(--qc-forest); font-size: 14px; font-weight: 780; }
.qc-asbl-quotacarbone-note { background: #e2f4f1; color: var(--qc-ink); }
.qc-asbl-quotacarbone-note h2 { color: var(--qc-ink); }
.qc-asbl-quotacarbone-note p { color: #53685e; }
.qc-asbl-quotacarbone-note .qc-note-number { color: var(--qc-teal); font-size: clamp(38px, 4.4vw, 62px); line-height: .9; letter-spacing: -.065em; }
.qc-reperes-note { background: #fff1e4; color: var(--qc-ink); }
.qc-reperes-note h2 { color: var(--qc-ink); }
.qc-reperes-note p { color: #695d52; }
.qc-reperes-note .qc-note-number { color: #c36f49; font-size: clamp(42px, 4.8vw, 68px); line-height: .9; }
.qc-section-intro { max-width: 790px; margin-bottom: 30px; }
.qc-section-intro .qc-eyebrow { margin-bottom: 15px; }
.qc-section-intro h2 { margin: 0 0 13px; color: var(--qc-ink); font-size: clamp(31px, 4vw, 48px); line-height: 1; letter-spacing: -.065em; }
.qc-section-intro > p:last-child { margin: 0; color: #63756d; font-size: 16px; line-height: 1.65; }
.qc-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 76px; }
.qc-method-card { padding: 25px 24px 27px; border: 1px solid var(--qc-line); border-radius: 20px; background: #fff; }
.qc-method-card > span { display: inline-flex; padding: 5px 9px; border-radius: 99px; background: var(--qc-mint); color: var(--qc-forest); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.qc-method-card h3 { margin: 30px 0 9px; color: var(--qc-ink); font-size: 22px; line-height: 1.05; letter-spacing: -.05em; }
.qc-method-card p { margin: 0; color: #63756d; font-size: 14px; line-height: 1.58; }
.qc-sources-intro { margin-top: 0; }
.qc-source-list { max-width: none; }
.qc-source-row { align-items: start; }
.qc-source-row span a { color: var(--qc-forest); font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.qc-variation-note { display: grid; grid-template-columns: 1.35fr .65fr; gap: 42px; align-items: center; margin-top: 48px; padding: 38px 42px; border: 1px solid #d8e8de; border-radius: 26px; background: #edf7ef; }
.qc-variation-note .qc-eyebrow { margin-bottom: 13px; }
.qc-variation-note h2 { margin: 0 0 13px; color: var(--qc-ink); font-size: clamp(28px, 3.5vw, 40px); line-height: 1.02; letter-spacing: -.06em; }
.qc-variation-note p { margin: 0; color: #586c62; line-height: 1.6; }
.qc-variation-note ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.qc-variation-note li { position: relative; padding-left: 24px; color: #405d4d; font-size: 14px; font-weight: 650; line-height: 1.4; }
.qc-variation-note li::before { position: absolute; left: 0; content: '✓'; color: var(--qc-teal); font-weight: 900; }
@media (max-width: 850px) { .qc-method-grid, .qc-variation-note { grid-template-columns: 1fr; }.qc-method-grid { margin-bottom: 56px; }.qc-variation-note { gap: 26px; padding: 28px 24px; } }
@media (max-width: 850px) { .qc-asbl-actions { grid-template-columns: 1fr; } }
.qc-auth-page { display: flex; min-height: 100vh; flex-direction: column; }
.qc-auth-hero { flex: 1; padding: 22px 0 72px; background: radial-gradient(circle at 78% 15%, rgba(217,246,108,.72), transparent 25%), linear-gradient(127deg, #e5f4dd, #f8f5ee 61%, #fffefa); }
.qc-auth-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(390px, .75fr); align-items: center; gap: clamp(45px, 8vw, 120px); min-height: 580px; padding: 48px 7.5% 14px; }
.qc-auth-intro h1 { max-width: 610px; margin: 0; color: var(--qc-ink); font-size: clamp(48px, 5.3vw, 74px); line-height: .96; letter-spacing: -.075em; }
.qc-auth-intro h1 em { color: var(--qc-forest); font-family: Georgia, serif; font-weight: 500; }
.qc-auth-intro > p:not(.qc-eyebrow):not(.qc-auth-switch) { max-width: 530px; margin: 25px 0 0; color: #566a60; font-size: 17px; line-height: 1.58; }
.qc-auth-intro .qc-eyebrow { margin: 0 0 20px; }
.qc-auth-card { padding: clamp(26px, 3.4vw, 42px); border: 1px solid rgba(11,81,68,.14); border-radius: 25px; background: rgba(255,255,255,.9); box-shadow: 0 24px 58px rgba(24,58,50,.14); }
.qc-auth-card .um { max-width: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.qc-auth-card .um-form { margin-top: 0; }
.qc-auth-card .um-field { margin-bottom: 18px; }
.qc-auth-card .um-field-label label { color: var(--qc-ink); font-size: 13px; font-weight: 760; }
.qc-auth-card .um input[type="text"], .qc-auth-card .um input[type="password"], .qc-auth-card .um input[type="email"] { min-height: 49px !important; border: 1px solid #d5e3d8 !important; border-radius: 12px !important; background: #fff !important; color: var(--qc-ink) !important; font-family: inherit !important; font-size: 15px !important; }
.qc-auth-card .um input[type="submit"], .qc-auth-card .um a.um-button { border: 0 !important; border-radius: 999px !important; background: var(--qc-lime) !important; color: var(--qc-ink) !important; font-family: inherit !important; font-size: 14px !important; font-weight: 800 !important; text-shadow: none !important; }
.qc-auth-card .um .um-button.um-alt { background: transparent !important; color: var(--qc-forest) !important; }
.qc-auth-card .um .um-field-error { margin-top: 6px; color: #a44832; font-size: 12px; }
.qc-auth-card .um .um-field-checkbox-option, .qc-auth-card .um .um-field-radio-option, .qc-auth-card .um .um-field-checkbox-state i { color: #61756b; font-size: 12px; }
.qc-auth-card .um a { color: var(--qc-forest) !important; font-weight: 750; }
.qc-auth-benefits { display: grid; gap: 11px; margin: 28px 0 0; padding: 0; color: var(--qc-forest); font-size: 14px; font-weight: 700; list-style: none; }
.qc-auth-benefits li { position: relative; padding-left: 27px; }
.qc-auth-benefits li::before { position: absolute; left: 0; top: 1px; display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: var(--qc-lime); content: "✓"; font-size: 11px; }
.qc-auth-switch { margin: 25px 0 0; color: #64776e; font-size: 13px; }
.qc-auth-switch a { color: var(--qc-forest); font-weight: 800; }
.qc-password-layout { grid-template-columns: minmax(0, .92fr) minmax(360px, .65fr); }
body.qc-home-body .qc-home-nav .qc-brand { color: var(--qc-ink) !important; }
body.qc-home-body .qc-home-nav .qc-brand small { color: #6c7c75 !important; }
body.qc-home-body .qc-home-nav .qc-nav-links a { color: #51645c !important; }
body.qc-home-body .qc-home-nav .qc-nav-links a.qc-is-current, body.qc-home-body .qc-home-nav .qc-nav-links a:hover { color: var(--qc-forest) !important; }
body.qc-home-body .qc-home-nav .qc-nav-login { color: var(--qc-forest) !important; }
body.qc-home-body .qc-public-footer a { color: inherit; }
body.qc-home-body .qc-public-footer nav a { color: #52665c !important; }
body.qc-home-body .qc-public-footer nav a:hover { color: var(--qc-forest) !important; }
@media (max-width: 850px) { .qc-public-footer-grid, .qc-auth-layout, .qc-password-layout, .qc-monthly-challenge, .qc-monthly-how { grid-template-columns: 1fr; }.qc-public-footer-grid { gap: 24px; }.qc-footer-action { justify-self: start; }.qc-auth-layout { min-height: 0; padding: 50px 0 0; }.qc-auth-intro { max-width: 650px; }.qc-auth-card { max-width: 580px; width: 100%; }.qc-auth-hero { padding-bottom: 55px; } }
@media (max-width: 520px) { .qc-page-actions { width: 100%; }.qc-page-actions .qc-primary, .qc-page-actions .qc-secondary { width: 100%; }.qc-public-footer { padding: 34px 0; }.qc-public-footer nav { display: grid; gap: 13px; }.qc-auth-layout { padding-top: 36px; }.qc-auth-intro h1 { font-size: 48px; }.qc-auth-card { padding: 22px; border-radius: 20px; }.qc-auth-card .um input[type="submit"], .qc-auth-card .um a.um-button { width: 100% !important; } }
@media (max-width: 650px) { .qc-home-nav { gap: 12px; }.qc-home-nav .qc-brand { gap: 8px; font-size: 18px; }.qc-home-nav .qc-brand small, .qc-home-nav .qc-nav-login { display: none; }.qc-home-nav .qc-nav-cta { padding: 11px 14px; font-size: 12px; white-space: nowrap; } }

/* Sous-menu et archive des défis collectifs. */
.qc-challenges-menu { position: relative; }
.qc-challenges-menu summary { color: #51645c; cursor: pointer; list-style: none; }
.qc-challenges-menu summary::-webkit-details-marker { display: none; }
.qc-challenges-menu summary::after { display: inline-block; margin-left: 6px; content: "⌄"; font-size: 13px; transition: transform .18s ease; }
.qc-challenges-menu[open] summary::after { transform: rotate(180deg); }
.qc-challenges-menu summary:hover, .qc-challenges-menu summary.qc-is-current { color: var(--qc-forest); }
.qc-challenges-submenu { position: absolute; z-index: 20; top: calc(100% + 12px); left: -15px; display: grid; min-width: 245px; gap: 2px; padding: 8px; border: 1px solid #d8e7dc; border-radius: 14px; background: #fff; box-shadow: 0 14px 32px rgba(24,58,50,.13); }
.qc-challenges-submenu a { padding: 9px 10px; border-radius: 9px; color: #51645c; font-size: 13px; white-space: nowrap; }
.qc-challenges-submenu a:hover { background: #edf8e9; color: var(--qc-forest); }
.qc-monthly-how-wrap { margin-top: 30px; }
.qc-monthly-how-wrap h2 { margin: 0 0 7px; color: #fff; font-size: 22px; letter-spacing: -.04em; }
.qc-monthly-how-wrap > p { max-width: 670px; margin: 0; color: #d2e5d7; font-size: 13px; line-height: 1.5; }
.qc-challenge-archive { margin: 58px 0 42px; }
.qc-archive-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 20px; }
.qc-archive-heading .qc-section-label { margin: 0 0 7px; }
.qc-archive-heading h2 { margin: 0; color: var(--qc-ink); font-size: clamp(29px, 3.2vw, 42px); line-height: 1; letter-spacing: -.06em; }
.qc-archive-heading > p { max-width: 355px; margin: 0; color: #61746b; font-size: 13px; line-height: 1.5; }
.qc-archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.qc-archive-card { display: flex; min-height: 210px; flex-direction: column; padding: 21px; border: 1px solid var(--qc-line); border-radius: 18px; background: #fff; }
.qc-archive-card > p { margin: 0 0 18px; color: var(--qc-forest); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.qc-archive-card > p span { color: #a5b5ab; }
.qc-archive-card h3 { margin: 0 0 11px; color: var(--qc-ink); font-size: 21px; line-height: 1.05; letter-spacing: -.045em; }
.qc-archive-target { margin-top: auto; color: #63766c; font-size: 12px; }
.qc-archive-target strong { color: var(--qc-forest); font-size: 22px; letter-spacing: -.05em; }
.qc-archive-card small { margin-top: 10px; color: #667970; font-size: 12px; line-height: 1.45; }
.qc-archive-participants { margin-top: 13px; color: var(--qc-forest); font-size: 11px; font-style: normal; font-weight: 800; }
.qc-archive-empty { margin: 0; padding: 22px; border: 1px dashed #bfd2c3; border-radius: 16px; color: #63766c; background: #fff; }
@media (max-width: 850px) { .qc-archive-heading { align-items: start; flex-direction: column; gap: 12px; }.qc-archive-grid { grid-template-columns: 1fr; } }

.qc-challenge-private-card { max-width: 680px; }.qc-challenge-private-card h2 { margin: 26px 0 8px; color: var(--qc-ink); font-size: 27px; letter-spacing: -.05em; }.qc-challenge-progress { display: inline-flex; align-items: baseline; gap: 10px; margin: 24px 0 0; padding: 16px 19px; border-radius: 18px; background: var(--qc-mint); color: var(--qc-forest); }.qc-challenge-progress span { font-size: 42px; font-weight: 820; letter-spacing: -.07em; }.qc-challenge-progress b { font-size: 13px; }.qc-dashboard-challenge { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 32px; padding: 25px; border-radius: 22px; background: #eaf7e6; }.qc-dashboard-challenge h2 { margin: 7px 0; color: var(--qc-ink); font-size: 24px; letter-spacing: -.05em; }.qc-dashboard-challenge p:last-child { margin: 0; color: #63766d; font-size: 14px; }.qc-dashboard-challenge .qc-secondary { flex: none; font-size: 13px; }
.qc-dashboard-challenge-history { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 16px 24px; margin: 27px 0 0; padding: 23px 25px; border: 1px solid #d7e7da; border-radius: 22px; background: #f8fcf7; }.qc-dashboard-challenge-history h2 { margin: 6px 0 0; color: var(--qc-ink); font-size: 23px; letter-spacing: -.045em; }.qc-dashboard-challenge-history-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }.qc-dashboard-challenge-history-actions .qc-secondary { font-size: 13px; }.qc-dashboard-challenge-history-list { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 10px; }.qc-dashboard-challenge-history-list > div { padding: 12px 14px; border: 1px solid #dbe8dd; border-radius: 14px; background: #fff; }.qc-dashboard-challenge-history-list span, .qc-dashboard-challenge-history-list strong, .qc-dashboard-challenge-history-list small { display: block; }.qc-dashboard-challenge-history-list span { color: #72847b; font-size: 11px; font-weight: 750; text-transform: capitalize; }.qc-dashboard-challenge-history-list strong { margin: 4px 0; color: var(--qc-ink); font-size: 13px; line-height: 1.35; }.qc-dashboard-challenge-history-list small { color: #60766b; font-size: 11px; font-weight: 700; }
@media (max-width: 650px) { .qc-dashboard-challenge { display: block; }.qc-dashboard-challenge .qc-secondary { margin-top: 16px; }.qc-dashboard-challenge-history { display: block; }.qc-dashboard-challenge-history-actions { justify-content: start; margin-top: 15px; }.qc-dashboard-challenge-history-list { margin-top: 16px; } }

.qc-vehicles-card { max-width: 800px; }.qc-vehicle-list { display: grid; gap: 9px; margin: 28px 0 34px; }.qc-vehicle-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid var(--qc-line); border-radius: 16px; background: #fff; }.qc-vehicle-row b { display: block; color: var(--qc-forest); font-size: 15px; }.qc-vehicle-row span { display: block; margin-top: 4px; color: #718279; font-size: 12px; }.qc-vehicle-row strong { flex: none; color: var(--qc-forest); font-size: 14px; }.qc-vehicle-row-actions { display: grid; justify-items: end; gap: 5px; }.qc-vehicle-row-actions form { margin: 0; }.qc-vehicle-row-actions button { padding: 0; border: 0; background: transparent; color: #718279; font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }.qc-vehicle-section { margin-top: 36px; padding-top: 31px; border-top: 1px solid var(--qc-line); }.qc-vehicle-section h2 { margin: 0 0 7px; color: var(--qc-ink); font-size: 26px; letter-spacing: -.05em; }.qc-vehicle-section > p { margin: 0; color: #61746c; font-size: 14px; line-height: 1.5; }.qc-vehicle-search { margin-top: 20px; }.qc-vehicle-search label { display: block; margin-bottom: 7px; color: var(--qc-ink); font-size: 13px; font-weight: 760; }.qc-vehicle-search > div { display: flex; gap: 9px; }.qc-vehicle-search input, .qc-vehicle-search select { flex: 1; min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid #d8e4dc; border-radius: 13px; background: #fff; color: var(--qc-ink); font: inherit; }.qc-vehicle-search-fields input[name="vehicle_year"] { flex: 0 0 105px; }.qc-vehicle-search .qc-secondary { padding: 12px 16px; font: inherit; font-size: 13px; font-weight: 760; cursor: pointer; }.qc-vehicle-choice { margin-top: 20px; padding: 21px; border-radius: 18px; background: #edf8e9; }
.qc-motorcycle-fields { display: grid; gap: 14px; margin: 20px 0 4px; padding: 19px; border: 1px solid #cfe4d4; border-radius: 18px; background: #f1f8ef; }
.qc-motorcycle-fields[hidden] { display: none; }
.qc-motorcycle-fields .qc-factor-note { margin: 0; }
.qc-commute-card h1 em { color: var(--qc-forest); font-family: Georgia, serif; font-weight: 500; }
.qc-commute-estimate { margin-top: 34px; padding: clamp(23px, 4vw, 34px); border-radius: 22px; background: var(--qc-ink); color: #fff; }
.qc-commute-estimate .qc-section-label { color: var(--qc-lime); }
.qc-commute-estimate h2 { margin: 8px 0 8px; color: #fff; font-size: clamp(31px, 4vw, 44px); line-height: 1; letter-spacing: -.06em; }
.qc-commute-estimate h2 span { color: #c8ded0; font-size: 15px; font-weight: 650; letter-spacing: 0; }
.qc-commute-estimate > p:not(.qc-section-label) { margin: 0; color: #c8ded0; font-size: 14px; line-height: 1.5; }
.qc-commute-week-form { margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); }
.qc-commute-week-form label { color: #fff; }
.qc-commute-week-form input { max-width: 230px; }
.qc-commute-week-form .qc-secondary { border: 0; cursor: pointer; }
.qc-commute-carpool { display: grid; gap: 10px; margin-top: 19px; padding: 18px; border: 1px solid #cfe4d4; border-radius: 18px; background: #f1f8ef; }
.qc-commute-carpool > label, .qc-commute-carpool-details label { color: var(--qc-forest); font-size: 14px; font-weight: 780; }
.qc-commute-carpool > select { max-width: 240px; }
.qc-commute-carpool-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 5px; }
.qc-commute-carpool-details[hidden] { display: none !important; }
.qc-commute-carpool-details > div { display: grid; gap: 7px; }
@media (max-width: 650px) { .qc-commute-carpool-details { grid-template-columns: 1fr; } }
.qc-recurring-choice { display: flex; align-items: flex-start; gap: 12px; padding: 15px 16px; border: 1px solid #cfe4d4; border-radius: 16px; background: #f1f8ef; cursor: pointer; }
.qc-simple-subtabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 4px; }.qc-simple-subtab { min-height: 34px; padding: 7px 12px; border: 1px solid #cfe1d4; border-radius: 999px; background: #fff; color: #557065; font: inherit; font-size: 12px; font-weight: 760; cursor: pointer; }.qc-simple-subtab:hover, .qc-simple-subtab.is-active { border-color: var(--qc-forest); background: var(--qc-forest); color: #fff; }
.qc-annual-card { max-width: 900px; }.qc-annual-card h1 { margin: 8px 0 13px; color: var(--qc-ink); font-size: clamp(36px, 5vw, 54px); line-height: .98; letter-spacing: -.07em; }.qc-annual-card > p { max-width: 720px; color: #61746c; line-height: 1.55; }.qc-annual-warning { display: flex; align-items: flex-start; gap: 10px; margin: 24px 0; padding: 15px 17px; border: 1px solid #ebd9a5; border-radius: 16px; background: #fffaf0; color: #755b2d; font-size: 13px; line-height: 1.45; }.qc-annual-warning strong { flex: none; color: #5a471e; }.qc-annual-form { display: grid; gap: 17px; }.qc-annual-form fieldset { min-width: 0; margin: 0; padding: 20px; border: 1px solid #d8e7dc; border-radius: 18px; background: #fbfdfb; }.qc-annual-form legend { padding: 0 7px; color: var(--qc-forest); font-size: 15px; font-weight: 820; }.qc-annual-result { margin-top: 28px; padding: clamp(22px, 4vw, 34px); border-radius: 22px; background: var(--qc-ink); color: #fff; }.qc-annual-result .qc-section-label { color: var(--qc-lime); }.qc-annual-result h2 { margin: 7px 0 21px; color: #fff; font-size: clamp(32px, 5vw, 48px); letter-spacing: -.065em; }.qc-annual-result > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.qc-annual-result > div p { margin: 0; padding: 14px; border-radius: 14px; background: rgba(255,255,255,.09); }.qc-annual-result strong, .qc-annual-result span { display: block; }.qc-annual-result strong { color: #d7ebdc; font-size: 12px; }.qc-annual-result span { margin-top: 5px; color: #fff; font-size: 20px; font-weight: 800; }.qc-annual-result > small { display: block; margin-top: 18px; color: #c8ded0; line-height: 1.45; }
@media (max-width: 650px) { .qc-annual-result > div { grid-template-columns: 1fr; } }
.qc-annual-result { display: none; }
.qc-annual-report { margin-top: 28px; overflow: hidden; border: 1px solid #d2e3d6; border-radius: 22px; background: #fff; box-shadow: 0 12px 30px rgba(20,49,40,.08); }
.qc-annual-report-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; padding: clamp(22px,4vw,34px); background: var(--qc-ink); color: #fff; }
.qc-annual-report-head .qc-section-label { color: var(--qc-lime); }.qc-annual-report-head h2 { margin: 7px 0 7px; color: #fff; font-size: clamp(28px,4vw,42px); line-height: 1; letter-spacing: -.06em; }.qc-annual-report-head p:not(.qc-section-label) { margin: 0; color: #c9ded0; font-size: 12px; }
.qc-annual-total { flex: none; min-width: 220px; padding: 17px 19px; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: rgba(255,255,255,.09); }.qc-annual-total span, .qc-annual-total strong { display: block; }.qc-annual-total span { color: #d7e9dd; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }.qc-annual-total strong { margin-top: 6px; color: #fff; font-size: 29px; line-height: 1; letter-spacing: -.06em; }.qc-annual-total small { color: var(--qc-lime); font-size: 13px; letter-spacing: 0; }
.qc-annual-report-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 21px clamp(22px,4vw,34px); border-bottom: 1px solid #e2ece4; background: #f7fbf7; }.qc-annual-report-intro p { margin: 0; color: #536a5f; font-size: 13px; line-height: 1.55; }.qc-annual-report-intro strong { color: var(--qc-forest); }
.qc-annual-breakdown, .qc-annual-inputs { padding: 25px clamp(22px,4vw,34px); }.qc-annual-breakdown { border-bottom: 1px solid #e2ece4; }.qc-annual-breakdown h3, .qc-annual-inputs h3 { margin: 0 0 17px; color: var(--qc-ink); font-size: 18px; letter-spacing: -.035em; }.qc-annual-bar-row { display: grid; grid-template-columns: minmax(140px,.48fr) 1fr; align-items: center; gap: 17px; margin: 13px 0; }.qc-annual-bar-row strong, .qc-annual-bar-row span { display: block; }.qc-annual-bar-row strong { color: var(--qc-ink); font-size: 13px; }.qc-annual-bar-row span { margin-top: 2px; color: #687d72; font-size: 12px; }.qc-annual-bar { height: 12px; overflow: hidden; border-radius: 999px; background: #e7f0e9; }.qc-annual-bar i { display: block; height: 100%; min-width: 10px; border-radius: inherit; background: linear-gradient(90deg,var(--qc-forest),#0c948e); }
.qc-annual-inputs ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 22px; margin: 0; padding: 0; list-style: none; }.qc-annual-inputs li { display: flex; justify-content: space-between; gap: 13px; padding: 10px 0; border-bottom: 1px solid #edf2ee; color: #60756b; font-size: 12px; }.qc-annual-inputs li strong { color: var(--qc-ink); text-align: right; font-size: 12px; }.qc-annual-report-note { padding: 17px clamp(22px,4vw,34px); background: #f1f8ef; color: #52685e; font-size: 12px; line-height: 1.5; }.qc-annual-report-note strong { color: var(--qc-forest); }.qc-annual-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 18px; }.qc-annual-follow-up { margin: 17px 0 0; padding: 16px 18px; border-left: 4px solid var(--qc-forest); background: #f6faf6; color: #586f64; font-size: 13px; line-height: 1.55; }.qc-annual-follow-up strong { color: var(--qc-forest); }
@media (max-width: 650px) { .qc-annual-report-head, .qc-annual-report-intro { grid-template-columns: 1fr; display: grid; }.qc-annual-total { min-width: 0; }.qc-annual-bar-row { grid-template-columns: 1fr; gap: 7px; }.qc-annual-inputs ul { grid-template-columns: 1fr; } }
@media print { @page { size: A4; margin: 13mm; } body { background: #fff !important; }.qc-public-footer, .qc-nav, .qc-annual-card > .qc-section-label, .qc-annual-card > h1, .qc-annual-card > p, .qc-annual-warning, .qc-annual-form, .qc-annual-actions, .qc-annual-follow-up, .qc-annual-result, #wpadminbar, #um_upload_single, #um_view_photo, iframe { display: none !important; }.qc-home, .qc-public-page, .qc-shell, .qc-member-page, .qc-activity-card { display: block !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fff !important; box-shadow: none !important; }.qc-annual-report { margin: 0 !important; border-color: #aabdb0 !important; border-radius: 0 !important; box-shadow: none !important; break-inside: avoid; }.qc-annual-report-head { padding: 17px 20px !important; background: #163c32 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }.qc-annual-report-head h2 { font-size: 29px !important; }.qc-annual-total { min-width: 185px; }.qc-annual-breakdown, .qc-annual-inputs { padding: 17px 20px !important; }.qc-annual-bar-row { margin: 9px 0 !important; }.qc-annual-inputs li { padding: 6px 0 !important; }.qc-annual-report-note { padding: 13px 20px !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
.qc-company-card { max-width: 960px; }.qc-company-card h1 { margin: 8px 0 13px; color: var(--qc-ink); font-size: clamp(36px, 5vw, 54px); line-height: .98; letter-spacing: -.07em; }.qc-company-card > p { max-width: 720px; color: #61746c; line-height: 1.55; }.qc-company-scopes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 27px 0; }.qc-company-scopes article { padding: 17px; border: 1px solid #d8e7dc; border-radius: 17px; background: #f6fbf5; }.qc-company-scopes b { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--qc-forest); color: #fff; font-size: 12px; }.qc-company-scopes strong, .qc-company-scopes span { display: block; }.qc-company-scopes strong { margin-top: 14px; color: var(--qc-ink); font-size: 14px; }.qc-company-scopes span { margin-top: 4px; color: #64776e; font-size: 12px; line-height: 1.4; }.qc-company-form { display: grid; gap: 17px; }.qc-company-form fieldset { min-width: 0; margin: 0; padding: 20px; border: 1px solid #d8e7dc; border-radius: 18px; background: #fbfdfb; }.qc-company-form legend { padding: 0 7px; color: var(--qc-forest); font-size: 15px; font-weight: 820; }
@media (max-width: 650px) { .qc-company-scopes { grid-template-columns: 1fr; } }
.qc-recurring-choice input { flex: none; width: 19px !important; min-height: 19px !important; margin: 2px 0 0 !important; accent-color: var(--qc-forest); }
.qc-recurring-choice strong { display: block; color: var(--qc-forest); font-size: 14px; }
.qc-recurring-choice small { display: block; margin-top: 4px; color: #61746c; font-size: 12px; font-weight: 500; line-height: 1.45; }
.qc-food-recurrence { display: grid; gap: 9px; min-width: 0; margin: 0; padding: 15px 16px 16px; border: 1px solid #cfe4d4; border-radius: 16px; background: #f1f8ef; }.qc-food-recurrence legend { padding: 0 6px; color: var(--qc-forest); font-size: 13px; font-weight: 800; }.qc-food-recurrence label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }.qc-food-recurrence input { flex: none; width: 18px !important; min-height: 18px !important; margin: 2px 0 0 !important; accent-color: var(--qc-forest); }.qc-food-recurrence strong, .qc-food-recurrence small { display: block; }.qc-food-recurrence strong { color: var(--qc-forest); font-size: 13px; }.qc-food-recurrence small { margin-top: 2px; color: #60756b; font-size: 11px; line-height: 1.4; }
.qc-dashboard-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.qc-evolution-card { max-width: 980px; }
.qc-activity-help { margin: 10px 0 0; padding: 11px 13px; border-radius: 12px; background: #edf8e9; color: #496258; font-size: 12px; line-height: 1.45; }
.qc-trip-fields { margin-top: 8px; padding: clamp(18px, 3vw, 25px); border: 1px solid #cfe4d4; border-radius: 20px; background: #f4faf2; }
.qc-trip-fields[hidden] { display: none; }
.qc-trip-fields h2 { margin: 0 0 6px; color: var(--qc-ink); font-size: 27px; letter-spacing: -.05em; }
.qc-trip-fields > p { margin: 0 0 19px; color: #61746c; font-size: 13px; line-height: 1.5; }
.qc-trip-round { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; padding: 13px; border-radius: 13px; background: #fff; }
.qc-trip-round input { flex: none; width: 19px; min-height: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--qc-forest); }
.qc-trip-round strong, .qc-trip-round small { display: block; }.qc-trip-round small { margin-top: 3px; color: #6a7e75; font-weight: 500; line-height: 1.4; }
.qc-routine-profile { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid #d9e8e1; }
.qc-routine-profile > span small { display: block; margin-top: 3px; color: #557167; }
.qc-routine-profile form { margin: 0; }.qc-text-button { padding: 7px 10px; border: 1px solid #b86464; border-radius: 9px; background: #fff; color: #9e3d3d; font-weight: 700; cursor: pointer; }
.qc-trip-segments-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin: 24px 0 10px; }.qc-trip-segments-head h3 { margin: 0; color: var(--qc-ink); font-size: 17px; }.qc-trip-segments-head p { margin: 3px 0 0; color: #718279; font-size: 12px; }.qc-trip-segments-head .qc-secondary { flex: none; padding: 9px 12px; font-size: 12px; }
.qc-trip-segments { display: grid; gap: 10px; }.qc-trip-segment { position: relative; display: grid; grid-template-columns: 1.25fr .8fr .8fr auto; gap: 10px; align-items: start; padding: 14px; border: 1px solid #d8e7dc; border-radius: 15px; background: #fff; }.qc-trip-segment label { display: block; font-size: 11px; }.qc-trip-segment input, .qc-trip-segment select { min-height: 45px; margin-top: 5px; padding: 9px 10px; font-size: 13px; }.qc-trip-segment small { display: block; margin-top: 4px; color: #7a8b83; font-size: 10px; line-height: 1.25; }.qc-trip-saved-vehicle-field[hidden], .qc-activity-help[hidden] { display: none; }.qc-remove-trip-segment { align-self: center; width: 30px; min-height: 30px; margin-top: 20px; border: 0; border-radius: 50%; background: #ffe8d9; color: #9b5038; font-size: 21px; line-height: 1; cursor: pointer; }
.qc-flight-distance-note { margin: 0; align-self: center; color: #56756a; font-size: 12px; line-height: 1.45; }.qc-flight-distance-note[hidden] { display: none; }
.qc-trip-summary { margin-top: 20px; padding: 16px 17px; border: 1px solid #b9d8c2; border-radius: 15px; background: #eaf6ed; color: #34584a; }.qc-trip-summary h3 { margin: 0 0 8px; color: var(--qc-ink); font-size: 15px; }.qc-trip-summary p { margin: 0 0 7px; font-weight: 750; }.qc-trip-summary ul { margin: 0; padding-left: 19px; }.qc-trip-summary li { margin: 3px 0; font-size: 13px; line-height: 1.45; }
.qc-digital-form h2 { margin: 26px 0 13px; color: var(--qc-ink); font-size: 21px; letter-spacing: -.035em; }.qc-digital-estimate { margin-top: 34px; padding: clamp(23px, 4vw, 34px); border-radius: 22px; background: var(--qc-ink); color: #fff; }.qc-digital-estimate .qc-section-label { color: var(--qc-lime); }.qc-digital-estimate h2 { margin: 8px 0 19px; color: #fff; font-size: clamp(31px, 4vw, 44px); line-height: 1; letter-spacing: -.06em; }.qc-digital-estimate h2 span { color: #c8ded0; font-size: 15px; font-weight: 650; letter-spacing: 0; }.qc-digital-estimate > p:not(.qc-section-label) { margin: 18px 0 0; color: #c8ded0; font-size: 13px; line-height: 1.5; }.qc-digital-estimate-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.qc-digital-estimate-grid div { padding: 13px; border-radius: 13px; background: rgba(255,255,255,.1); }.qc-digital-estimate-grid b, .qc-digital-estimate-grid span { display: block; }.qc-digital-estimate-grid b { color: #fff; font-size: 17px; }.qc-digital-estimate-grid span { margin-top: 4px; color: #c8ded0; font-size: 11px; }.qc-digital-month-form { display: grid; grid-template-columns: 1fr auto; gap: 10px 12px; align-items: end; margin-top: 23px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); }.qc-digital-month-form label { grid-column: 1 / -1; color: #fff; }.qc-digital-month-form input { margin: 0; }.qc-digital-month-form .qc-secondary { border: 0; cursor: pointer; }
.qc-digital-second-device { margin-top: 27px; padding: 20px; border: 1px solid #cfe4d4; border-radius: 18px; background: #f4faf2; }.qc-digital-second-device h2 { margin-top: 0; }.qc-digital-second-device h2 small { color: #718279; font-size: 13px; font-weight: 600; letter-spacing: 0; }.qc-digital-second-device > p { margin: -6px 0 16px; color: #61746c; font-size: 13px; }
.qc-digital-streaming { margin-top: 27px; padding: 20px; border: 1px solid #d8e4dc; border-radius: 18px; background: #fbfdfb; }.qc-digital-streaming h2 { margin-top: 0; }.qc-digital-streaming h2 small { color: #718279; font-size: 13px; font-weight: 600; letter-spacing: 0; }.qc-digital-streaming > p { margin: -6px 0 16px; color: #61746c; font-size: 13px; }
.qc-appliances-card { max-width: 840px; }.qc-appliance-list { margin: 31px 0; padding: 22px; border: 1px solid #d8e7dc; border-radius: 20px; background: #f7fbf5; }.qc-appliance-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }.qc-appliance-list-heading .qc-section-label { margin-bottom: 5px; }.qc-appliance-list-heading h2, .qc-appliance-form-section h2 { margin: 0; color: var(--qc-ink); font-size: 25px; letter-spacing: -.05em; }.qc-appliance-list-heading > strong { color: var(--qc-forest); font-size: 14px; text-align: right; }.qc-appliance-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 16px; padding: 14px 0; border-top: 1px solid #dce9df; }.qc-appliance-row b, .qc-appliance-row span { display: block; }.qc-appliance-row b { color: var(--qc-forest); font-size: 14px; }.qc-appliance-row span { margin-top: 4px; color: #687b72; font-size: 12px; line-height: 1.4; }.qc-appliance-row > strong { color: var(--qc-ink); font-size: 13px; white-space: nowrap; }.qc-appliance-row-actions { display: flex; align-items: center; gap: 9px; }.qc-appliance-row-actions a, .qc-appliance-row-actions button { padding: 0; border: 0; background: transparent; color: #60766b; font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }.qc-appliance-row-actions button { color: #9b5038; }.qc-appliance-row-actions form { margin: 0; }.qc-appliance-month-form { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: end; margin-top: 19px; padding-top: 19px; border-top: 1px solid #dce9df; }.qc-appliance-month-form label { grid-column: 1 / -1; }.qc-appliance-month-form .qc-secondary { cursor: pointer; }.qc-appliance-form-section { padding-top: 30px; border-top: 1px solid var(--qc-line); }.qc-appliance-form-section .qc-section-label { margin-bottom: 7px; }.qc-appliance-form { display: grid; gap: 16px; margin-top: 21px; }.qc-appliance-usage[hidden], .qc-appliance-continuous[hidden] { display: none; }.qc-appliance-continuous { margin: 0; padding: 13px 15px; border-radius: 14px; background: #edf8e9; color: #4f6b5d; font-size: 13px; line-height: 1.45; }.qc-appliance-cancel { display: inline-block; margin-left: 9px; }
@media (max-width: 650px) { .qc-appliance-list { padding: 18px; }.qc-appliance-list-heading { display: block; }.qc-appliance-list-heading > strong { display: block; margin-top: 9px; text-align: left; }.qc-appliance-row { grid-template-columns: 1fr auto; gap: 9px; }.qc-appliance-row-actions { grid-column: 1 / -1; }.qc-appliance-month-form { grid-template-columns: 1fr; }.qc-appliance-month-form .qc-secondary { width: 100%; } }
.qc-heating-fields { margin: 0 0 6px; padding: 20px; border: 1px solid #f0d9a7; border-radius: 18px; background: #fffaf0; }.qc-heating-fields[hidden] { display: none; }.qc-heating-fields h2 { margin: 0 0 7px; color: var(--qc-ink); font-size: 21px; letter-spacing: -.035em; }.qc-heating-fields > p:not(.qc-factor-note) { margin: 0 0 12px; color: #61746c; font-size: 13px; line-height: 1.45; }.qc-heating-fields .qc-factor-note { margin: 0; color: #7b6740; }
.qc-energy-installation-form { padding: 25px; border: 1px solid #cfe4d4; border-radius: 20px; background: #fbfefb; }.qc-energy-installation-form .qc-section-label { color: #4a7664; }.qc-energy-installation-intro { display: grid; gap: 4px; padding: 15px 16px; border: 1px solid #cfe4d4; border-radius: 15px; background: #edf8e9; }.qc-energy-installation-intro strong { color: var(--qc-forest); font-size: 14px; }.qc-energy-installation-intro span { color: #597167; font-size: 12px; line-height: 1.45; }.qc-energy-installation-form .qc-factor-note { padding: 12px 14px; border-radius: 13px; background: #f6f9f6; }
.qc-personal-challenges-card { max-width: 980px; }.qc-personal-challenge-list, .qc-template-challenge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 23px; }.qc-personal-challenge, .qc-template-challenge-grid article { padding: 19px; border: 1px solid #d8e7dc; border-radius: 18px; background: #fff; }.qc-personal-challenge > span, .qc-template-challenge-grid article > span { display: inline-block; color: var(--qc-forest); font-size: 11px; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }.qc-personal-challenge h3, .qc-template-challenge-grid h3 { margin: 12px 0 7px; color: var(--qc-ink); font-size: 20px; letter-spacing: -.04em; }.qc-personal-challenge p, .qc-template-challenge-grid p { min-height: 42px; margin: 0; color: #61746c; font-size: 13px; line-height: 1.45; }.qc-personal-challenge small, .qc-template-challenge-grid small { display: block; margin-top: 11px; color: #73837b; font-size: 11px; }.qc-template-challenge-grid article > b { display: block; margin-top: 15px; color: var(--qc-forest); font-size: 18px; }.qc-template-challenge-grid form { margin-top: 17px; }.qc-personal-section-title { margin: 42px 0 0; color: var(--qc-ink); font-size: 24px; letter-spacing: -.045em; }.qc-personal-progress-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; margin-top: 15px; }.qc-personal-progress-form label { color: var(--qc-ink); font-size: 11px; font-weight: 750; }.qc-personal-progress-form input { width: 100%; min-height: 42px; margin-top: 5px; padding: 8px 10px; border: 1px solid #d8e4dc; border-radius: 11px; font: inherit; }.qc-personal-progress-form .qc-secondary { min-height: 42px; border: 0; cursor: pointer; }.qc-personal-delete-form { margin-top: 10px; }.qc-personal-delete-form button { padding: 0; border: 0; background: transparent; color: #9b5038; font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }.qc-custom-challenge-form { margin-top: 17px; padding: 20px; border: 1px solid #d8e7dc; border-radius: 18px; background: #f7fbf5; }
@media (max-width: 850px) { .qc-personal-challenge-list, .qc-template-challenge-grid { grid-template-columns: 1fr; } }
.qc-badges-card { max-width: 980px; }.qc-badges-card h2 { margin: 8px 0 8px; color: var(--qc-ink); font-size: 27px; letter-spacing: -.05em; }.qc-badges-intro { max-width: 660px; margin: 0; color: #61746c; font-size: 13px; line-height: 1.5; }.qc-badges-count { margin: 16px 0 14px; color: #63776d; font-size: 12px; font-weight: 700; }.qc-badges-count strong { color: var(--qc-forest); font-size: 18px; }.qc-badge-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.qc-badge-list article { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 15px; border: 1px solid #d8e7dc; border-radius: 16px; background: #fffdf4; }.qc-badge-list .qc-badge-illustration { display: grid; place-items: center; flex: none; width: 66px; height: 66px; overflow: hidden; border-radius: 17px; background: #fff5cb; }.qc-badge-illustration img { display: block; width: 62px; height: 62px; object-fit: contain; }.qc-badge-list strong, .qc-badge-list small { display: block; }.qc-badge-list strong { color: var(--qc-ink); font-size: 13px; }.qc-badge-list p { margin: 3px 0 5px; color: #68786f; font-size: 11px; line-height: 1.4; }.qc-badge-list small { font-size: 10px; font-weight: 750; }.qc-badge-earned .qc-badge-status { color: #397144; }.qc-badge-locked { background: #fafcfa !important; border-style: dashed !important; }.qc-badge-locked .qc-badge-illustration { background: #edf1ee !important; filter: grayscale(1); opacity: .48; }.qc-badge-locked strong, .qc-badge-locked p, .qc-badge-locked .qc-badge-status { color: #7e8d85; }
@media (max-width: 650px) { .qc-badge-list { grid-template-columns: 1fr; } }
.qc-challenge-summary-card { max-width: 680px; }.qc-challenge-summary-card h2 { margin: 8px 0 18px; color: var(--qc-ink); font-size: 26px; letter-spacing: -.05em; }.qc-challenge-summary-list { display: flex; flex-wrap: wrap; gap: 12px; }.qc-challenge-summary-list > div { flex: 1 1 200px; padding: 15px 17px; border: 1px solid #d8e7dc; border-radius: 16px; background: #f6fbf5; }.qc-challenge-summary-list > div:last-child { background: #fffaf1; border-color: #eadfcb; }.qc-challenge-summary-list strong { display: block; color: var(--qc-forest); font-size: 32px; letter-spacing: -.06em; }.qc-challenge-summary-list span { display: block; margin-top: 3px; color: #60766b; font-size: 13px; font-weight: 700; }
.qc-challenge-history-page { max-width: 900px; }.qc-challenge-history-page h1 { margin: 7px 0 10px; color: var(--qc-ink); font-size: clamp(32px, 5vw, 45px); letter-spacing: -.065em; }.qc-challenge-history-list { display: grid; gap: 10px; margin-top: 25px; }.qc-challenge-history-list article { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 18px; padding: 17px 19px; border: 1px solid #dbe8dd; border-radius: 17px; background: #fff; }.qc-challenge-history-list article > div > span { color: #73867c; font-size: 12px; font-weight: 760; text-transform: capitalize; }.qc-challenge-history-list h2 { margin: 4px 0 0; color: var(--qc-ink); font-size: 16px; }.qc-challenge-history-list article > strong { color: var(--qc-forest); font-size: 20px; letter-spacing: -.04em; }.qc-challenge-history-list article > b { min-width: 95px; padding: 7px 9px; border-radius: 9px; background: #e8f6e6; color: #237044; font-size: 12px; text-align: center; }.qc-challenge-history-list .qc-challenge-history-missed > b { background: #fff5e8; color: #9a5b27; }
.qc-challenge-history-page + .qc-challenge-history-page { margin-top: 18px; }.qc-challenge-history-page h2 { margin: 7px 0 10px; color: var(--qc-ink); font-size: 27px; letter-spacing: -.05em; }.qc-challenge-history-list h3 { margin: 4px 0 0; color: var(--qc-ink); font-size: 16px; }.qc-challenge-history-list .qc-challenge-history-current > b { background: #eaf4ff; color: #2e6090; }
@media (max-width: 560px) { .qc-challenge-history-list article { grid-template-columns: 1fr auto; gap: 10px; }.qc-challenge-history-list article > b { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 650px) { .qc-digital-estimate-grid { grid-template-columns: 1fr; }.qc-digital-month-form { grid-template-columns: 1fr; }.qc-digital-month-form .qc-secondary { width: 100%; } }
@media (max-width: 650px) { .qc-trip-segments-head { align-items: flex-start; flex-direction: column; }.qc-trip-segment { grid-template-columns: 1fr; }.qc-remove-trip-segment { position: absolute; top: 8px; right: 8px; margin: 0; } }
.qc-evolution-year { display: flex; align-items: center; gap: 11px; margin: 28px 0 20px; }
.qc-evolution-year label { color: var(--qc-ink); font-size: 13px; font-weight: 760; }
.qc-evolution-year select { min-height: 42px; padding: 8px 34px 8px 12px; border: 1px solid #d8e4dc; border-radius: 11px; background: #fff; color: var(--qc-ink); font: inherit; font-size: 14px; }
.qc-evolution-totals { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.qc-evolution-totals > div { padding: 21px; border: 1px solid var(--qc-line); border-radius: 18px; background: #fff; }
.qc-evolution-totals > div:first-child { background: var(--qc-forest); color: #fff; }
.qc-evolution-totals span, .qc-evolution-totals small { display: block; font-size: 12px; font-weight: 700; }
.qc-evolution-totals span { color: #7a9086; }
.qc-evolution-totals > div:first-child span, .qc-evolution-totals > div:first-child small { color: #d4e6d8; }
.qc-evolution-totals strong { display: block; margin: 8px 0 5px; color: var(--qc-forest); font-size: clamp(33px, 4vw, 45px); line-height: 1; letter-spacing: -.065em; }
.qc-evolution-totals > div:first-child strong { color: var(--qc-lime); }
.qc-eu-reference { display: none !important; }
.qc-show-eu-reference .qc-eu-reference { display: block !important; }
.qc-evolution-table .qc-eu-reference { display: none !important; }
.qc-show-eu-reference .qc-evolution-table .qc-eu-reference { display: table-cell !important; }
.qc-eu-toggle { display: flex; align-items: flex-start; gap: 12px; margin: 17px 0 20px; padding: 15px 16px; border: 1px solid #cfe4d4; border-radius: 16px; background: #f1f8ef; cursor: pointer; }
.qc-eu-toggle input { flex: none; width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--qc-forest); }
.qc-eu-toggle strong, .qc-eu-toggle small { display: block; }
.qc-eu-toggle strong { color: var(--qc-forest); font-size: 14px; }
.qc-eu-toggle small { margin-top: 4px; color: #61746c; font-size: 12px; font-weight: 500; line-height: 1.45; }
.qc-evolution-table-wrap { overflow-x: auto; border: 1px solid var(--qc-line); border-radius: 18px; background: #fff; }
.qc-evolution-table { width: 100%; border-collapse: collapse; color: var(--qc-ink); font-size: 14px; }
.qc-evolution-table th, .qc-evolution-table td { padding: 14px 18px; border-bottom: 1px solid #edf1ed; text-align: left; white-space: nowrap; }
.qc-evolution-table thead { background: #f1f8ef; color: var(--qc-forest); font-size: 12px; }
.qc-evolution-table tbody th { color: #53685e; font-weight: 700; }
.qc-evolution-table tfoot { background: #edf8e9; color: var(--qc-forest); font-weight: 800; }
.qc-evolution-table tfoot th, .qc-evolution-table tfoot td { border-bottom: 0; }
.qc-evolution-note { max-width: 800px !important; margin: 18px 0 0 !important; color: #718279 !important; font-size: 12px !important; line-height: 1.55 !important; }
.qc-evolution-note a { color: var(--qc-forest); font-weight: 760; text-decoration: underline; text-underline-offset: 2px; }
.qc-evolution-dashboard { width: min(100%, 630px); min-height: 0; margin: 26px auto; }
.qc-evolution-dashboard .qc-dash-body { grid-template-columns: 1.2fr .8fr; }
.qc-evolution-dashboard .qc-bars { gap: 5px; height: 135px; margin-top: 17px; }
.qc-evolution-dashboard .qc-evolution-bars { position: relative; }
.qc-evolution-dashboard .qc-evolution-bars i { width: calc((100% - 55px) / 12); height: max(4px, var(--qc-bar-height)); background: var(--qc-mint); }
.qc-evolution-dashboard .qc-evolution-bars i:nth-of-type(3n) { background: #a7ddad; }
.qc-evolution-dashboard .qc-evolution-bars i:nth-of-type(4n) { background: var(--qc-forest); }
.qc-eu-chart-marker { display: none; position: absolute; z-index: 2; right: 0; bottom: var(--qc-reference-height); left: 0; border-top: 2px dashed #b45b36; pointer-events: none; }.qc-eu-chart-marker b { position: absolute; right: 0; bottom: 4px; padding: 2px 5px; border-radius: 5px; background: #fff8f3; color: #985035; font-size: 9px; white-space: nowrap; }.qc-evolution-dashboard.qc-show-eu-reference .qc-eu-chart-marker { display: block; }
.qc-evolution-month-labels { display: grid; grid-template-columns: repeat(12, 1fr); gap: 5px; margin-top: 7px; color: #72847b; font-size: 8px; font-weight: 760; text-align: center; text-transform: uppercase; }
.qc-evolution-goal .qc-score-note { text-align: center; line-height: 1.35; }
.qc-evolution-dashboard .qc-progress { margin-top: 0; }
@media (max-width: 650px) { .qc-member-heading { align-items: flex-start; flex-direction: column; }.qc-member-heading h1 { margin-bottom: 0; }.qc-evolution-totals { grid-template-columns: 1fr; }.qc-evolution-year { align-items: flex-start; flex-direction: column; }.qc-evolution-table th, .qc-evolution-table td { padding: 13px 14px; }.qc-evolution-dashboard { width: calc(100% - 14px); }.qc-evolution-dashboard .qc-dash-body { grid-template-columns: 1.1fr .9fr; }.qc-evolution-dashboard .qc-card { padding: 14px; }.qc-evolution-dashboard .qc-score { font-size: 32px; }.qc-evolution-dashboard .qc-ring { width: 92px; height: 92px; border-width: 11px; }.qc-evolution-dashboard .qc-bars { height: 108px; }.qc-evolution-month-labels { gap: 3px; font-size: 7px; } }
@media (max-width: 650px) { .qc-vehicle-row { align-items: flex-start; display: block; }.qc-vehicle-row strong { display: block; margin-top: 7px; }.qc-vehicle-search > div { display: block; }.qc-vehicle-search input, .qc-vehicle-search select { display: block; width: 100%; margin-bottom: 8px; }.qc-vehicle-search .qc-secondary { width: 100%; margin-top: 0; } }
