/* Area gestore: mobile-first, si appoggia a Bootstrap Italia del tema. */
.cg-area { max-width: 960px; }
.cg-area-nav { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.cg-area-nav .btn { min-height: 44px; display: inline-flex; align-items: center; }
.cg-area-cards { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 768px) { .cg-area-cards { grid-template-columns: 1fr 1fr; } }
.cg-area-cards .card { margin: 0; height: 100%; }
.cg-area-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin: 0 0 1rem; }
@media (min-width: 576px) { .cg-area-stats { grid-template-columns: repeat(6, 1fr); } }
.cg-area-stats div { background: #f2f4f7; border-radius: 4px; padding: .5rem; text-align: center; }
.cg-area-stats dt { font-size: .75rem; font-weight: 400; color: #455b71; }
.cg-area-stats dd { font-size: 1.25rem; font-weight: 700; margin: 0; }
.cg-area-badge { font-size: .7rem; vertical-align: middle; }
.cg-area-thumb { max-width: 160px; height: auto; border-radius: 4px; }
.cg-area-row { margin-bottom: .5rem; }
.cg-area-form .form-group { margin-bottom: 1.5rem; }
.cg-area-form .btn, .cg-area .btn-sm { min-height: 44px; }
.cg-area-login { max-width: 420px; }
.cg-area-login input[type="text"], .cg-area-login input[type="password"] { width: 100%; }
.cg-area a:focus-visible, .cg-area button:focus-visible, .cg-area input:focus-visible, .cg-area select:focus-visible, .cg-area textarea:focus-visible { outline: 3px solid #ff9900; outline-offset: 2px; }
.cg-area-form legend { margin-bottom: 1rem; }
.cg-area-form legend + .form-group { margin-top: 2rem; }
