/**
 * Sales Dashboard - Base Frontend Styles
 */

.sales-dashboard-wrapper {
    --sd-primary: #1890ff;
    --sd-primary-hover: #40a9ff;
    --sd-text-color: #333;
    --sd-text-secondary: #666;
    --sd-bg-color: #fff;
    --sd-bg-secondary: #f5f5f5;
    --sd-border-color: #e8e8e8;
    --sd-error-color: #ff4d4f;
    --sd-success-color: #52c41a;
    --sd-warning-color: #faad14;

    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: var(--sd-text-color);
    background: var(--sd-bg-color);
    min-height: 400px;
}

/* Dark mode support */
.sales-dashboard-wrapper.sd-dark-mode {
    --sd-text-color: #e0e0e0;
    --sd-text-secondary: #a0a0a0;
    --sd-bg-color: #1a1a1a;
    --sd-bg-secondary: #2d2d2d;
    --sd-border-color: #404040;
}

/* Loading state */
.sd-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    color: var(--sd-text-secondary);
}

.sd-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--sd-border-color);
    border-top-color: var(--sd-primary);
    border-radius: 50%;
    animation: sd-spin 0.8s linear infinite;
    margin-bottom: 16px;
}

@keyframes sd-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Error message */
.sd-error {
    padding: 20px;
    background: #fff2f0;
    border: 1px solid #ffccc7;
    border-radius: 4px;
    color: var(--sd-error-color);
    text-align: center;
}

.sd-dark-mode .sd-error {
    background: #2a1f1f;
    border-color: #5c3c3c;
}

/* Basic layout reset for Vue app container */
#sales-dashboard-app {
    box-sizing: border-box;
}

#sales-dashboard-app *,
#sales-dashboard-app *::before,
#sales-dashboard-app *::after {
    box-sizing: inherit;
}

/* Ensure page content doesn't interfere with dashboard */
.sales-dashboard-wrapper img {
    max-width: 100%;
    height: auto;
}

/* Links inherit text color by default */
.sales-dashboard-wrapper a {
    color: inherit;
    text-decoration: none;
}

.sales-dashboard-wrapper a:hover {
    text-decoration: underline;
}

/* Explicit primary-colored links when needed */
.sales-dashboard-wrapper .sd-link {
    color: var(--sd-primary);
}

.sales-dashboard-wrapper .sd-link:hover {
    color: var(--sd-primary-hover);
}
