﻿html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 15px;
    }
}

body {
    margin-bottom: 60px;
}

a {
    text-decoration: none;
}
/* =========================
   Dashboard v2 helpers
   ========================= */

.dash-card {
    border-radius: 18px;
}

.dash-illus {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    flex: 0 0 auto;
}

/* se nel tuo sito le card sono già tonde, questa puoi anche non metterla */
.card {
    border-radius: 18px;
}
/* =========================
   Dashboard v2 typography
   ========================= */
.dashboard-v2 h1 {
    font-size: 2rem;
}

.dashboard-v2 .subtitle {
    font-size: 1.05rem;
}

.dashboard-v2 .kpi-title {
    font-size: 0.95rem;
}

.dashboard-v2 .kpi-value {
    font-size: 2.1rem;
    line-height: 1.1;
    font-weight: 700;
}

.dashboard-v2 .card-title {
    font-size: 1.25rem;
    font-weight: 700;
}

.dashboard-v2 .card-desc {
    font-size: 1rem;
}

.dashboard-v2 .metric-label {
    font-size: 0.95rem;
    color: rgba(0,0,0,.55);
}

.dashboard-v2 .metric-value {
    font-size: 1rem;
    font-weight: 700;
}

.dashboard-v2 .dash-card {
    border-radius: 18px;
}

.dashboard-v2 .dash-illus {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* =========================
   Dashboard v2 (look come mock)
   ========================= */
.dashboard-v2 .dash-title {
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.1;
}

.dashboard-v2 .dash-subtitle {
    font-size: 1.05rem;
}

.dashboard-v2 .kpi,
.dashboard-v2 .main,
.dashboard-v2 .side,
.dashboard-v2 .mini {
    border-radius: 18px;
}

.dashboard-v2 .illus {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex: 0 0 auto;
}

.dashboard-v2 .kpi-label {
    font-size: .95rem;
}

.dashboard-v2 .kpi-value {
    font-size: 2.1rem;
    font-weight: 900;
    line-height: 1.05;
}

.dashboard-v2 .kpi-money {
    font-size: 1.7rem;
    font-weight: 900;
    line-height: 1.1;
}

.dashboard-v2 .badge-soft {
    display: inline-block;
    padding: .25rem .6rem;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 800;
    margin-top: .25rem;
}

    .dashboard-v2 .badge-soft.success {
        background: rgba(25,135,84,.12);
        color: #198754;
    }

    .dashboard-v2 .badge-soft.danger {
        background: rgba(220,53,69,.12);
        color: #dc3545;
    }

    .dashboard-v2 .badge-soft.warning {
        background: rgba(255,193,7,.18);
        color: #b58100;
    }

    .dashboard-v2 .badge-soft.neutral {
        background: rgba(108,117,125,.15);
        color: #6c757d;
    }

.dashboard-v2 .section-title {
    font-size: 1.05rem;
    font-weight: 900;
    margin-top: .2rem;
}

.dashboard-v2 .main-title {
    font-size: 1.25rem;
    font-weight: 900;
}

.dashboard-v2 .main-desc {
    font-size: 1rem;
}

.dashboard-v2 .pill {
    padding: .25rem .6rem;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 700;
}

    .dashboard-v2 .pill.primary {
        background: rgba(13,110,253,.12);
        color: #0d6efd;
    }

    .dashboard-v2 .pill.success {
        background: rgba(25,135,84,.12);
        color: #198754;
    }

    .dashboard-v2 .pill.warning {
        background: rgba(255,193,7,.18);
        color: #b58100;
    }

    .dashboard-v2 .pill.info {
        background: rgba(13,202,240,.18);
        color: #055160;
    }

    .dashboard-v2 .pill.neutral {
        background: rgba(108,117,125,.15);
        color: #6c757d;
    }

.dashboard-v2 .side-title {
    font-size: 1.1rem;
    font-weight: 900;
}

.dashboard-v2 .mini .mini-big {
    font-size: 1.25rem;
    font-weight: 900;
}

.dashboard-v2 .mini .mini-title {
    font-size: 1rem;
    font-weight: 900;
    margin-top: .25rem;
}

.dashboard-v2 .mini .mini-sub {
    font-size: .95rem;
}
/* =========================
   Azioni Rapide - Soft Color Fisso
   ========================= */

.dashboard-v2 .quick-actions .btn {
    border-width: 2px;
    font-weight: 600;
    transition: all 0.15s ease;
}

/* Blu */
.dashboard-v2 .quick-actions .btn-outline-primary {
    background-color: rgba(13, 110, 253, 0.08);
}

/* Verde */
.dashboard-v2 .quick-actions .btn-outline-success {
    background-color: rgba(25, 135, 84, 0.08);
}

/* Grigio */
.dashboard-v2 .quick-actions .btn-outline-secondary {
    background-color: rgba(108, 117, 125, 0.08);
}

/* Azzurro */
.dashboard-v2 .quick-actions .btn-outline-info {
    background-color: rgba(13, 202, 240, 0.10);
}

/* Hover leggermente più marcato */
.dashboard-v2 .quick-actions .btn:hover {
    filter: brightness(0.96);
}
/* SVG “illustrations” stile immagine 2 */
.dashboard-v2 .svg-illus {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    overflow: hidden;
}

    .dashboard-v2 .svg-illus.big {
        width: 72px;
        height: 72px;
        border-radius: 20px;
    }

    .dashboard-v2 .svg-illus img {
        width: 86px;
        height: 86px;
        display: block;
        transform: translateY(2px);
    }

.dashboard-v2 .bg-soft-primary {
    background: rgba(13,110,253,.10);
}

.dashboard-v2 .bg-soft-success {
    background: rgba(25,135,84,.10);
}

.dashboard-v2 .bg-soft-warning {
    background: rgba(255,193,7,.12);
}

.dashboard-v2 .bg-soft-danger {
    background: rgba(220,53,69,.10);
}

.dashboard-v2 .bg-soft-info {
    background: rgba(13,202,240,.12);
}

/* Ultimi movimenti */
.dashboard-v2 .mov-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    margin-top: 6px;
    display: inline-block;
}

.dashboard-v2 .dot-primary {
    background: #0d6efd;
}

.dashboard-v2 .dot-success {
    background: #198754;
}

.dashboard-v2 .dot-info {
    background: #0dcaf0;
}

.dashboard-v2 .dot-neutral {
    background: #adb5bd;
}