:root {
    --primary: #1565C0;
    --primary-light: #42A5F5;
    --primary-dark: #0D47A1;
    --accent: #FF9800;
    --success: #4CAF50;
    --danger: #F44336;
    --warning: #FFC107;
    --info: #00BCD4;
}

body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #333;
}

a { color: var(--primary); }

.btn-primary { background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); }
.bg-primary { background-color: var(--primary) !important; }

.status-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-lead { background-color: #E3F2FD; color: #1565C0; }
.status-estimatesent { background-color: #FFF3E0; color: #E65100; }
.status-approved { background-color: #E8F5E9; color: #2E7D32; }
.status-scheduled { background-color: #F3E5F5; color: #6A1B9A; }
.status-checkedin { background-color: #E0F7FA; color: #00838F; }
.status-inprogress { background-color: #FFF8E1; color: #F57F17; }
.status-qualitycheck { background-color: #FCE4EC; color: #AD1457; }
.status-completed { background-color: #E8F5E9; color: #1B5E20; }
.status-invoiced { background-color: #EDE7F6; color: #4527A0; }
.status-closed { background-color: #ECEFF1; color: #546E7A; }

.status-draft { background-color: #ECEFF1; color: #546E7A; }
.status-sent { background-color: #E3F2FD; color: #1565C0; }
.status-paid { background-color: #E8F5E9; color: #1B5E20; }
.status-partiallypaid { background-color: #FFF8E1; color: #F57F17; }
.status-overdue { background-color: #FFEBEE; color: #C62828; }
.status-void { background-color: #ECEFF1; color: #90A4AE; }

.stat-card {
    background: white;
    border-radius: 8px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
    border-left: 4px solid var(--primary);
}

.stat-card .stat-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: #333;
}

.stat-card .stat-label {
    font-size: 0.8rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.clickable-row { cursor: pointer; }
.clickable-row:hover { background-color: #F5F5F5; }

.loading-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

/* Logo classes */
.navbar-logo { height: 40px; width: auto; }
.sidebar-logo { height: 32px; width: auto; }
.hero-logo { height: 120px; width: auto; }
.login-logo { height: 80px; width: auto; }
.footer-logo { height: 36px; width: auto; }
