/* ─── GLOBAL ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    background: #F5F5F5;
    color: #212121;
}

/* ─── UTILITIES ──────────────────────────────────────────────── */
.fw-bold  { font-weight: 700 !important; }
.fw-600   { font-weight: 600 !important; }
.cursor-pointer { cursor: pointer; }
.overflow-x-auto { overflow-x: auto; }
.gap-1 { gap: 4px; }
.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.text-uppercase { text-transform: uppercase; }
.rounded-xl { border-radius: 12px !important; }
.rounded-lg { border-radius: 8px !important; }

/* ─── SCROLLBAR ──────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #BDBDBD; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #9E9E9E; }

/* ─── MUD OVERRIDES ──────────────────────────────────────────── */
.mud-nav-link { border-radius: 8px !important; margin: 2px 8px !important; }
.mud-nav-link.active { background: rgba(25, 118, 210, 0.12) !important; color: #1976D2 !important; }
.mud-nav-link:hover { background: rgba(0, 0, 0, 0.06) !important; }
.mud-drawer { border-right: 1px solid rgba(0,0,0,0.08) !important; }

/* ─── KANBAN ─────────────────────────────────────────────────── */
.kanban-column { min-width: 260px; max-width: 280px; }
.kanban-card { transition: box-shadow 0.2s ease, transform 0.1s ease; }
.kanban-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important; transform: translateY(-2px); }

/* ─── TABLE HOVER ────────────────────────────────────────────── */
.mud-table-row:hover td { background: rgba(25, 118, 210, 0.04) !important; }

/* ─── CARD HOVER ─────────────────────────────────────────────── */
.mud-card { transition: box-shadow 0.2s ease, transform 0.15s ease !important; }
.mud-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important; transform: translateY(-2px); }

/* ─── STATUS BADGES ──────────────────────────────────────────── */
.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* ─── SIDEBAR NAV GROUPS ─────────────────────────────────────── */
.mud-nav-group .mud-nav-group-title { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.8px; color: #9E9E9E; text-transform: uppercase; padding: 8px 16px 4px; }
.mud-nav-group-content { padding-left: 8px; }

/* ─── APPBAR SEARCH ──────────────────────────────────────────── */
.mud-input-root { transition: background 0.2s ease; }

/* ─── PROGRESS BARS ──────────────────────────────────────────── */
.mud-linear-progress { border-radius: 4px !important; }

/* ─── CHIPS ──────────────────────────────────────────────────── */
.mud-chip { font-size: 0.72rem !important; }

/* ─── PAGE TITLE ─────────────────────────────────────────────── */
.page-header { margin-bottom: 24px; }
.page-header h5 { margin: 0 0 4px; }

/* ─── DASHBOARD CARDS ────────────────────────────────────────── */
.kpi-icon-bg {
    position: absolute;
    top: -20px; right: -20px;
    width: 90px; height: 90px;
    border-radius: 50%;
    opacity: 0.12;
}

/* ─── NOTIFICATION BADGE ─────────────────────────────────────── */
.notification-dot {
    position: absolute;
    top: 8px; right: 8px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #f44336;
}

/* ─── MOBILE RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 600px) {
    .mud-container { padding: 8px !important; }
    .d-none.d-md-block { display: none !important; }
    .d-none.d-md-flex { display: none !important; }
}

/* ─── PRINT ──────────────────────────────────────────────────── */
@media print {
    .mud-appbar, .mud-drawer, .mud-snackbar-location { display: none !important; }
    .mud-main-content { margin-left: 0 !important; margin-top: 0 !important; }
}

/* ─── BLAZOR ERROR UI ────────────────────────────────────────── */
#blazor-error-ui { display: none; }
