*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Inter,system-ui;
background:#f6f8fb;
color:#111827;
}

/* =========================
   HEADER FIXO
========================= */
.topbar{
position:fixed;
top:0;
left:0;
width:100%;
background:#1877f2;
color:#fff;
z-index:1000;
box-shadow:0 2px 8px rgba(0,0,0,0.15);
}

.topbar .wrap{
max-width:900px;
margin:auto;
padding:12px 14px;
}

.topbar h1{font-size:16px;font-weight:600}
.topbar p{font-size:12px;color:rgba(255,255,255,0.85)}

.page{margin-top:70px}

.wrap{
max-width:900px;
margin:auto;
padding:20px 14px;
}

/* =========================
   CARD
========================= */
.card{
background:#fff;
border-radius:16px;
padding:22px;
box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

/* =========================
   BLOCO
========================= */
.block{
margin-bottom:28px;
padding:24px 14px 18px 14px;
border:1px solid #e5e7eb;
border-radius:14px;
background:#fff;
}

.block legend{
font-size:12px;
text-transform:uppercase;
color:#6b7280;
padding:2px 10px;
border:1px solid #e5e7eb;
border-radius:999px;
background:#fff;
}

/* =========================
   GRID (mais espaço Dados)
========================= */
.grid{
display:grid;
gap:22px;
margin-top:14px;
}

/* =========================
   FLOATING LABEL
========================= */
.floating{
position:relative;
width:100%;
}

.floating input,
.floating select,
.floating textarea{
width:100%;
padding:18px 12px 8px 12px;
border-radius:12px;
border:1px solid #d1d5db;
background:#fff;
font-size:14px;
color:#111827;
-webkit-appearance:none;
appearance:none;
}

/* =========================
   FOCO CONTROLADO (SEM NAVEGADOR)
========================= */
input:focus,
select:focus,
textarea:focus{
outline:none !important;
border-color:#1877f2;
box-shadow:0 0 0 3px rgba(24,119,242,0.15);
}

/* autofill limpo */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill{
-webkit-box-shadow:0 0 0px 1000px #fff inset !important;
box-shadow:0 0 0px 1000px #fff inset !important;
-webkit-text-fill-color:#111827 !important;
transition:background-color 9999s ease-in-out 0s;
}

/* remove highlight mobile */
*{
-webkit-tap-highlight-color:transparent;
}

/* =========================
   LABEL FLOAT
========================= */
.floating label{
position:absolute;
left:10px;
top:16px;
font-size:13px;
color:#6b7280;
background:#fff;
padding:0 6px;
transition:.2s;
pointer-events:none;
}

.floating input:focus + label,
.floating input:not(:placeholder-shown) + label,
.floating textarea:focus + label,
.floating textarea:not(:placeholder-shown) + label,
.floating select:valid + label{
top:-8px;
font-size:11px;
color:#1877f2;
}

/* =========================
   DOCUMENTO
========================= */
.doc{
display:flex;
gap:10px;
width:100%;
}

.doc .doc-num{flex:1}
.doc .doc-tipo{min-width:95px;max-width:110px}

/* =========================
   TELEFONE
========================= */
.item{
position:relative;
margin-bottom:10px;
width:100%;
}

.item input{
padding-right:36px;
}

/* =========================
   VEÍCULOS
========================= */
.veiculo{
display:flex;
gap:10px;
align-items:center;
margin-bottom:12px;
}

.veiculo .placa{width:110px}
.veiculo .modelo{flex:1}

/* =========================
   BOTÃO DELETAR (VERMELHO)
========================= */
.remove-btn{
position:absolute;
right:8px;
top:50%;
transform:translateY(-50%);
width:24px;
height:24px;
border:none;
border-radius:6px;
background:#fee2e2;
color:#ef4444;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
font-size:14px;
}

.remove-btn:hover{
background:#ef4444;
color:#fff;
}

/* =========================
   BOTÕES
========================= */
.btn-add-full{
width:100%;
margin-top:12px;
padding:12px;
border:none;
border-radius:10px;
background:#e7f0ff;
color:#1877f2;
font-weight:600;
cursor:pointer;
}

.btn-main{
width:100%;
margin-top:22px;
padding:15px;
border:none;
border-radius:14px;
background:#1877f2;
color:#fff;
font-weight:600;
}

/* =========================
   EMAIL
========================= */
.email-space{
margin-top:22px;
}

/* =========================
   FOTO UPLOAD
========================= */
.photo-box{
margin:20px 0;
display:flex;
flex-direction:column;
gap:12px;
}

.btn-photo{
width:100%;
display:flex;
justify-content:center;
align-items:center;
gap:8px;
padding:12px;
border-radius:10px;
background:#111827;
color:#fff;
font-weight:600;
cursor:pointer;
}

.btn-photo input{
display:none;
}

.preview{
width:100%;
max-height:220px;
object-fit:cover;
border-radius:12px;
border:1px solid #e5e7eb;
}

/* =========================
   RESPONSIVO
========================= */
@media(max-width:768px){
.page{margin-top:65px}
.grid{gap:18px}
}