:root{
  --brand-green:#12A150; /* primario dal mockup (approssimazione) */
  --brand-green-dark:#0E7E3E;
  --brand-accent:#15B863;
  --brand-gray:#6b7280;
  --bg-soft:#f7f7f8;
}
.bg-soft{background:var(--bg-soft);} 
.text-brand{color:var(--brand-green)!important}
.min-vh-100{min-height:100vh; min-height:100svh;}
html, body{height:100%;}
body{overflow-x:hidden;}
.btn-brand{
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--brand-green);
  --bs-btn-border-color:var(--brand-green);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:var(--brand-green-dark);
  --bs-btn-hover-border-color:var(--brand-green-dark);
  --bs-btn-focus-shadow-rgb: 18,161,80;
  --bs-btn-active-bg: var(--brand-green-dark);
  --bs-btn-active-border-color: var(--brand-green-dark);
  color:#fff !important;                 /* fallback esplicito */
  background-color: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
}
.card-tile{border-radius:16px; box-shadow:0 1px 2px rgba(0,0,0,.05); transition:transform .08s ease;}
.card-tile:active{transform:scale(.98)}
.icon-circle{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;background:#fff;border:1px solid #e5e7eb}

/* fix mobile tap highlights */
*{-webkit-tap-highlight-color: rgba(0,0,0,0)}

/* Riduci padding verticale su mobile per evitare scroll quando il contenuto è minimo */
@media (max-width: 576px){
  main.container{padding-top:1rem!important; padding-bottom:1rem!important;}
}
