/* Manda CV Já — um serviço Kumbeza. CSS único, mobile-first, sem framework. */

:root{
  --kb-primary:#E8630C;--kb-primary-dark:#B8500D;--kb-primary-soft:#fef3ea;--kb-primary-line:#f6cfae;
  --kb-success:#0a7d5c;--kb-success-dark:#075f46;--kb-success-soft:#e6f6ef;
  --kb-warn:#9a5b00;--kb-warn-soft:#fff5e0;
  --kb-danger:#b3261e;--kb-danger-soft:#fdecea;
  --kb-ink:#2a2320;--kb-ink-2:#5b524c;--kb-ink-3:#8b817a;
  --kb-bg:#fff;--kb-surface:#faf7f4;--kb-line:#ece5df;
  --kb-radius:12px;--kb-radius-s:8px;--kb-max:1040px;--kb-tabbar:62px;
  --kb-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;font-family:var(--kb-font);font-size:16px;line-height:1.5;color:var(--kb-ink);background:var(--kb-bg);padding-bottom:calc(var(--kb-tabbar) + env(safe-area-inset-bottom,0px))}
img,svg{max-width:100%;display:block}
a{color:var(--kb-primary-dark);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:1.65rem}h2{font-size:1.3rem}h3{font-size:1.05rem}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--kb-primary);outline-offset:2px;border-radius:4px}
button,input,select,textarea{font:inherit;color:inherit}
.kb-container{max-width:var(--kb-max);margin:0 auto;padding:0 16px}
.kb-section{padding:24px 0}
.kb-section+.kb-section{border-top:1px solid var(--kb-line)}
.kb-muted{color:var(--kb-ink-2)}
.kb-small{font-size:.875rem}
.kb-hint{font-size:.85rem;color:var(--kb-ink-3);margin:.35em 0 0}
.kb-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kb-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.kb-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.kb-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header ---------------------------------------------------------------- */
.kb-header{position:sticky;top:0;z-index:20;background:var(--kb-bg);border-bottom:1px solid var(--kb-line)}
.kb-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.kb-logo{display:flex;flex-direction:column;line-height:1;color:var(--kb-ink);text-decoration:none}
.kb-logo strong{font-size:1.25rem;font-weight:800;color:var(--kb-primary);letter-spacing:-.02em}
.kb-logo span{font-size:.7rem;color:var(--kb-ink-3);margin-top:3px}
.kb-logo:hover{text-decoration:none}
.kb-nav{display:none;gap:4px;align-items:center}
.kb-nav a{padding:8px 12px;border-radius:var(--kb-radius-s);color:var(--kb-ink-2);font-weight:500}
.kb-nav a:hover,.kb-nav a[aria-current=page]{background:var(--kb-surface);color:var(--kb-ink);text-decoration:none}
.kb-header-actions{display:flex;gap:8px;align-items:center}

/* Barra inferior (app-like), só em ecrãs pequenos -------------------------- */
.kb-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--kb-bg);border-top:1px solid var(--kb-line);padding-bottom:env(safe-area-inset-bottom,0px)}
.kb-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--kb-tabbar);font-size:.68rem;color:var(--kb-ink-3);text-decoration:none}
.kb-tabbar a svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kb-tabbar a[aria-current=page]{color:var(--kb-primary)}
.kb-tabbar a[aria-current=page] svg{stroke-width:2.2}

