:root {
    /* --- Bozzetto Primary Palette --- */
    --bzt-primary: #1e4a8d;
    --bzt-primary-hover: #153566;
    --bzt-primary-active: #0d2341;
    --bzt-primary-light: #e8f0fe;
    --bzt-primary-border: #1e4a8d;
    --bzt-primary-shadow: rgba(30, 74, 141, 0.35);
    --bzt-primary-text: #ffffff;

    /* --- Functional Colors --- */
    --bzt-success: #00c292;
    --bzt-info: #03a9f3;
    --bzt-warning: #fec107;
    --bzt-danger: #e46a76;
    --bzt-secondary: #6c757d;

    /* --- UI Components --- */
    --bzt-bg-body: #f8f9fa;
    --bzt-bg-card: #ffffff;
    --bzt-bg-sidebar: #ffffff;
    --bzt-bg-topbar: #1e4a8d;

    /* --- Text Colors --- */
    --bzt-text-main: #333333;
    --bzt-text-muted: #888888;
    --bzt-text-light: #ffffff;
}

/* Global Overrides and Utility Linkage */
.btn-primary {
    background-color: var(--bzt-primary) !important;
    border-color: var(--bzt-primary-border) !important;
    color: var(--bzt-primary-text) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.active {
    background-color: var(--bzt-primary-hover) !important;
    border-color: var(--bzt-primary-active) !important;
    color: var(--bzt-primary-text) !important;
}

.skin-default .topbar {
    background: var(--bzt-bg-topbar) !important;
}

.text-primary {
    color: var(--bzt-primary) !important;
}

.bg-primary {
    background-color: var(--bzt-primary) !important;
}

.btn-primary {
    box-shadow: 0 4px 15px var(--bzt-primary-shadow) !important;
    transition: all 0.3s ease !important;
}

.btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px var(--bzt-primary-shadow) !important;
}