:root {
  --lpim-primary: #13594f;
  --lpim-secondary: #30875a;
}
.lpim-hero { 
  background: linear-gradient(135deg, var(--lpim-primary), var(--lpim-secondary));
  color:#fff; padding:60px 20px; text-align:center; border-radius:16px;
  font-family: Nunito, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.lpim-hero-logo { width:68px; height:68px; border-radius:12px; margin-bottom:8px; }
.lpim-cta { background:#fff; color:var(--lpim-primary); padding:10px 16px; border-radius:999px; display:inline-block; margin-top:12px; font-weight:700; text-decoration:none;}
.lpim-features { padding:30px 10px; }
.lpim-grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.lpim-card { background:#fff; border:1px solid #e7e7e7; border-radius:16px; padding:16px; box-shadow:0 2px 8px rgba(0,0,0,.04); }

.lpim-app { font-family: Nunito, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.lpim-bar { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; background:#f4f7f6; border-radius:12px; margin-bottom:12px; }
.lpim-brand { display:flex; align-items:center; gap:8px; }
.lpim-brand img { width:32px; height:32px; border-radius:8px; }
.lpim-balance strong { color:var(--lpim-primary); }
.lpim-panels { display:grid; grid-template-columns:2fr 1fr; gap:16px; }
@media (max-width: 980px){ .lpim-panels { grid-template-columns:1fr; } }
.lpim-panel { background:#fff; border:1px solid #eaeaea; border-radius:16px; padding:16px; }
.lpim-panel h3 { margin-top:0; color:var(--lpim-primary); }
.lpim-panel textarea { width:100%; min-height:120px; border-radius:12px; border:1px solid #e1e1e1; padding:10px; }
.lpim-panel .row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:8px 0; }
.lpim-btn { background:linear-gradient(135deg, var(--lpim-primary), var(--lpim-secondary)); color:#fff; padding:10px 14px; border:none; border-radius:12px; cursor:pointer; font-weight:700; }
#lpim-outputs { display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); }
#lpim-outputs img { width:100%; border-radius:12px; border:1px solid #eee; }
.lpim-note { color:#666; font-size:12px; }
.lpim-login-wrap { text-align:center; padding:40px 20px; }