/* Botões ------------------------------------------------------------------ */
.kb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--kb-radius-s);border:1px solid transparent;font-weight:600;cursor:pointer;text-decoration:none;background:var(--kb-surface);color:var(--kb-ink);transition:background .15s}
.kb-btn:hover{text-decoration:none;background:#f2ece6}
.kb-btn-primary{background:var(--kb-primary);color:#fff}
.kb-btn-primary:hover{background:var(--kb-primary-dark)}
.kb-btn-outline{background:transparent;border-color:var(--kb-primary);color:var(--kb-primary-dark)}
.kb-btn-outline:hover{background:var(--kb-primary-soft)}
.kb-btn-ghost{background:transparent;color:var(--kb-ink-2)}
.kb-btn-ghost:hover{background:var(--kb-surface)}
.kb-btn-success{background:var(--kb-success);color:#fff}
.kb-btn-success:hover{background:var(--kb-success-dark)}
.kb-btn-whatsapp{background:#25D366;color:#fff}
.kb-btn-whatsapp:hover{filter:brightness(1.06)}
.kb-btn-danger{background:transparent;color:var(--kb-danger);border-color:#f1c4c0}
.kb-btn-danger:hover{background:var(--kb-danger-soft)}
.kb-btn-sm{min-height:36px;padding:6px 12px;font-size:.875rem}
.kb-btn-block{width:100%}
.kb-btn[disabled]{opacity:.55;cursor:default}
.kb-inline-form{display:inline}

/* Flash ------------------------------------------------------------------- */
.kb-flash{margin:12px auto 0;padding:12px 14px;border-radius:var(--kb-radius-s);font-weight:500}
.kb-flash-success{background:var(--kb-success-soft);color:var(--kb-success-dark)}
.kb-flash-error{background:var(--kb-danger-soft);color:var(--kb-danger)}

/* Hero (página inicial) --------------------------------------------------- */
.kb-hero{background:var(--kb-surface);padding:28px 0 26px}
.kb-hero h1{font-size:clamp(1.7rem,5vw,2.4rem);margin-bottom:6px;max-width:22ch}
.kb-hero p{max-width:56ch;color:var(--kb-ink-2);margin-bottom:18px}
.kb-search{display:flex;gap:8px;background:var(--kb-bg);border:2px solid var(--kb-primary);border-radius:14px;padding:6px;max-width:560px;box-shadow:0 6px 24px rgba(232,99,12,.12)}
.kb-search input{flex:1;min-width:0;border:0;background:transparent;font-size:1.05rem;padding:8px 10px;outline:none}
.kb-search button{flex-shrink:0}
.kb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.kb-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid var(--kb-line);background:var(--kb-bg);color:var(--kb-ink-2);font-size:.9rem;cursor:pointer;text-decoration:none}
.kb-chip:hover,.kb-chip[aria-current=true]{border-color:var(--kb-primary);color:var(--kb-primary-dark);background:var(--kb-primary-soft);text-decoration:none}
.kb-hero-meta{margin-top:14px;font-size:.9rem;color:var(--kb-ink-3)}

/* Passos (sequência real: 1→5) ------------------------------------------- */
.kb-steps{display:grid;gap:10px;grid-template-columns:1fr;counter-reset:step;list-style:none;margin:0;padding:0}
.kb-steps li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--kb-line);border-radius:var(--kb-radius);background:var(--kb-bg)}
.kb-steps li::before{counter-increment:step;content:counter(step);flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--kb-primary);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.kb-steps strong{display:block}
.kb-steps span{font-size:.9rem;color:var(--kb-ink-2)}

/* Bandeiras (SVG — os emojis de bandeira não aparecem no Windows) ----------- */
img.kb-flag{display:inline-block;width:20px;height:15px;border-radius:2px;vertical-align:-2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
span.kb-flag{display:inline-block;line-height:1}
.kb-country-note{display:block;font-size:.8rem;color:var(--kb-ink-3);margin-top:4px;line-height:1.4}
.kb-country-grid-wide{grid-template-columns:1fr}
.kb-country-grid-wide .kb-country{align-items:flex-start}
.kb-country-grid-wide .kb-country .kb-flag{margin-top:2px}

/* Países ------------------------------------------------------------------ */
.kb-country-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.kb-country{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--kb-line);border-radius:var(--kb-radius);background:var(--kb-bg);color:var(--kb-ink);text-decoration:none;min-height:64px}
.kb-country:hover{border-color:var(--kb-primary);text-decoration:none}
.kb-country .kb-flag{width:36px;height:27px;flex-shrink:0}
.kb-country strong{display:block;font-size:.95rem}
.kb-country span{font-size:.82rem;color:var(--kb-ink-3)}
.kb-country-more-title{margin:32px 0 2px;font-size:1.05rem}
.kb-country-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.kb-country-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--kb-surface);color:var(--kb-ink-3);font-size:.85rem}
.kb-country-hero{display:flex;gap:14px;align-items:center;padding:18px 0}
.kb-country-hero .kb-flag{width:64px;height:48px;flex-shrink:0}

