/* Caravane — module styles (built on app.css tokens). Mobile first: the census form is used on Android phones in the markets. */

.cv-h2 { font: 600 1.15rem var(--font-display); margin: 0 0 10px; color: var(--ink); }
.cv-h3 { font: 600 .95rem var(--font-display); margin: 0 0 10px; color: var(--ink); }
.cv-grid { align-items: start; }
.cv-warn { color: var(--danger); }
.cv-code { display: inline-block; font: 500 12.5px var(--font-tech); background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; padding: 6px 9px; word-break: break-all; white-space: pre-wrap; }
pre.cv-code { display: block; margin: 6px 0 0; }
.cv-secret { font-size: 15px; }
.cv-link { color: inherit; text-decoration: none; transition: box-shadow .15s; }
.cv-link:hover { box-shadow: var(--shadow); }
.cv-chips-inline { display: flex; flex-wrap: wrap; gap: 6px; }
.cv-filters { flex-wrap: wrap; gap: 8px; }
.cv-filters .input, .cv-filters .select { width: auto; min-width: 0; }
.cv-filters input[type=search] { min-width: 200px; flex: 1; }

/* ---------- network / live indicators */
.cv-net, .cv-live { display: inline-flex; align-items: center; gap: 7px; font: 500 12.5px var(--font-tech); color: var(--success); background: var(--success-bg); padding: 6px 11px; border-radius: 999px; white-space: nowrap; }
.cv-net .dot, .cv-live .dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(9, 106, 9, .18); }
.cv-net.off { color: var(--warning); background: var(--warning-bg); }
.cv-net.off .dot { box-shadow: 0 0 0 3px rgba(183, 121, 31, .2); }
.cv-live { color: var(--info); background: var(--info-bg); }
.cv-live .dot { animation: cv-pulse 2s infinite; }
@keyframes cv-pulse { 50% { opacity: .35; } }

