body{
    background:#f4f6f9;
}

.dashboard-login-body{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
}

.dashboard-login-wrapper{
    width:100%;
    max-width:380px;
    padding:16px;
}

.dashboard-login-card{
    box-shadow:0 4px 24px rgba(0,0,0,.08);
    border:none;
}

.dashboard-navbar{
    background:#1b2635;
}

.dashboard-navbar .navbar-brand,
.dashboard-navbar .nav-link{
    color:#fff !important;
}

.dashboard-hamburguer{
    font-size:1.25rem;
    line-height:1;
}

.dashboard-kpi-card{
    border:none;
    border-left:5px solid transparent;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
    border-radius:10px;
}

.dashboard-kpi-card .kpi-value{
    font-size:1.8rem;
    font-weight:700;
}

.dashboard-chart-tall{
    position:relative;
    height:450px;
}

.dashboard-chart-card{
    border:none;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
    border-radius:10px;
    margin-bottom:24px;
}

.dashboard-filters{
    background:#fff;
    border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
    padding:16px;
    margin-bottom:24px;
}

.dashboard-footer{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:20px;
    border-top:1px solid #e2e5ec;
    background:#fff;
}

.dashboard-footer-logo{
    height:32px;
    width:auto;
}

@media print{
    .no-print{
        display:none !important;
    }
}

.dashboard-sync-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:2000;
    align-items:center;
    justify-content:center;
}

.dashboard-sync-overlay.show{
    display:flex;
}

.dashboard-sync-overlay-content{
    text-align:center;
    color:#fff;
}

.kanban-board{
    display:flex;
    gap:16px;
    overflow-x:auto;
    padding-bottom:8px;
}

.kanban-column{
    background:#fff;
    border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
    min-width:280px;
    max-width:280px;
    display:flex;
    flex-direction:column;
    max-height:calc(100vh - 220px);
}

.kanban-column-header{
    padding:12px 14px;
    border-radius:10px 10px 0 0;
    color:#fff;
    font-weight:600;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.kanban-column-body{
    padding:10px;
    overflow-y:auto;
    flex:1;
}

.kanban-card{
    background:#f8f9fa;
    border:1px solid #e9ecef;
    border-radius:8px;
    padding:10px 12px;
    margin-bottom:10px;
    cursor:pointer;
    transition:box-shadow .15s ease;
}

.kanban-card:hover{
    box-shadow:0 2px 8px rgba(0,0,0,.12);
}

.kanban-card .kanban-card-titulo{
    font-weight:600;
    font-size:.9rem;
    margin-bottom:4px;
}

.kanban-card .kanban-card-meta{
    font-size:.78rem;
    color:#6c757d;
}

.dashboard-info-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:15px;
    height:15px;
    border-radius:50%;
    background:#adb5bd;
    color:#fff;
    font-size:.65rem;
    font-style:normal;
    font-weight:700;
    line-height:1;
    cursor:help;
    margin-left:4px;
}

/* Modais de sincronização com o Pipefy */
.sync-modal .modal-content{ border:0; border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(27,38,53,.35); }
.sync-modal-header{ padding:28px 28px 20px; color:#fff; text-align:center; }
.sync-modal-header.ok{ background:linear-gradient(135deg,#1f9d6b,#2bbf8a); }
.sync-modal-header.warn{ background:linear-gradient(135deg,#d9822b,#f0a44a); }
.sync-modal-header.fail{ background:linear-gradient(135deg,#c0392b,#e0584a); }
.sync-modal-header.info{ background:linear-gradient(135deg,#1b2635,#34495e); }
.sync-modal-icon{ width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.2); display:inline-flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:10px; }
.sync-modal-header h5{ margin:0; font-weight:700; }
.sync-modal-header .sub{ opacity:.85; font-size:13px; margin-top:4px; }
.sync-stat{ background:#f5f7fa; border-radius:12px; padding:14px 8px; text-align:center; height:100%; }
.sync-stat .valor{ font-size:26px; font-weight:700; line-height:1.1; }
.sync-stat .rotulo{ font-size:12px; color:#6b7785; margin-top:2px; }
.sync-stat.novo .valor{ color:#1f9d6b; }
.sync-stat.atualizado .valor{ color:#2f7fd1; }
.sync-stat.erro .valor{ color:#c0392b; }
.sync-secao-titulo{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:#6b7785; font-weight:700; margin:20px 0 8px; }
.sync-tabela{ width:100%; font-size:14px; }
.sync-tabela th{ font-weight:600; color:#6b7785; font-size:12px; border-bottom:1px solid #e5e9ef; padding:6px 4px; }
.sync-tabela td{ padding:8px 4px; border-bottom:1px solid #f0f2f5; }
.sync-tabela th:not(:first-child), .sync-tabela td:not(:first-child){ text-align:right; }
.sync-fase{ display:inline-block; background:#eaf1fb; color:#2f5f9e; border-radius:20px; padding:3px 10px; font-size:12px; margin:0 4px 4px 0; }
.sync-fase.ignorada{ background:#f1f1f1; color:#777; }
.sync-erros{ max-height:160px; overflow:auto; background:#fdf1ef; border:1px solid #f3cdc8; border-radius:10px; padding:10px 12px; font-size:12.5px; color:#8e2a1f; }
.sync-erros li{ margin-bottom:4px; word-break:break-word; }

.dashboard-login-logo{
    display:block;
    max-width:220px;
    width:100%;
    margin:0 auto 20px;
}

.dashboard-navbar-logo{
    height:30px;
    padding:3px 8px;
    margin-right:12px;
    background:#fff;
    border-radius:4px;
}