/* Áreas ------------------------------------------------------------------- */
.kb-area-grid{display:flex;flex-wrap:wrap;gap:8px}

/* Grelha de oportunidades (2 colunas móvel · 3 tablet · 4 desktop) --------- */
.kb-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}
.kb-opp{display:flex;flex-direction:column;height:100%;border:1px solid var(--kb-line);border-radius:var(--kb-radius);background:var(--kb-bg);color:var(--kb-ink);text-decoration:none;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.kb-opp:hover{border-color:var(--kb-primary-line);box-shadow:0 4px 14px rgba(42,35,32,.08);text-decoration:none}
.kb-opp-visual{position:relative;aspect-ratio:4/3;background:linear-gradient(180deg,#f4f0ec,#ece6e0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px}
.kb-opp-visual .kb-flag-lg{width:46%;max-width:96px;height:auto;aspect-ratio:4/3;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.kb-opp-country{font-size:.78rem;font-weight:600;color:var(--kb-ink-2)}
.kb-opp-tag{position:absolute;top:8px;font-size:.66rem;font-weight:700;padding:3px 7px;border-radius:6px;color:#fff;letter-spacing:.01em}
.kb-opp-tag-ok{left:8px;background:var(--kb-success)}
.kb-opp-tag-premium{right:8px;background:var(--kb-primary)}
.kb-opp-visual .kb-compat-pill{position:absolute;bottom:8px;left:8px;font-size:.68rem;padding:2px 8px;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.kb-opp-body{display:flex;flex-direction:column;gap:4px;flex:1;padding:10px 10px 12px}
.kb-opp h3{margin:0;font-size:.95rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kb-opp-company{font-size:.82rem;color:var(--kb-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-opp-icons{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.kb-opp-icons span{font-size:.68rem;padding:2px 6px;border-radius:5px;background:var(--kb-surface);border:1px solid var(--kb-line);color:var(--kb-ink-2);white-space:nowrap}
.kb-opp-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-size:.78rem;color:var(--kb-ink-3)}
.kb-opp-meta>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-opp-views{display:inline-flex;align-items:center;gap:3px;flex-shrink:0}
.kb-opp-views svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kb-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.kb-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:.76rem;font-weight:600;background:var(--kb-surface);color:var(--kb-ink-2);border:1px solid var(--kb-line)}
.kb-badge-ok{background:var(--kb-success-soft);color:var(--kb-success-dark);border-color:transparent}
.kb-badge-info{background:#e8f1fb;color:#1a4f8a;border-color:transparent}
.kb-badge-warn{background:var(--kb-warn-soft);color:var(--kb-warn);border-color:transparent}
.kb-badge-premium{background:var(--kb-primary-soft);color:var(--kb-primary-dark);border-color:transparent}
.kb-opp-company,.kb-opp-place{color:var(--kb-ink-2)}

/* Compatibilidade --------------------------------------------------------- */
.kb-compat-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}
.kb-compat-alta{background:var(--kb-success-soft);color:var(--kb-success-dark)}
.kb-compat-media{background:var(--kb-warn-soft);color:var(--kb-warn)}
.kb-compat-baixa{background:var(--kb-surface);color:var(--kb-ink-2)}
.kb-compat{border:1px solid var(--kb-line);border-radius:var(--kb-radius);padding:14px;background:var(--kb-surface)}
.kb-compat ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.kb-compat li{display:flex;gap:8px;align-items:flex-start;font-size:.93rem}
.kb-compat li::before{content:"✅";flex-shrink:0}
.kb-compat li.kb-no::before{content:"⚠️"}
.kb-compat li.kb-neutral{color:var(--kb-ink-3)}
.kb-compat li.kb-neutral::before{content:"ℹ️"}

/* Cartões / caixas -------------------------------------------------------- */
.kb-card{border:1px solid var(--kb-line);border-radius:var(--kb-radius);padding:16px;background:var(--kb-bg)}
.kb-card+.kb-card{margin-top:12px}
.kb-card h2,.kb-card h3{margin-top:0}
.kb-notice{border-radius:var(--kb-radius);padding:14px 16px;background:var(--kb-warn-soft);color:#5d3a00;border-left:4px solid var(--kb-warn)}
.kb-notice-danger{background:var(--kb-danger-soft);color:#7a1a14;border-left-color:var(--kb-danger)}
.kb-notice-info{background:var(--kb-primary-soft);color:#6b3406;border-left-color:var(--kb-primary)}
.kb-notice p:last-child{margin-bottom:0}
.kb-lock{border:2px dashed var(--kb-primary-line);border-radius:var(--kb-radius);padding:18px;background:var(--kb-primary-soft);text-align:center}
.kb-lock h3{margin-bottom:6px}
.kb-lock p{color:var(--kb-ink-2);margin-bottom:12px}

/* Detalhe de oportunidade ------------------------------------------------- */
.kb-detail-head{padding:20px 0 14px}
.kb-detail-head h1{margin-bottom:4px}
.kb-detail-grid{display:grid;gap:16px}
.kb-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0;padding:0;list-style:none}
.kb-facts li{font-size:.92rem}
.kb-facts b{display:block;font-size:.76rem;font-weight:600;color:var(--kb-ink-3);margin-bottom:1px}
.kb-prose p{margin-bottom:.8em}
.kb-apply{border:1px solid var(--kb-success);border-radius:var(--kb-radius);padding:16px;background:var(--kb-success-soft)}
.kb-apply h2{color:var(--kb-success-dark)}
.kb-apply code{display:inline-block;background:#fff;padding:2px 8px;border-radius:6px;font-family:inherit;font-weight:600;word-break:break-all}
.kb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.kb-sticky-cta{margin-top:12px}
/* Barra de acção fixa (só móvel) acima da tabbar */
.kb-fab{position:fixed;left:0;right:0;bottom:calc(var(--kb-tabbar) + env(safe-area-inset-bottom,0px));z-index:25;padding:8px 16px;background:rgba(255,255,255,.96);border-top:1px solid var(--kb-line);backdrop-filter:blur(6px)}
.kb-fab .kb-btn{width:100%}
.kb-fab-space{height:64px}

/* Formulários ------------------------------------------------------------- */
.kb-form{max-width:560px}
.kb-field{margin-bottom:14px}
.kb-field label{display:block;font-weight:600;margin-bottom:5px;font-size:.95rem}
.kb-field input:not([type=checkbox]):not([type=radio]),.kb-field select,.kb-field textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d8cfc7;border-radius:var(--kb-radius-s);background:#fff}
.kb-field textarea{min-height:110px;resize:vertical}
.kb-field input:focus,.kb-field select:focus,.kb-field textarea:focus{border-color:var(--kb-primary);outline:none;box-shadow:0 0 0 3px rgba(232,99,12,.18)}
.kb-check{display:flex;gap:10px;align-items:flex-start;padding:10px 0;font-size:.95rem}
.kb-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--kb-primary);flex-shrink:0}
.kb-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px}
.kb-check-grid .kb-check{padding:6px 0}
.kb-grid-2{display:grid;gap:0 12px;grid-template-columns:1fr 1fr}
.kb-fieldset{border:1px solid var(--kb-line);border-radius:var(--kb-radius);padding:16px;margin:0 0 16px}
.kb-fieldset legend{font-weight:700;padding:0 6px}
.kb-radio-cards{display:grid;gap:8px}
.kb-radio-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--kb-line);border-radius:var(--kb-radius-s);cursor:pointer}
.kb-radio-card:has(input:checked){border-color:var(--kb-primary);background:var(--kb-primary-soft)}
.kb-radio-card input{accent-color:var(--kb-primary);width:20px;height:20px}
.kb-progress{height:8px;background:var(--kb-line);border-radius:99px;overflow:hidden}
.kb-progress span{display:block;height:100%;background:var(--kb-success);border-radius:99px}

/* Conta ------------------------------------------------------------------- */
.kb-account-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:20px 0 12px}
.kb-plan-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--kb-surface);color:var(--kb-ink-2)}
.kb-plan-premium{background:var(--kb-primary);color:#fff}
.kb-quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.kb-quick a{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--kb-line);border-radius:var(--kb-radius);color:var(--kb-ink);text-decoration:none}
.kb-quick a:hover{border-color:var(--kb-primary)}
.kb-quick strong{font-size:.95rem}
.kb-quick span{font-size:.82rem;color:var(--kb-ink-3)}
.kb-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--kb-line)}
.kb-item:first-of-type{border-top:0}
.kb-item strong{display:block}
.kb-item span{font-size:.88rem;color:var(--kb-ink-2)}
.kb-status{display:inline-block;padding:3px 9px;border-radius:6px;font-size:.78rem;font-weight:600;background:var(--kb-surface);color:var(--kb-ink-2)}
.kb-status-enviada,.kb-status-em_analise{background:#e8f1fb;color:#1a4f8a}
.kb-status-entrevista{background:var(--kb-warn-soft);color:var(--kb-warn)}
.kb-status-positiva,.kb-status-paid{background:var(--kb-success-soft);color:var(--kb-success-dark)}
.kb-status-negativa,.kb-status-failed,.kb-status-cancelled{background:var(--kb-danger-soft);color:var(--kb-danger)}
.kb-status-pending{background:var(--kb-warn-soft);color:var(--kb-warn)}
.kb-status-reverted{background:var(--kb-surface);color:var(--kb-ink-2);border:1px solid var(--kb-line)}
.kb-status-published{background:var(--kb-success-soft);color:var(--kb-success-dark)}
.kb-copy-box{position:relative;border:1px solid var(--kb-line);border-radius:var(--kb-radius);padding:12px;background:var(--kb-surface);white-space:pre-wrap;font-size:.93rem;line-height:1.55}

/* Premium ----------------------------------------------------------------- */
.kb-plans{display:grid;gap:12px}
.kb-plan{border:1px solid var(--kb-line);border-radius:var(--kb-radius);padding:18px}
.kb-plan-featured{border:2px solid var(--kb-primary);position:relative}
.kb-plan-price{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.kb-plan-price small{font-size:.9rem;font-weight:500;color:var(--kb-ink-2)}
.kb-plan ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.kb-plan li{display:flex;gap:8px;font-size:.93rem}
.kb-plan li::before{content:"✓";color:var(--kb-success);font-weight:700}
.kb-pay-steps{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.85rem;color:var(--kb-ink-2)}
.kb-pay-steps span{background:var(--kb-surface);padding:4px 8px;border-radius:6px}
.kb-pay-methods{display:grid;gap:10px}
.kb-pay-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 18px;border-radius:var(--kb-radius);border:none;font-size:1.05rem;font-weight:700;letter-spacing:.01em;color:#fff;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.kb-pay-btn:active{transform:translateY(1px)}
.kb-pay-btn svg{flex:none;width:26px;height:26px}
.kb-pay-btn small{display:block;font-size:.72rem;font-weight:500;opacity:.9;letter-spacing:0}
.kb-pay-btn-mpesa{background:#D30102}
.kb-pay-btn-mpesa:hover{filter:brightness(1.08);box-shadow:0 4px 12px rgba(211,1,2,.3)}
.kb-pay-btn-emola{background:#E65100}
.kb-pay-btn-emola:hover{filter:brightness(1.08);box-shadow:0 4px 12px rgba(230,81,0,.3)}
@media (min-width:560px){.kb-pay-methods{grid-template-columns:1fr 1fr}}
/* Página inicial — o que a plataforma tem, em números reais. O número grande vai à frente; "só as
   confirmadas" é uma ACÇÃO (um filtro), nunca uma pontuação ao lado de números maiores. */
.kb-proof{background:var(--kb-surface);border:1px solid var(--kb-line);border-radius:var(--kb-radius);padding:18px;display:grid;gap:14px}
.kb-proof-head{display:flex;align-items:center;gap:14px}
.kb-proof-num{font-size:2.8rem;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--kb-primary-dark)}
.kb-proof-head strong{display:block;font-size:1.05rem}
.kb-proof-head span{font-size:.9rem;color:var(--kb-ink-2)}
.kb-proof-actions{display:grid;gap:10px}
.kb-proof-note{margin:0;font-size:.85rem;line-height:1.55;color:var(--kb-ink-2)}
.kb-proof-fresh{color:var(--kb-ink-3)}
@media (min-width:640px){
  .kb-proof{grid-template-columns:1fr auto;align-items:center;column-gap:24px}
  .kb-proof-actions{grid-template-columns:auto auto}
  .kb-proof-note{grid-column:1/-1}
}

/* Pré-visualização de emails (Admin → Campanhas): texto simples, tal como chega */
.kb-pre{margin:0;padding:12px 14px;background:var(--kb-surface);border:1px solid var(--kb-line);border-radius:var(--kb-radius);font:inherit;font-size:.88rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}

/* Assistente guiado ("Que trabalho sabe fazer?") — botões grandes, uma pergunta de cada vez */
.kb-container-narrow{max-width:460px}
.kb-wizard{padding:28px 0 48px}
.kb-wizard-progress{display:flex;gap:8px;justify-content:center;margin-bottom:28px}
.kb-wizard-dot{width:10px;height:10px;border-radius:50%;background:var(--kb-line);transition:background .15s}
.kb-wizard-dot.is-active{background:var(--kb-primary)}
.kb-wizard-step h1{font-size:1.3rem;text-align:center;margin:0 0 20px}
.kb-wizard-options{display:grid;gap:12px}
.kb-wizard-options button{min-height:56px;padding:14px 18px;border-radius:var(--kb-radius);border:2px solid var(--kb-primary);background:var(--kb-primary);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;transition:transform .06s ease,filter .15s ease}
.kb-wizard-options button:active{transform:translateY(1px)}
.kb-wizard-options button:hover{filter:brightness(1.08)}
.kb-wizard-options button.kb-wizard-outline{background:#fff;color:var(--kb-primary)}
.kb-wizard-back{background:none;border:none;color:var(--kb-ink-3);font-size:.9rem;cursor:pointer;padding:0 0 16px;display:block}
.kb-wizard-skip{text-align:center;margin-top:28px;font-size:.9rem}
.kb-hero-or{margin:10px 0 0;font-size:.95rem}
.kb-wizard-cta{margin-top:28px;text-align:center}
.kb-wizard-cta h3{margin:0 0 6px}
@media (min-width:480px){.kb-wizard-options{grid-template-columns:1fr 1fr}.kb-wizard-options button.kb-wizard-outline{grid-column:1/-1}}

.kb-pay-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 16px;text-align:center}
.kb-pay-loading[hidden]{display:none}
.kb-pay-loading p{margin:0;line-height:1.5}
.kb-spinner{width:40px;height:40px;border-radius:50%;border:4px solid var(--kb-line);border-top-color:var(--kb-primary);animation:kb-spin .8s linear infinite}
@keyframes kb-spin{to{transform:rotate(360deg)}}

/* Paginação --------------------------------------------------------------- */
.kb-pager{display:flex;justify-content:center;gap:8px;margin-top:18px}
.kb-pager a,.kb-pager span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--kb-line);border-radius:var(--kb-radius-s);text-decoration:none}
.kb-pager span{color:var(--kb-ink-3)}

/* Filtros ----------------------------------------------------------------- */
.kb-filters{display:grid;gap:8px;grid-template-columns:1fr;margin:14px 0}
.kb-filters select,.kb-filters input:not([type=checkbox]){min-height:44px;padding:8px 10px;border:1px solid #d8cfc7;border-radius:var(--kb-radius-s);background:#fff;width:100%}

/* Footer ------------------------------------------------------------------ */
.kb-footer{margin-top:32px;padding:24px 0 20px;border-top:1px solid var(--kb-line);background:var(--kb-surface);font-size:.9rem;color:var(--kb-ink-2)}
.kb-footer-nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 12px}
.kb-footer-copy{font-size:.8rem;color:var(--kb-ink-3);margin:0}

/* Auth -------------------------------------------------------------------- */
.kb-auth{max-width:440px;margin:0 auto;padding:28px 0}
.kb-auth h1{margin-bottom:4px}
.kb-auth .kb-lead{color:var(--kb-ink-2);margin-bottom:18px}
.kb-auth-switch{margin-top:16px;text-align:center;font-size:.93rem}

/* Admin ------------------------------------------------------------------- */
.kb-admin body{padding-bottom:0}
.kb-admin-bar{background:var(--kb-ink);color:#fff}
.kb-admin-bar .kb-container{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:54px;padding-top:6px;padding-bottom:6px}
.kb-admin-bar a{color:#fff;padding:6px 10px;border-radius:6px;font-size:.9rem;opacity:.9}
.kb-admin-bar a:hover,.kb-admin-bar a[aria-current=page]{background:rgba(255,255,255,.14);text-decoration:none;opacity:1}
.kb-admin-bar strong{margin-right:auto;font-size:1rem}
.kb-admin-bar strong a{color:var(--kb-primary);padding:0}
.kb-table-wrap{overflow-x:auto;border:1px solid var(--kb-line);border-radius:var(--kb-radius)}
.kb-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
.kb-table th,.kb-table td{padding:10px 12px;border-bottom:1px solid var(--kb-line);text-align:left;vertical-align:top}
.kb-table th{background:var(--kb-surface);font-weight:600;font-size:.82rem}
.kb-table tr:last-child td{border-bottom:0}
.kb-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.kb-stat{border:1px solid var(--kb-line);border-radius:var(--kb-radius);padding:14px}
.kb-stat b{display:block;font-size:1.6rem;letter-spacing:-.02em}
.kb-stat span{font-size:.85rem;color:var(--kb-ink-2)}
.kb-stat-highlight{border-color:var(--kb-primary);background:var(--kb-primary-soft)}
.kb-admin-form{max-width:760px}

/* Responsivo -------------------------------------------------------------- */
@media (min-width:640px){
  .kb-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .kb-country-grid{grid-template-columns:repeat(3,1fr)}
  .kb-country-grid-wide{grid-template-columns:repeat(2,1fr)}
  .kb-steps{grid-template-columns:repeat(5,1fr)}
  .kb-steps li{flex-direction:column;gap:8px}
  .kb-quick{grid-template-columns:repeat(4,1fr)}
  .kb-filters{grid-template-columns:2fr 1fr 1fr auto}
  .kb-plans{grid-template-columns:1fr 1fr}
  .kb-stats{grid-template-columns:repeat(4,1fr)}
  .kb-facts{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  body{padding-bottom:0}
  .kb-nav{display:flex}
  .kb-tabbar{display:none}
  .kb-fab,.kb-fab-space{display:none}
  .kb-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .kb-country-grid{grid-template-columns:repeat(5,1fr)}
  .kb-country-grid-wide{grid-template-columns:repeat(3,1fr)}
  .kb-detail-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
  .kb-detail-side{position:sticky;top:76px}
  h1{font-size:1.9rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Login com Google: botão de marca (fundo claro, borda cinzenta), separador "ou" e nota legal */
.kb-btn-google{background:#fff;border-color:#747775;color:#1f1f1f;font-weight:500;gap:12px;min-height:48px}
.kb-btn-google:hover{background:#f8f9fa;box-shadow:0 1px 2px rgba(60,64,67,.3)}
.kb-btn-google svg{width:20px;height:20px;flex:none}
.kb-auth-legal{margin:10px 0 0;font-size:.8125rem;color:var(--kb-ink-3);text-align:center}
.kb-or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--kb-ink-3);font-size:.875rem}
.kb-or::before,.kb-or::after{content:"";flex:1;height:1px;background:var(--kb-line)}

/* Ficha da oferta — rótulo em cima, valor a negrito, como na página de origem (v=12) */
.kb-ficha h3.kb-ficha-group{font-size:1rem;color:var(--kb-primary-dark);margin:18px 0 2px;text-transform:uppercase;letter-spacing:.03em}
.kb-ficha h3.kb-ficha-group:first-child{margin-top:2px}
.kb-ficha h4.kb-ficha-title{font-size:.98rem;color:var(--kb-ink);margin:12px 0 2px}
.kb-ficha-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:6px 0 10px;padding:0 0 12px;border-bottom:1px solid var(--kb-line)}
.kb-ficha-item dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:var(--kb-ink-3)}
.kb-ficha-item dd{margin:2px 0 0;font-weight:700;color:var(--kb-ink);overflow-wrap:anywhere}
@media (max-width:640px){.kb-ficha-grid{grid-template-columns:1fr}}

/* Descrições com estrutura: listas, títulos e parágrafos (View::rich) — v=13 */
.kb-prose ul{list-style:disc;margin:.2em 0 .9em;padding-left:1.35em}
.kb-prose ol{list-style:decimal;margin:.2em 0 .9em;padding-left:1.5em}
.kb-prose li{margin:.25em 0}
.kb-prose h3.kb-subhead{font-size:1rem;margin:1em 0 .3em;color:var(--kb-ink)}

/* Visto e mudança (a vaga diz que a empresa pode patrocinar o visto / apoiar a mudança) — v=14 */
.kb-badge-visa{background:#e7f6ec;color:#17613a;border-color:transparent}
.kb-visa-box{border-left:4px solid #2e9e5b;background:#f6fbf8}
.kb-visa-box h2{margin-top:0}
.kb-visa-list{margin:6px 0 10px;padding-left:20px}
.kb-visa-list li{margin:4px 0}
.kb-visa-quote{margin:10px 0;padding:10px 14px;background:#fff;border:1px solid #d7ebdf;border-radius:8px;font-size:.92rem;color:#2b3a33}
.kb-visa-quote footer{margin-top:6px;font-size:.78rem;color:#6a7a72}


/* Partilha por WhatsApp: «Conheces alguém que faz este trabalho?» — faixa na vaga e botão nos cartões — v=15.
   O verde é mais escuro do que o do WhatsApp de propósito: texto branco sobre #25D366 não tem contraste suficiente. */
.kb-share{display:flex;align-items:center;gap:12px 14px;flex-wrap:wrap;margin:14px 0 2px;padding:14px 16px;border:2px solid #1f9d57;border-radius:var(--kb-radius);background:#effbf3}
.kb-share-icon{width:36px;height:36px;flex:none;fill:none;stroke:#0f7a40;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kb-share-text{flex:1 1 230px;min-width:0}
.kb-share-title{margin:0;font-weight:800;font-size:1.08rem;line-height:1.25;color:var(--kb-ink)}
.kb-share-sub{margin:3px 0 0;font-size:.9rem;color:var(--kb-ink-2)}
.kb-btn-share{flex:1 1 100%;background:#0f7a40;color:#fff;font-size:1.02rem}
.kb-btn-share:hover{background:#0b5f31;color:#fff}
.kb-opp-item{position:relative}
.kb-opp-item .kb-opp-meta{padding-right:38px}
.kb-opp-share{position:absolute;right:8px;bottom:7px;width:32px;height:32px;border-radius:50%;background:#0f7a40;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.kb-opp-share:hover{background:#0b5f31;text-decoration:none}
.kb-opp-share svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:640px){.kb-btn-share{flex:0 0 auto}}

/* Caminho de pão («Início › Portugal › Motoristas»), texto de abertura das páginas por país/área e convite aos alertas — v=16 */
.kb-crumbs{margin:0 0 10px}
.kb-crumbs ol{display:flex;flex-wrap:wrap;gap:2px 0;margin:0;padding:0;list-style:none;font-size:.85rem;color:var(--kb-ink-3)}
.kb-crumbs li{display:flex;align-items:center;min-width:0;max-width:100%}
.kb-crumbs li+li::before{content:"›";margin:0 8px;color:var(--kb-ink-3)}
.kb-crumbs a{color:var(--kb-ink-2)}
.kb-crumbs [aria-current=page]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-landing-lead{font-size:1.02rem;color:var(--kb-ink-2);margin:6px 0 16px;max-width:70ch}
.kb-chip-title{margin:22px 0 8px;font-size:1rem}
.kb-alert-cta{margin-top:24px}
.kb-alert-cta h2{margin-top:0}