/* ---------- census form */
.cv-entry { max-width: 860px; margin: 0 auto; }
.cv-entry-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 8px 12px; margin-bottom: 14px; }
.cv-entry-head > div { flex: 1 1 260px; }
.cv-entry-head h1 { font: 600 1.35rem var(--font-display); margin: 0; color: var(--ink); }
.cv-entry-head p { margin: 2px 0 0; }
.cv-progress { display: flex; align-items: center; gap: 12px; margin: 12px 0; position: sticky; top: 64px; z-index: 5; background: var(--bg); padding: 6px 0; }
.cv-progress .progress { flex: 1; }
.cv-step .card-head h2 { font: 600 1.05rem var(--font-display); margin: 0; }
.cv-q { display: flex; flex-direction: column; gap: 8px; }
.cv-q-label { font-weight: 600; font-size: 14.5px; color: var(--text); }
.cv-other { margin-top: -4px; }
.cv-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cv-chips-col { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.cv-chips-2 .cv-chip { flex: 1 1 120px; }
.cv-chip { position: relative; cursor: pointer; display: flex; }
.cv-chip input { position: absolute; opacity: 0; pointer-events: none; }
.cv-chip span { flex: 1; display: flex; align-items: center; min-height: 46px; padding: 10px 14px; border: 1.5px solid var(--line-2); border-radius: 12px; background: var(--surface); font-size: 14.5px; line-height: 1.25; transition: border-color .12s, background .12s; user-select: none; }
.cv-chips-2 .cv-chip span { justify-content: center; font-weight: 600; }
.cv-chip-check span::before { content: ''; flex: none; width: 18px; height: 18px; margin-right: 10px; border: 1.5px solid var(--line-2); border-radius: 5px; background: var(--surface); }
.cv-chip input:checked + span { border-color: var(--crimson); background: var(--crimson-50); color: var(--crimson-600); font-weight: 600; }
.cv-chip-check input:checked + span::before { background: var(--crimson) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat; border-color: var(--crimson); }
.cv-chip input:focus-visible + span { outline: 2px solid var(--crimson); outline-offset: 2px; }
.cv-form .input.is-invalid, .cv-form .select.is-invalid { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(212, 24, 61, .12); }
.cv-photo img { max-width: 100%; max-height: 220px; border-radius: 10px; border: 1px solid var(--line); margin-bottom: 8px; object-fit: contain; background: var(--surface-2); }
.cv-gps { display: flex; align-items: center; gap: 6px; }
.cv-gps .icon { width: 15px; height: 15px; }
.cv-nav { display: flex; gap: 10px; justify-content: space-between; margin-top: 14px; position: sticky; bottom: 0; padding: 12px 0 calc(12px + env(safe-area-inset-bottom)); background: linear-gradient(to top, var(--bg) 70%, rgba(244, 247, 252, 0)); z-index: 5; }
.cv-nav .btn { flex: 1; justify-content: center; min-height: 48px; }
.cv-nav [hidden] { display: none; }
.cv-ai-card { margin-bottom: 6px; border-style: dashed; }
.cv-ai-status { padding: 0 20px 14px; color: var(--text-2); }
.cv-ai-status.ok { color: var(--success); }
.cv-ai-status.err { color: var(--danger); }

/* ---------- agent dashboard */
.cv-welcome { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.cv-welcome h1 { margin: 0; }
.cv-queue { border-left: 4px solid var(--warning); }
.cv-queue-list { margin: 0; padding: 0 20px 14px 38px; color: var(--text-2); }
.cv-queue-list:empty { display: none; }
.cv-err { color: var(--danger); }
.cv-tofix { border-left: 4px solid var(--danger); }
.cv-list { list-style: none; margin: 0; padding: 0; }
.cv-list > li { padding: 11px 20px; border-top: 1px solid var(--line); font-size: 14px; }
.card-body .cv-list > li { padding-left: 0; padding-right: 0; }
.cv-list > li:first-child { border-top: 0; }
.cv-rank { list-style: none; margin: 0; padding: 6px 0; }
.cv-rank li { display: flex; align-items: center; gap: 12px; padding: 9px 20px; font-size: 14px; }
.cv-rank li + li { border-top: 1px solid var(--line); }
.cv-rank .pos { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); border: 1px solid var(--line); font: 600 12px var(--font-tech); flex: none; }
.cv-rank li:nth-child(1) .pos { background: var(--gold); color: #fff; border-color: var(--gold); }
.cv-rank li:nth-child(2) .pos { background: #A7B0BE; color: #fff; border-color: #A7B0BE; }
.cv-rank li:nth-child(3) .pos { background: #B9825A; color: #fff; border-color: #B9825A; }
.cv-rank .who { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cv-rank .who small { font-size: 12px; }
.cv-rank li.me { background: var(--crimson-50); }
.cv-mini { width: 70px; }
.cv-mini .progress { height: 6px; }

/* ---------- steering dashboard */
.cv-hero { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
.cv-objective .stat-value small { font: 500 .9rem var(--font); }
.cv-bars { width: 100%; height: auto; display: block; font-family: var(--font-tech); }
.cv-bars .grid { stroke: var(--line); stroke-width: 1; }
.cv-bars .axis { stroke: var(--line-2); stroke-width: 1; }
.cv-bars .tick { font-size: 10.5px; fill: var(--text-3); }
.cv-bars .fill { fill: var(--crimson); }
.cv-bars .hit { fill: transparent; }
.cv-bars .bar:hover .fill { fill: var(--crimson-600); }
.cv-bars .bar:hover .hit { fill: rgba(15, 46, 101, .04); }
.cv-bars .target { stroke: var(--ink); stroke-dasharray: 4 4; stroke-width: 1.2; }
.cv-bars .target-label { fill: var(--ink); }
.cv-funnel, .cv-hbars { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.cv-funnel li, .cv-hbars li { display: grid; grid-template-columns: minmax(110px, 1.2fr) 2fr auto; align-items: center; gap: 10px; font-size: 13.5px; }
.cv-funnel .track, .cv-hbars .track { height: 10px; background: var(--line); border-radius: 999px; overflow: hidden; }
.cv-funnel .bar, .cv-hbars .bar { display: block; height: 100%; background: var(--blue); border-radius: 999px; min-width: 2px; }
.cv-hbars .bar { background: var(--ink-3); }
.cv-funnel .lbl, .cv-hbars .lbl { color: var(--text-2); }
.cv-hbars .val { font: 600 13px var(--font-tech); white-space: nowrap; text-align: right; min-width: 74px; }
.cv-dist { min-width: 0; }

/* ---------- map */
.cv-map { position: relative; width: 100%; overflow: hidden; background: #E9EEF5; border-radius: var(--radius) var(--radius) 0 0; }
.cv-map .tile { position: absolute; display: block; max-width: none; user-select: none; pointer-events: none; }
.cv-map .pt { position: absolute; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 50%; background: rgba(15, 46, 101, .55); }
.cv-map .mk { position: absolute; transform: translate(-50%, -50%); border-radius: 50%; display: grid; place-items: center; color: #fff; font: 700 12px var(--font-tech); text-decoration: none; border: 2px solid #fff; box-shadow: 0 4px 14px rgba(11, 33, 74, .35); z-index: 2; }
.cv-map .mk-low { background: rgba(212, 24, 61, .88); }
.cv-map .mk-mid { background: rgba(183, 121, 31, .92); }
.cv-map .mk-high { background: rgba(9, 106, 9, .9); }
.cv-map .mk-label { position: absolute; transform: translate(-50%, 26px); background: rgba(255, 255, 255, .92); color: var(--ink); font: 600 11.5px var(--font); padding: 2px 7px; border-radius: 6px; white-space: nowrap; z-index: 3; text-decoration: none; }
.cv-map .mk-label:hover { background: #fff; box-shadow: 0 2px 8px rgba(11, 33, 74, .25); }
.cv-map .attr { position: absolute; right: 4px; bottom: 3px; font-size: 10px; background: rgba(255, 255, 255, .8); padding: 1px 5px; border-radius: 4px; z-index: 4; }
.lg { display: inline-block; width: 11px; height: 11px; border-radius: 50%; vertical-align: -1px; }
.lg-low { background: var(--danger); } .lg-mid { background: var(--warning); } .lg-high { background: var(--success); }

/* ---------- quality */
.cv-qcard { border-left: 4px solid var(--success); }
.cv-qcard.is-miss { border-left-color: var(--warning); }
.cv-qcard.is-dup { border-left-color: var(--danger); }
.cv-dups a { display: block; margin-top: 3px; }
.cv-qactions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cv-qactions .input { flex: 1 1 220px; width: auto; }
.cv-bulk { flex-wrap: wrap; gap: 8px; border-bottom: 1px solid var(--line); }
.cv-bulk .select, .cv-bulk .input { width: auto; }
.cv-axis { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.cv-axis:last-of-type { border-bottom: 0; padding-bottom: 0; }
.cv-axis-form { display: grid; gap: 6px; margin-top: 8px; }
.cv-market-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }

/* ---------- presentation */
.cv-slides-body { background: #DDE3EE; margin: 0; }
.cv-slides-bar { position: sticky; top: 0; z-index: 10; display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; background: var(--ink); color: #fff; }
.cv-slide { position: relative; width: min(1100px, calc(100vw - 32px)); aspect-ratio: 16 / 9; margin: 24px auto; background: #fff; border-radius: 14px; box-shadow: var(--shadow); padding: 46px 56px; box-sizing: border-box; overflow: hidden; display: flex; flex-direction: column; }
.cv-slide h2 { font: 600 1.9rem var(--font-display); color: var(--ink); margin: 0 0 22px; }
.cv-slide h3 { font: 600 1.05rem var(--font-display); color: var(--ink); margin: 0 0 12px; }
.cv-slide-cover { justify-content: center; background: linear-gradient(135deg, #fff 55%, var(--blue-50)); }
.cv-slide-cover .brandbar { position: absolute; inset: 0 0 auto 0; display: flex; height: 8px; }
.cv-slide-cover .brandbar span { flex: 1; } .brandbar span:nth-child(1) { background: var(--crimson); } .brandbar span:nth-child(2) { background: var(--blue); } .brandbar span:nth-child(3) { background: var(--green); }
.cv-slide-cover .logo { height: 70px; width: auto; align-self: flex-start; margin-bottom: 30px; }
.cv-slide-cover .kicker { font: 600 .9rem var(--font-tech); color: var(--crimson); letter-spacing: .06em; text-transform: uppercase; margin: 0; }
.cv-slide-cover h1 { font: 600 2.6rem/1.15 var(--font-display); color: var(--ink); margin: 10px 0 14px; max-width: 80%; }
.cv-slide-cover .sub { font-size: 1.25rem; color: var(--text-2); margin: 0; }
.cv-slide-cover .meta { margin-top: auto; color: var(--text-3); }
.cv-slide-hero { display: grid; grid-template-columns: 1fr 1.4fr; gap: 36px; align-items: center; flex: 1; }
.cv-slide-hero .big span { display: block; font: 600 5rem/1 var(--font-display); color: var(--crimson); }
.cv-slide-hero .big small { display: block; color: var(--text-2); margin: 8px 0; font-size: 1rem; }
.cv-slide-hero .progress { height: 12px; }
.cv-slide-hero .tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cv-slide-hero .tiles div { background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
.cv-slide-hero .tiles strong { display: block; font: 600 2rem var(--font-display); color: var(--ink); }
.cv-slide-hero .tiles span { font-size: .9rem; color: var(--text-2); }
.cv-slide .note { color: var(--text-2); margin: 16px 0 0; }
.cv-slide .chart { max-height: 45%; }
.cv-slide-table td { padding: 6px 10px; font-size: 14px; }
.cv-slide-markets { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.cv-slide-markets li { display: grid; grid-template-columns: 220px 1fr 200px; align-items: center; gap: 18px; font-size: 1.05rem; }
.cv-slide-markets .name small { display: block; color: var(--text-3); font-size: .85rem; }
.cv-slide-markets .track { height: 18px; background: var(--line); border-radius: 999px; overflow: hidden; }
.cv-slide-markets .bar { display: block; height: 100%; background: linear-gradient(90deg, var(--crimson), #E94A67); border-radius: 999px; min-width: 3px; }
.cv-slide-markets .val { text-align: right; }
.cv-slide-rank li { font-size: 1.05rem; padding: 8px 6px; }
.cv-slides-foot { text-align: center; padding: 10px 0 30px; }

@media (max-width: 1100px) {
  .cv-hero { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .cv-hero { grid-template-columns: 1fr; }
  .cv-entry-head h1 { font-size: 1.15rem; }
  .cv-progress { top: 56px; }
  .cv-funnel li, .cv-hbars li { grid-template-columns: 1fr auto; }
  .cv-funnel .track, .cv-hbars .track { grid-column: 1 / -1; grid-row: 2; }
  .cv-chips-col { grid-template-columns: 1fr; }
  .cv-slide { padding: 22px; aspect-ratio: auto; min-height: 60vh; }
  .cv-slide-hero { grid-template-columns: 1fr; }
  .cv-slide-markets li { grid-template-columns: 1fr; gap: 6px; }
}
@media print {
  @page { size: A4 landscape; margin: 0; }
  .cv-slides-bar, .cv-slides-foot { display: none; }
  .cv-slides-body { background: #fff; }
  .cv-slide { width: 297mm; height: 210mm; aspect-ratio: auto; margin: 0; border-radius: 0; box-shadow: none; page-break-after: always; break-after: page; }
}

/* ---------- market map (Leaflet): position and name of each woman */
.cv-mm { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.cv-mm-map { overflow: hidden; }
.cv-lmap { height: min(72vh, 680px); min-height: 380px; background: #E9EEF5; position: relative; z-index: 0; }
.cv-lmap .empty { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.cv-mm-list { max-height: min(78vh, 760px); display: flex; flex-direction: column; }
.cv-mm-list .card-head { padding: 12px; }
.cv-mm-items { list-style: none; margin: 0; padding: 4px 6px 8px; overflow: auto; }
.cv-mm-items li button { width: 100%; display: flex; gap: 10px; align-items: flex-start; text-align: left; background: none; border: 0; border-radius: 10px; padding: 8px 8px; cursor: pointer; color: inherit; font: inherit; }
.cv-mm-items li button:hover, .cv-mm-items li button:focus-visible { background: var(--surface-2); }
.cv-mm-items li .lg { margin-top: 4px; flex: none; }
.cv-mm-items strong { display: block; font-size: 14px; }
.cv-mm-items small { color: var(--text-3); }
.lg.cv-q-validee { background: #096A09; } .lg.cv-q-a_valider { background: #2C75FF; } .lg.cv-q-a_corriger { background: #B7791F; }
.lg.cv-q-imprecise { background: transparent; border: 2px dashed var(--text-3); }
.lg.cv-q-validee.cv-q-imprecise { background: #096A09; } .lg.cv-q-a_valider.cv-q-imprecise { background: #2C75FF; } .lg.cv-q-a_corriger.cv-q-imprecise { background: #B7791F; }
.lg.cv-q-validee.cv-q-imprecise, .lg.cv-q-a_valider.cv-q-imprecise, .lg.cv-q-a_corriger.cv-q-imprecise { border: 0; opacity: .45; }
.cv-name-tip { background: rgba(255, 255, 255, .94); border: 0; border-radius: 6px; box-shadow: 0 2px 6px rgba(11, 33, 74, .25); color: #0F2E65; font: 600 11.5px/1.2 var(--font); padding: 2px 6px; white-space: nowrap; }
.cv-name-tip::before { display: none; }
.cv-lmap:not(.show-names) .cv-name-tip { display: none; }
.cv-center span { display: block; width: 22px; height: 22px; border-radius: 50%; background: rgba(242, 13, 66, .18); border: 3px solid #F20D42; box-shadow: 0 0 0 4px rgba(255, 255, 255, .8); }
.cv-pop { display: grid; gap: 3px; font-family: var(--font); }
.cv-pop strong { font-size: 14px; color: #0F2E65; }
.cv-pop .btn { justify-self: start; color: #fff; }
.cv-mm.is-full .cv-mm-map { position: fixed; inset: 0; z-index: 1200; border-radius: 0; margin: 0; display: flex; flex-direction: column; }
.cv-mm.is-full .cv-lmap { flex: 1; height: auto; min-height: 0; }
html.cv-noscroll, html.cv-noscroll body { overflow: hidden; }
@media (max-width: 900px) {
  .cv-mm { grid-template-columns: 1fr; }
  .cv-lmap { height: 62vh; min-height: 320px; }
  .cv-mm-list { max-height: none; }
  .cv-mm-items { max-height: 50vh; }
}

/* ---------- sign-in of the teams + installation of the app */
.cv-install[hidden], .cv-install [hidden], .cv-installed[hidden] { display: none !important; }
.cv-note { display: flex; gap: 6px; align-items: flex-start; }
.cv-note .icon { width: 15px; height: 15px; margin-top: 2px; flex: none; }
.cv-login-head { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.cv-login-head img { width: 56px; height: 56px; border-radius: 14px; box-shadow: 0 6px 18px rgba(15, 46, 101, .25); flex: none; }
.cv-login-head h1 { margin: 0; font-size: 1.7rem; line-height: 1.1; }
.cv-login-head p { margin: 2px 0 0; }
.cv-login-kicker { font: 600 11px var(--font-tech); letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.cv-install { display: grid; gap: 10px; background: linear-gradient(135deg, #EEF4FF, #F8FAFE); border: 1px solid #CFE0FF; border-radius: 14px; padding: 14px; margin: 6px 0 16px; }
.cv-install-text { display: grid; gap: 2px; }
.cv-install-text strong { color: var(--ink); }
.cv-ios ol { margin: 6px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.cv-ios li { display: flex; gap: 10px; align-items: center; font-size: 14px; }
.cv-ios-share { width: 30px; height: 30px; flex: none; border-radius: 8px; background: #fff; border: 1px solid var(--line-2); display: grid; place-items: center; color: #2C75FF; }
.cv-ios-share svg { width: 18px; height: 18px; }
.cv-install-other { margin: 0; color: var(--text-2); }

/* ---------- public list of the caravans (site layout: site.css tokens) */
.cvl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 18px; margin-bottom: 26px; }
.cvl-card { display: grid; gap: 14px; padding: 22px; border-radius: 20px; background: var(--surface); border: 1px solid var(--line-2); color: var(--text); text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
.cvl-card:hover, .cvl-card:focus-visible { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(18, 15, 31, .12); border-color: var(--crimson); }
.cvl-top { display: flex; gap: 14px; align-items: center; }
.cvl-top img { width: 64px; height: 64px; border-radius: 16px; flex: none; box-shadow: 0 8px 20px rgba(15, 46, 101, .25); }
.cvl-name { display: block; font: 600 1.45rem/1.1 var(--font-display, inherit); }
.cvl-tag { display: block; color: var(--muted); margin-top: 3px; }
.cvl-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.cvl-meta .icon { width: 14px; height: 14px; }
.cvl-markets { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cvl-markets small { width: 100%; color: var(--dim); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.cvl-markets span { padding: 4px 10px; border-radius: 999px; background: var(--surface-2); font-size: .86rem; }
.cvl-go { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 16px; border-radius: 999px; background: var(--crimson); color: #fff; font-weight: 600; }
.cvl-go .icon { width: 18px; height: 18px; }
.cvl-partners { font-size: .8rem; color: var(--dim); text-align: center; }
.cvl-how ol { list-style: none; margin: 12px 0 14px; padding: 0; display: grid; gap: 12px; }
.cvl-how li { display: flex; gap: 12px; align-items: flex-start; }
.cvl-how li span { width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--crimson); color: #fff; font-weight: 600; }
.cvl-how li p { margin: 4px 0 0; }
.cvl-empty { display: grid; place-items: center; gap: 8px; text-align: center; padding: 40px 20px; }
.cv-inline-link { display: inline-flex; gap: 5px; align-items: center; }
.cv-inline-link .icon { width: 15px; height: 15px; }
.cvl-top img, .cv-login-head img, .cv-logo-prev { object-fit: contain; background: #fff; padding: 4px; }
.cv-logo-prev { width: 48px; height: 48px; border-radius: 12px; border: 1px solid var(--line); flex: none; }
.cv-logo-field input[type=file] { min-width: 0; flex: 1; }
