
.lsfi-cat-pro,.lsfi-portal,.lsfi-devis-pro{font-family:Arial,sans-serif;background:#f7fbff;padding:70px 6%;color:#071426}
.lsfi-cat-head{max-width:1300px;margin:auto auto 30px;display:grid;grid-template-columns:1fr 360px;gap:25px;align-items:end}
.lsfi-cat-head span,.lsfi-devis-card span{color:#b8860b;text-transform:uppercase;font-weight:900;letter-spacing:4px}
.lsfi-cat-head h1,.lsfi-portal-hero h1,.lsfi-devis-card h1{font-size:48px;line-height:1;margin:10px 0;text-transform:uppercase}
.lsfi-cat-head input{padding:17px 18px;border:1px solid #dce8f2;border-radius:16px;font-weight:700}
.lsfi-cat-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lsfi-cat-card{background:#fff;border-radius:26px;overflow:hidden;border:1px solid #dce8f2;box-shadow:0 20px 55px rgba(7,20,38,.09);transition:.3s}
.lsfi-cat-card:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(7,20,38,.16)}
.lsfi-cat-card .img{position:relative;height:250px;background:#eef6fb}.lsfi-cat-card img{width:100%;height:100%;object-fit:cover}
.lsfi-cat-card .img b{position:absolute;top:15px;right:15px;background:#d6a113;color:#071426;padding:8px 12px;border-radius:99px}
.lsfi-cat-card .body{padding:24px}.lsfi-cat-card small{font-weight:900;color:#07aeea}.lsfi-cat-card h3{font-size:25px;margin:8px 0;text-transform:uppercase}
.lsfi-cat-card p{color:#536173;line-height:1.55}.actions{display:flex;gap:8px;flex-wrap:wrap}
.actions a,.lsfi-portal a{display:inline-block;border-radius:12px;padding:10px 12px;text-decoration:none;font-weight:900}
.actions .pdf{background:#eef6fb;color:#071426}.actions .quote{background:#071426;color:#fff}.actions .wa,.lsfi-portal .pay{background:#16a34a;color:#fff}
.lsfi-login-card,.lsfi-devis-card,.lsfi-portal-card{max-width:1100px;margin:auto;background:#fff;border-radius:28px;padding:35px;box-shadow:0 22px 70px rgba(7,20,38,.10);border:1px solid #dce8f2}
.lsfi-portal-hero{max-width:1200px;margin:auto auto 25px;background:linear-gradient(135deg,#071426,#083d5c);color:#fff;border-radius:30px;padding:45px}
.lsfi-portal-kpis{max-width:1200px;margin:auto auto 25px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lsfi-portal-kpis div{background:#fff;border-radius:20px;padding:20px;border:1px solid #dce8f2}.lsfi-portal-kpis span{display:block;color:#65748b;font-weight:800}.lsfi-portal-kpis strong{font-size:24px;color:#07aeea}
.lsfi-portal table{width:100%;border-collapse:collapse}.lsfi-portal th{background:#071426;color:#fff;padding:14px;text-align:left}.lsfi-portal td{padding:14px;border-bottom:1px solid #e2edf5}
.lsfi-devis-card form{display:grid;gap:13px}.lsfi-devis-card input,.lsfi-devis-card select,.lsfi-devis-card textarea{padding:16px;border:1px solid #dce8f2;border-radius:14px;font-weight:700}.lsfi-devis-card textarea{min-height:120px}.lsfi-devis-card button{background:linear-gradient(135deg,#ffd85a,#d6a113);border:0;border-radius:14px;padding:17px;font-weight:900;cursor:pointer}
@media(max-width:1000px){.lsfi-cat-head{grid-template-columns:1fr}.lsfi-cat-grid{grid-template-columns:1fr 1fr}.lsfi-portal-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.lsfi-cat-grid,.lsfi-portal-kpis{grid-template-columns:1fr}.lsfi-cat-head h1,.lsfi-portal-hero h1,.lsfi-devis-card h1{font-size:34px}}
